1

ffmpegとphpを使用してビデオファイルを.flvに変換しています。これが私のコードです

$cmd = $this->ffmpeg . ' -i ' . $filein . ' -sameq -ar 22050 -b 2048k -f ' . $parameters['convert'] . ' ' . $fileout;

どこ$parameters['convert'] = flv

多くのファイルでうまく機能しますが、アップロードすると~80MB and ~9minutes .mp4 file、flvに正常に変換されますが、時間は2秒に短縮されます。問題と考えられる解決策は何でしょうか。

アップロード制限は200MBに設定されています

4

1 に答える 1

1

「同じ品質」(-sameqは「同じ量子化器」を意味します)を維持しようとしている場合は、次を使用します。

ffmpeg -i Leave.mp4 -c copy -copyts Leaveing.flv

(-コピー「タイムスタンプのコピー」は、フォーマットを変換するときにオーディオ/ビデオの同期を維持するのに役立ちます)

フォーマットを変換するときは、-sameqを使用しないでください。(mp4からflvに移行します。)mp2をmp2または同様のものにダウンサンプリングする場合は、量子化器をコピーして、-sameqを使用することをお勧めします。

時間の変更に関しては、サンプルレートを変換するたびに、プログラムが長さを誤って計算するリスクがあります。たとえば、ffmpegは48kmp3の長さを常に正しく計算するとは限りません。44.1k mp3を48kにアップサンプリングしてから、ffmpegおよびWindowsMediaPlayerで各ファイルの長さを確認してください。同じファイルに対して4つの異なる長さを取得する場合があります。

于 2013-03-01T00:13:31.557 に答える