1

サイトの動画を変換するために ffmpeg を使用しています。すべての動画を flv に変換しています。flv をアップロードしても問題はありませんが、 flv 以外のファイル タイプをアップロードすると、次のエラーが表示されます。

ffmpeg version 0.7.11, Copyright (c) 2000-2011 the FFmpeg developers built on Jul 26 2013 01:58:02 with gcc 4.4.7 20120313 (Red Hat 4.4.7-3) 
configuration: --enable-gpl --enable-version3 --enable-nonfree --enable-shared --enable-libmp3lame --enable-libx264 --enable-libfaac --enable-libvorbis 
--enable-libopencore-amrnb --enable-libopencore-amrwb libavutil 50. 43. 0 / 50. 43. 0 libavcodec 52.123. 0 / 52.123. 0 libavformat 52.111. 0 / 52.111. 0 
libavdevice 52. 5. 0 / 52. 5. 0 libavfilter 1. 80. 0 / 1. 80. 0 libswscale 0. 14. 1 / 0. 14. 1 libpostproc 51. 2. 0 / 51. 2. 0 
Seems stream 0 codec frame rate differs from container frame rate: 2997.00 (2997/1) -> 14.99 (15000/1001) 
Input #0, avi, from 'uploads/v_37.avi': 
Metadata: title : AJ McLean - Teenage Wildlife encoder : Lavf52.16.0
Duration: 00:04:17.19, start: 0.000000, bitrate: 470 kb/s 
Stream #0.0: Video: mpeg4, yuv420p, 640x480 [PAR 1:1 DAR 4:3], 14.98 fps, 14.99 tbr, 14.99 tbn, 2997 tbc 
Stream #0.1: Audio: mp3, 22050 Hz, stereo, s16, 128 kb/s 
WARNING: The bitrate parameter is set too low. It takes bits/s as argument, not kbits/s 
[buffer @ 0x2137ae0] w:640 h:480 pixfmt:yuv420p tb:1/1000000 sar:1/1 sws_param: [scale @ 0x2139da0] w:640 h:480 fmt:yuv420p -> w:320 h:240 fmt:yuv420p flags:0x4 
Output #0, flv, to 'uploads/aaa.flv': Metadata: title : AJ McLean - Teenage Wildlife encoder : Lavf52.111.0 
Stream #0.0: Video: flv, yuv420p, 320x240 [PAR 1:1 DAR 4:3], q=2-31, 200 kb/s, 1k tbn, 14.99 tbc Stream #0.1: Audio: libmp3lame, 22050 Hz, stereo, s16, 0 kb/s 
Stream mapping: Stream #0.0 -> #0.0 Stream #0.1 -> #0.1 
Press [q] to stop, [?] for help 
frame= 26 fps= 0 q=2.0 Lsize= 80kB time=00:00:01.73 bitrate= 375.7kbits/s video:64kB audio:14kB global headers:0kB muxing overhead 2.339835%

最後の行は次のとおりです。多重化オーバーヘッド 2.339835%

最終的なファイルは 1 秒の動画です (動画の長さに違いはありません。すべて 1 秒の動画になります)。

何が問題ですか ?これは、ビデオを変換する ffmpeg コードです。

echo passthru("$ffmpegpath -i uploads/$file -ar 22050 -ab 32 -f flv -s 320×240 uploads/aaa.flv 2>&1");
4

1 に答える 1

1

警告: ビットレート パラメータの設定が低すぎます。kbits/s ではなく、bits/s を引数として取ります

オーディオを 32 ビット/秒で保存することはできません。これを (まだ非常に低い 32 kbits/s が必要だと仮定して) に変更すると-ab 32k、おそらく期待どおりに動作するでしょう。

この問題は、多重化のオーバーヘッドとは何の関係もないと思います。

于 2013-08-26T10:26:44.407 に答える