비디오를 병합하지 않는 avconv로 오디오와 비디오를 결합합니다.

비디오를 병합하지 않는 avconv로 오디오와 비디오를 결합합니다.

이상한 형식으로 보이는 YouTube의 찢어진 스트림을 결합하려고 합니다. 아무튼 영상과 음성이 저절로 재생되는 것 같은데, 합치려고 보니 파일 크기가 음성 파일의 원래 크기보다 조금 더 커져서 별 효과가 없는 것 같습니다.

jonathan@localhost:~/foo$ avconv -i video.mp4 -i audio.m4a -c copy audio_and_video.mp4
avconv version 0.8.16-6:0.8.16-1, Copyright (c) 2000-2014 the Libav developers
  built on Sep 16 2014 23:10:48 with gcc 4.7.2
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'video.mp4':
  Metadata:
    major_brand     : dash
    minor_version   : 0
    compatible_brands: iso6avc1mp41
    creation_time   : 2014-12-06 03:30:37
  Duration: 00:31:35.36, start: 947.680067, bitrate: 1939 kb/s
    Stream #0.0(und): Video: h264 (High), yuv420p, 1920x1080 [PAR 1:1 DAR 16:9], 29.97 tbr, 90k     tbn, 59.94 tbc
    Metadata:
      creation_time   : 2014-12-06 03:30:37
Input #1, mov,mp4,m4a,3gp,3g2,mj2, from 'audio.m4a':
  Metadata:
    major_brand     : dash
    minor_version   : 0
    compatible_brands: iso6mp41
    creation_time   : 2014-12-13 10:25:20
  Duration: 00:31:35.42, start: 947.745193, bitrate: 64 kb/s
    Stream #1.0(und): Audio: aac, 44100 Hz, stereo, s16
    Metadata:
      creation_time   : 2014-12-13 10:25:20
Output #0, mov, to 'audio_and_video.mov':
  Metadata:
    major_brand     : dash
    minor_version   : 0
    compatible_brands: iso6avc1mp41
    creation_time   : 2014-12-06 03:30:37
    encoder         : Lavf53.21.1
    Stream #0.0(und): Video: libx264, yuv420p, 1920x1080 [PAR 1:1 DAR 16:9], q=2-31, 90k tbn, 90k tbc
    Metadata:
      creation_time   : 2014-12-06 03:30:37
    Stream #0.1(und): Audio: aac, 44100 Hz, stereo
    Metadata:
      creation_time   : 2014-12-13 10:25:20
Stream mapping:
  Stream #0:0 -> #0:0 (copy)
  Stream #1:0 -> #0:1 (copy)
Press ctrl-c to stop encoding
frame=    0 fps=  0 q=-1.0 Lsize=   14892kB time=947.68 bitrate= 128.7kbits/s
video:0kB audio:14530kB global headers:0kB muxing overhead 2.493168%

그리고 몇 가지 추가 정보:

jonathan@localhost:~/foobar$ file audio.m4a
audio.m4a: ISO Media
jonathan@localhost:~/foobar$ file video.mp4
video.mp4: ISO Media
jonathan@localhost:~/foobar$ file audio_and_video.mp4
audio_and_video.mp4: ISO Media, MPEG v4 system, version 1
jonathan@localhost:~/foobar$ ls -lh
total 468M
-rw-r--r-- 1 jonathan jonathan  15M Mar 12 12:29 audio_and_video.mp4
-rw-r--r-- 1 jonathan jonathan  15M Dec 14 23:50 audio.m4a
-rw-r--r-- 1 jonathan jonathan 439M Dec 14 23:50 video.mp4

내가 뭘 잘못하고 있는지, 어떻게 고칠 수 있는지에 대한 아이디어를 주시면 대단히 감사하겠습니다.

감사합니다.

답변1

avconv 0.8.6은 약간 오래되었으므로 avconv(또는 질문 태그에 표시한 ffmpeg)의 최신 버전을 설치하면 해결할 수 있는 버그처럼 보입니다.

참고로 이 둘은프로젝트는 다르지만매우비슷한구문 및 기능 측면에서 최신 버전을 얻는 것은 다음에서 "정적 빌드"를 다운로드하는 것만큼 간단합니다.ffmpeg.org, 이는 모든 주요 운영 체제에 존재합니다. 컴파일이 필요하지 않습니다. 추출하고 실행하세요.

avconv의 경우 Windows 빌드만 존재하므로 직접 컴파일해야 합니다.

일반적으로 avconv 및 ffmpeg를 사용하면 표준 배포판이 패키지 소스에서 제공하는 것보다 최신 버전을 사용하는 것이 좋습니다.

관련 정보