5

私は今からFFMPEGを使用しています.ここで初めてそれについて助けを求めた後、.MP4ビデオを.FLVに変換するためにそれ以来使用しているこのコマンドラインを発見することができました: ffmpeg -i namefile.mp4 -c:v libx264 -crf 19 destinationfile.flv.

結果は驚くべきものでした。完璧なビデオと必要なスペースが大幅に削減されます。しかし、新しいビデオで同じ行を試してみましたが、うまくいきませんでした。

これは私に見えるものです:

[libmp3lame @ 03eaf5a0] flv does not support that sample rate, choose from (44100, 22050, 11025).

その後、これらのコマンドラインを試しました

ffmpeg -i in.mp4 -c:v libx264 -b:v 500k -c:a copy out.flv 
ffmpeg -i in.mp4 -c:v libx264 -ar 22050 -crf 19 out.flv

成功せずに。だから今、私はこのMP4ファイルをFLVファイルに変換できるようにするために他に何をすべきかわかりません.FLVファイルは、以前の最初のコード行で行われた他の変換と同じように、サイズが小さく、完璧な画像を保持しています.

ご協力いただきありがとうございます !

4

1 に答える 1

4

いくつかの問題があり、flv does not support that sample rateを含めることで既に解決しています-ar。明確にするためにいくつかのコメントが必要でしたが、あなたの他の問題は、私が正しく理解していれば、出力のファイルサイズがまだ大きすぎるということです.

あなたはFFmpegについて言及しました:究極のビデオおよびオーディオ操作ツールについて説明します:

CRF は 0 から 51 までの任意の値で、妥当な範囲は 17 から 23 です。低いほど、品質が高くなり、ファイル サイズが大きくなります。一般的に、最善の策は、自分で試してみて、見た目が良いかどうかを確認することです. 必要な結果ファイルのサイズと、ファイル サイズを小さくするためにどれだけの品質を交換できるかを考慮してください。それはすべてあなた次第です。

つまり、必要な品質が得られる最高の CRF 値を選択する必要があるということです。したがって、非常に高品質な 19 の代わりに、より高い値を試してください。これは、特定の crf 値がどのように見えるかについての一般的なアイデアを得るために、ビデオ全体をエンコードする必要があるという意味ではありません。-ssおよびオプションを使用して、-tエンコードするランダムなセクションを選択します。この例では、最初の 2 分 30 秒をスキップして、10 秒のクリップをエンコードします。

ffmpeg -ss 00:02:30 -i input -t 30 -c:v libx264 -preset medium -crf 24 output.mp4

-ss例に示すように、-t時間:分:秒または秒のみを受け入れることができます。

crf の使用を選択するということは、出力に特定の品質を持たせ、ファイル サイズをあまり気にしないことを意味します。逆に、出力を特定のファイル サイズにして、品質をあまり気にしない場合は、crf の代わりに 2 パス ビットレート モードを使用する必要があります。ファイル サイズが crf でどうなるかを簡単に知ることはできませんが、2 パス エンコードを使用すると-b:v、事前にファイル サイズをおおよそ選択できます。このでは、目的の出力は 100 MB であり、入力の期間は 671 秒であるため (数学のリンクを参照)、コマンドは次のようになります。

ffmpeg -i input -c:v libx264 -preset medium -b:v 1092k -pass 1 -an -f mp4 -y NUL
ffmpeg -i input -c:v libx264 -preset medium -b:v 1092k -pass 2 -c:a libfaac -b:a 128k output.mp4

個人的には、2 パス エンコードを使用することはめったにありません。これは、ビデオのセットが同様の品質であることを好むためです (したがって、あまり気にしないさまざまなファイル サイズ)。

-3 (現在のスタックオーバーフローの質問の評価) については、「成功せずに」と説明しなかったため、読者はあなたの質問が不明確であると考え、実際の問題が何であるかを誰も知らなかったと思います。率直で、説明的で、有用な情報をすべて提供してください。特に、次の FFmpeg の質問でコマンドとコンソール出力を提供すると、より適切で迅速な回答が得られます。

于 2012-05-30T18:41:48.170 に答える