web-dev-qa-db-ja.com

.aviコンテナから.mp4に変換する方法

次のストリームを含む.aviファイルがあります。

Stream #0.0: Video: mpeg4 (Advanced Simple Profile), yuv420p, 608x256 [PAR 1:1 DAR 19:8], 23.98 tbn, 23.98 tbc

Stream #0.1: Audio: mp3, 48000 Hz, stereo, s16p, 128 kb/s

述べたようにmpeg4ビデオストリームをサポートすることになっているiPhoneでこの映画を再生したい 前の質問で 。今のところ、私はオーディオストリームを気にしません(mp3はiPhoneでサポートされていないようです)

結果として、ファイルの「コンテナ」形式を、iPhoneで必要な.aviから.mp4に変換する方法を探しています。それは実行可能ですか?はいの場合、どうすればよいですか?

1
Manuel Selva

おそらく、avconvでもそれを行う方法を追加する必要があります。

avconv -i input.avi -c:v copy -c:a copy output.mp4

ソースからlibavをコンパイルしてそれを行う場合は、mp4マルチプレクサが有効になっていることを確認する必要があります。あなたはそれをすることができます

./configure [your other options] --enable-muxer=mp4

通常はデフォルトで有効になっていますが、通常のオプションのどこかで--disable-everythingまたは--disable-muxersを使用している場合に備えてここで提供します。

2
v010dya

ffmpegを使用すると、コンテナ形式のみを変更するのは簡単で、再エンコードせずにすべてのストリームを ストリームコピー (再mux)するだけです。

ffmpeg -i input.avi -map 0 -codec copy output.mov

.mov拡張子を指定する場合、ffmpegは拡張子から推測するため、-f movを省略できます。本当にいくつかのストリームを削除したい場合は、-mapオプションをチェックして、デフォルトの ストリーム選択 について読んでください。

4
biskitt

いつでもmencoderを使用できます

詳細はこちら: メンコーダーを使用したiPhone用のエンコードビデオ

0
Gipsz Jakab

これは私が使用するものです:

ffmpeg -y -i %INFILE% -vcodec mpeg4 -r 65535/2733 -vb 600k -acodec libvo_aacenc -ac 1 -ab 94000 -ar 16000 -s 480x320 %OUTFILE%.new.mp4

これはDOSバッチスクリプトから取得されているため、変数を少し更新する必要がある場合があります。

画面の解像度は私の携帯電話用に最適化されているので、それも変更する必要があるかもしれません。または、そのままにしておくこともできます。

-vbはビデオのビットレートです。超高速のビデオは必要ないので、この値に縮小することがよくあります。繰り返しますが、必要に応じてこれを省略できます。

0
captcha
ffmpeg -i input.avi -c:v libx264 -profile:v baseline -level 3.0 -c:a copy output.mp4

これにより、ビデオがh.264で再エンコードされますが、すべてのiPhoneで機能するはずです。

0
Equanox