Jan*_*ary 7 ffmpeg video avconv
我对编码和使用 avconv / ffmpeg 知之甚少。我正在尝试按如下方式对视频进行下采样:
avconv -i blah_in.avi -s 640x360 -pass 1 blah.avi
avconv -i blah_in.avi -s 640x360 -pass 2 blah.avi
Run Code Online (Sandbox Code Playgroud)
我知道这非常简单,但我无法弄清楚问题是什么。以下是第 1 阶段的错误消息:
avconv version 0.8.3-4:0.8.3-0ubuntu0.12.04.1, Copyright (c) 2000-2012 the Libav developers
built on Jun 12 2012 16:37:58 with gcc 4.6.3
[avi @ 0x9fdd240] non-interleaved AVI
Input #0, avi, from 'blah_in.avi':
Metadata:
encoder : MEncoder svn r34540 (Ubuntu), built with gcc-4.6
Duration: 01:21:59.24, start: 0.000000, bitrate: 8996 kb/s
Stream #0.0: Video: mpeg4 (Advanced Simple Profile), yuv420p, 1920x1080 [PAR 1:1 DAR 16:9], 23.98 tbr, 23.98 tbn, 23.98 tbc
Stream #0.1: Audio: mp3, 44100 Hz, stereo, s16, 128 kb/s
File 'blah.avi' already exists. Overwrite ? [y/N] y
[buffer @ 0x9fe1e00] w:1920 h:1080 pixfmt:yuv420p
[scale @ 0x9fdcfa0] w:1920 h:1080 fmt:yuv420p -> w:640 h:360 fmt:yuv420p flags:0x4
Incompatible sample format 's16' for codec 'ac3', auto-selecting format 'flt'
[ac3 @ 0x9fdc740] invalid bit rate
Output #0, avi, to 'blah.avi':
Metadata:
encoder : MEncoder svn r34540 (Ubuntu), built with gcc-4.6
Stream #0.0: Video: mpeg4, yuv420p, 640x360 [PAR 1:1 DAR 16:9], q=2-31, pass 1, 200 kb/s, 90k tbn, 23.98 tbc
Stream #0.1: Audio: ac3, 44100 Hz, stereo, flt, 200 kb/s
Stream mapping:
Stream #0:0 -> #0:0 (mpeg4 -> mpeg4)
Stream #0:1 -> #0:1 (mp3 -> ac3)
Error while opening encoder for output stream #0:1 - maybe incorrect parameters such as bit_rate, rate, width or height
Run Code Online (Sandbox Code Playgroud)
我尝试了很多方法,但要么最终出现类似的错误消息,要么质量极差;不是因为分辨率低,而是充满了压缩伪影。
现在,我想要实现的是与以下 avi 文件相同的分辨率/编码,它可以在我的孩子视频设备上正常播放:
Stream #0.0: Video: mpeg4 (Advanced Simple Profile), yuv420p, 624x352 [PAR 1:1 DAR 39:22], 25 fps, 25 tbr, 25 tbn, 25 tbc
Stream #0.1: Audio: mp3, 48000 Hz, stereo, s16, 128 kb/s
Run Code Online (Sandbox Code Playgroud)
小智 1
指定的视频比特率非常低:200kpbs。试试这个命令
ffmpeg -i input_video -b 800 -s 640x360 -vcodec xvid -acodec copy output_video
Run Code Online (Sandbox Code Playgroud)
正如评论中所建议的,如果设备支持h.264,那将是一个更好的选择。