MP4に変換したいFLVファイルをダウンロードしました。それらはすでに正しい形式になっているので、私がする必要があるのは、コピー/パススルーを使用してビデオとオーディオのストリームをMP4コンテナにリマックスすることだけだと言われています。
私はWindows7 64ビットを使用しており、get_iPlayerの一部としてすでにFFmpegを使用しています。
このためのコマンドラインを作成するのに苦労していますか?
また、同じ方法で多数のFLVファイルをバッチ処理することは可能でしょうか?
次のようになります。
ffmpeg -i yourvideo.flv -codec copy output.mp4
FORコマンドを使用してファイルをループできます(ツリーを再帰的に下に移動します)。
FOR /R C:\dir\ %%F IN (*.flv) do ffmpeg -i "%%F" -codec copy "%~nF.mp4"
明確にするために、%〜nFはファイル名のname部分のみを返します(拡張子なし)。
それらはすでに正しい形式になっています
.flvビデオは、さまざまな種類のオーディオとビデオを含むことができる複雑なファイルです。 .flvファイルのオーディオおよびビデオコーデックを確認するには、次を使用できます。
1。ffmpeg
ffmpeg -i video.flv
これは(あなたの場合)次の行に沿って何かを出力する必要があります:
Input #0, flv, from 'video.flv':
Duration: 00:05:01.20, start: 0.000000, bitrate: 66 kb/s
Stream #0.0: Video: h264, yuv420p, 320x240 [PAR 1:1 DAR 4:3], 66 kb/s, 29.92 tbr, 1k tbn, 2k tbc
Stream #0.1: Audio: aac, 22050 Hz, stereo, s16
または
この.flvファイルには、H.264ビデオとAACオーディオが含まれています。これらはたまたま.mp4コンテナの正しいフォーマット/コーデックです。
このような.mp4ファイルの構造は次のとおりです。
*画像提供 FFmpeg The Ultimate Guideを使用したFLVからMP4への変換
したがって、flvをmp4に変換する場合、元の.flvファイルのコーデックに応じて、次の4つのケースがあります。
.flvファイルのオーディオおよびビデオコーデックが.mp4コンテナ(AAC + H.264)でサポートされている場合は、トランスコードせずにストリームをmp4ファイルにコピーできます。
ffmpeg -i video.flv -codec copy video.mp4
このような.flvファイルは非常にまれです。
このプロセスは、オーディオおよびビデオデータ全体をデコードおよび再エンコードするよりも大幅に高速です。
1つ以上のビデオにH.264ビデオとNellymoserASAO/Speexオーディオ(.flvファイルで非常に一般的)がある場合は、ビデオをコピーする必要があります(-v-codecの代わりにコーデック)およびオーディオを(ちょうど)トランスコードします:
ffmpeg -i video.flv -vcodec copy video.mp4
Flvのビデオおよびオーディオデータが.mp4の正しいコーデックでエンコードされていない場合(SparkおよびVP6ビデオコーデックは非常に一般的でした)、AACとH.264の両方を強制する必要があります。
ffmpeg -i video.flv video.mp4
H.264以外のAACオーディオとビデオを含む.flvファイルに出くわすことはめったにありませんが、念のため、最も効率的な方法で.mp4にトランスコードする方法を次に示します(オーディオデータをコピーします)。
ffmpeg -i video.flv -acodec copy video.mp4