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) の最新バージョンをインストールすることで解決できます。

これら2つは異なるプロジェクトですがとても似ている構文と機能の面で、最新バージョンを入手するのは「静的ビルド」をダウンロードするのと同じくらい簡単です。ffmpeg.org、すべての主要なオペレーティング システム用に存在します。コンパイルは不要で、抽出して実行します。

avconv の場合、Windows ビルドのみが存在するため、自分でコンパイルする必要があります。

一般に、avconv と ffmpeg では、標準ディストリビューションがパッケージ ソースで提供しているバージョンではなく、最新バージョンを使用することをお勧めします。

関連情報