[quote="lsuksl":3gsunr5p][quote="pamisu1":3gsunr5p]디비디 굽기로 2개는 정상 재생되고, 1개는 소리가 안나고, 3개는 재생이 안되었다는 걸로 보아
다행히 디빅스플레이어가 매체는 인식하는 것 같습니다.
그렇다면 코덱문제인 것 같네요.
디빅스플레이어가 어떤 코덱을 지원하는지 모르겠는데, 보통 mpeg4 코덱과 mp3 코덱은 대부분 지원할 것입니다.
(디빅스플레이어 안내책자나 아니면 인터넷에서 그 제품이 어떤 코덱을 지원하는지 찾아 보세요.)
그러니까 소리가 안나는 파일, 예를 들어 abc.avi 이라면 (원본이 1000k, 128k 라고 가정하겠습니다.)
ffmpeg - i abc.avi -vcodec copy -acodec libmp3lame -ab 128k new.avi
처럼 오디오 코덱을 mp3 형식으로 바꿔서 재인코딩한 후에 그걸 데이터굽기로 구우면 될 것 같습니다.
재생이 안되는 것은 비디오코덱까지 바꿔서 재인코딩해 보시고요. 아래처럼요.
ffmpeg -i abc.avi -vcodec mpeg4 -b 1000k -acodec libmp3lame -ab 128k new.avi
다른 동영상 편집/인코딩 프로그램도 찾아보면 많이 있으니까 다른 프로그램을 쓰셔도 좋습니다.
중요한 건 디빅스플레이어가 지원하는 코덱과 콘테이너로 재인코딩해야 한다는 거니까요.
ffmpeg 를 설치한 후 non-free-codces 를 설치해야 mpeg4,libmp3lame,libx264,libxvid,…코덱을 이용할 수 있습니다.
ps.
드물지만 어떤 경우에는 디빅스플레이어가 한글이름 인식에 문제가 있는 경우도 있습니다.
코덱까지 바꿨는데 문제가 생긴다면 avi와 smi 파일을 같은 이름의 영어로 바꿔보세요.
bcd.avi 와 bcd.smi 처럼요.[/quote:3gsunr5p]
설명해주신 부분 중에, 파일명을 영어로 바꾸고, 나머지는 비디오코덱을 재인코딩해서 해결을 했습니다.
다만 소리가 안나는 파일은 mp3형식으로 인코딩하려고 터미널에서 시도했습니다만 에러 메시지가 나왔습니다.
FFmpeg version 0.5-svn17737+3:0.svn20090303-1ubuntu6, Copyright (c) 2000-2009 Fabrice Bellard, et al.
configuration: --enable-gpl --enable-postproc --enable-swscale --enable-x11grab --extra-version=svn17737+3:0.svn20090303-1ubuntu6 --prefix=/usr --enable-avfilter --enable-avfilter-lavf --enable-libgsm --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libvorbis --enable-pthreads --disable-stripping --disable-vhook --enable-libdc1394 --enable-shared --disable-static
libavutil 49.15. 0 / 49.15. 0
libavcodec 52.20. 0 / 52.20. 0
libavformat 52.31. 0 / 52.31. 0
libavdevice 52. 1. 0 / 52. 1. 0
libavfilter 0. 4. 0 / 0. 4. 0
libswscale 0. 7. 1 / 0. 7. 1
libpostproc 51. 2. 0 / 51. 2. 0
built on Apr 10 2009 23:20:33, gcc: 4.3.3
Input #0, avi, from ‘13districtCD1.avi’:
Duration: 00:38:06.84, start: 0.000000, bitrate: 2565 kb/s
Stream #0.0: Video: mpeg4, yuv420p, 720x304 [PAR 1:1 DAR 45:19], 25 tbr, 25 tbn, 25 tbc
Stream #0.1: Audio: dca, 48000 Hz, 5.0, s16, 754 kb/s
Output #0, avi, to ‘new.avi’:
Stream #0.0: Video: mpeg4, yuv420p, 720x304 [PAR 1:1 DAR 45:19], q=2-31, 90k tbn, 25 tbc
Stream #0.1: Audio: libmp3lame, 48000 Hz, 5.0, s16, 128 kb/s
Stream mapping:
Stream #0.0 -> #0.0
Stream #0.1 -> #0.1
Error while opening codec for output stream #0.1 - maybe incorrect parameters such as bit_rate, rate, width or height
무슨 말인지 이해가 안되는데 설명 좀 부탁드려도 될까요?
아무튼 요거 말고는 다 해결됐습니다. 정말 감사합니다 [/quote:3gsunr5p]
불러온 동영상의 속성
Input #0, avi, from ‘13districtCD1.avi’:
Duration: 00:38:06.84 <–동영상의 시간 , start: 0.000000, bitrate: 2565 kb/s 영상의 초당 재생 값 .아주 고화질의 동영상입니다.
Stream #0.0: Video: mpeg4<–비디오형식 , yuv420p,<–비디오코덱은 yuv .720x304 [PAR 1:1 DAR 45:19], 25 tbr, 25 tbn, 25 tbc
Stream #0.1: Audio: dca<–오디오형식인지 아니면 코덱인지?, 48000 Hz <—오디오재생시 품질 , 5.0, s16, 754 kb/s <–초당 754kb로 재생
편집 후의 속성
Output #0, avi, to ‘new.avi’:
Stream #0.0: Video: mpeg4, yuv420p, 720x304 [PAR 1:1 DAR 45:19], q=2-31, 90k tbn, 25 tbc
Stream #0.1: Audio: libmp3lame <–오디오코덱이 mp3형식 , 48000 Hz , 5.0, s16, 128 kb/s<–음악 시디에서 보이는 음질. 라디오방송은 아마 64kb/s
Stream mapping:
Stream #0.0 -> #0.0
Stream #0.1 -> #0.1 <—아마도 0.1초부분부터 소리가 나오기 시작
Error while opening codec for output stream #0.1 <–오디오코덱이 열리는 위치인 파일의 0.1초 위치에서 에러 발생 - maybe incorrect parameters such as bit_rate, rate, width or height <–비트레이트,레이트 ,영상의 폭과 높이처럼 부정확한 파라메터에서 원인이라고 추정?
윗분( pamisu)처럼 오디오의 품질인 48000 Hz를 더 낮은 수치의 헤르쯔로 바꾸는 것으로 해결이 되지는 않을 것으로 보입니다. 그래도 한번 시도는 해보세요.
만약 에러가 바로잡아 지지 않는다면 다음처럼 해보세요.
오디오를 재생하려면 압축(코덱)된 것을 풀어(디코덱)야 하는데 원본파일인 동영상에서 시작 후 0.1초 부분에서 코덱에 에러가 발생한 경우라는 뜻으로 보입니다. 이런 경우 리눅스에서 어떻게 하는지 리눅스 초보라 잘 알지 못하네요. 위 프로그램을 아직 실행을 해본적이 없네요. 그렇지만 윈도라면 버추얼덥으로 이런 오디오의 에러를 보정할 수 있습니다. 버추얼덥으로 동영상을 불러 오면 이런 오디오 부분의 에러를 자동으로 수정합니다.
불러 와서 save as 하여 오디오 코덱을 mp3로 설정하고 비디오는 다이렉트스트림카피(무변환원본 그대로 저장)하면 원본의 동영상은 화질의 저하없이 오디오의 코덱을 바꾸거나 에러의 경우 수정이 됩니다.
그러나 이 프로그램에 대한 개념이 없다면 약간의 공부가 필요합니다.