/var/www/yatta47.log

やったのログ置場です。スクラップみたいな短編が多いかと。

could not find tag, codec not currently supported in containerというエラーが出た時の対処。

ffmpegでflvをmp4にファイル変換している時にこんなエラーが出た。

それを解消した時の備忘録。

参考にしたサイトはこちら。

.MOV to .MP4: codec not supported in container? • FFmpeg Support Forum

発生したエラーはこちら。

    Stream #0.0: Video: vp6f, yuv420p, 463x275, 1086 kb/s, 30 tbr, 1k tbn, 1k tbc
    Stream #0.1: Audio: mp3, 44100 Hz, stereo, s16, 134 kb/s
[mp4 @ 0x4b140] track 0: could not find tag, codec not currently supported in container

-vcodecの値としてはcopyにしていた。そうしたら
「could not find tag, codec not currently supported in container」
だった。

見た目の通り、変換後のコンテナー(mp4)がサポートしていないという意味らしい。flvとmp4のコンテナーの作りの違いがよくわかっていないのだけれど、ちゃんとコーデック指定してあげることにした。

ffmpeg -i movie.flv -vcodec libx264 -acodec copy movie.mp4

そうしたらエラーは消えたが今度はサイズがよろしくないというエラーがorz

[libx264 @ 0x40ec0] width not divisible by 2 (463x275)

幅が2の倍数でないということかな?

ってことでアスペクト比とかは別にして変換後の動画サイズを2の倍数に指定。

ffmpeg -i movie.flv -vcodec libx264 -s 464x276-acodec copy movie.mp4

よし。ちゃんと変換されている。

MPEG4入門―「圧縮の基本」から「MPEGの基本」「MPEG4の実際」まで (I・O BOOKS)

MPEG4入門―「圧縮の基本」から「MPEGの基本」「MPEG4の実際」まで (I・O BOOKS)

Real Time Web Analytics