FFmpeg trim .3gp 并另存为 .mp4 不起作用
FFmpeg trim .3gp and save as .mp4 not working
我正在尝试 trim 视频输入 .3gp (http://www.sample-videos.com/video/3gp/144/big_buck_bunny_144p_2mb.3gp) 并将其保存为 .mp4,这是我的命令:
ffmpeg -ss 00:00:00.000 -y -i input_vid.3gp -strict experimental -preset ultrafast -t 00:00:03.637 -r 30 -s 176x144 -ar 44100 -b:v 4000k -minrate 4000k -maxrate 4000k -c:a copy -vcodec mpeg4 output_vid.mp4
但是它给我以下错误:
Setting 'pix_fmts' to value 'yuv420p'
query_formats: 7 queried, 6 merged, 0 already done, 0 delayed
w:176 h:144 fmt:yuv420p sar:12/11 -> w:176 h:144 fmt:yuv420p sar:12/11 flags:0x4
Automatically choosing VBV buffer size of 232 kbyte
intra_quant_bias = 0 inter_quant_bias = -64
Could not find tag for codec amr_nb in stream #1, codec not currently supported in container
Output #0, mp4, to 'output_vid.mp4':
Metadata:
major_brand : 3gp4
minor_version : 512
compatible_brands: isomiso23gp4
encoder : Lavf56.23.100
Stream #0:0(und), 0, 1/15360: Video: mpeg4 ( [0][0][0] / 0x0020), yuv420p, 176x144 [SAR 12:11 DAR 4:3], q=2-31, 4000 kb/s, 30 fps, 15360 tbn, 30 tbc (default)
Metadata:
creation_time : 1970-01-01 00:00:00
handler_name : VideoHandler
encoder : Lavc56.25.100 mpeg4
Stream #0:1(und), 0, 1/8000: Audio: amr_nb (samr / 0x726D6173), 8000 Hz, mono, 12 kb/s (default)
Metadata:
creation_time : 1970-01-01 00:00:00
handler_name : SoundHandler
Stream mapping:
Stream #0:0 -> #0:0 (h263 (native) -> mpeg4 (native))
Stream #0:1 -> #0:1 (copy)
Could not write header for output file #0 (incorrect codec parameters ?): Invalid argument
exit_program: 1
但如果输入是 .mp4 文件,它工作正常...
有什么想法吗?谢谢
通过将音频编解码器从 -c:a copy 更改为 -c:a aac
解决了我的问题
我正在尝试 trim 视频输入 .3gp (http://www.sample-videos.com/video/3gp/144/big_buck_bunny_144p_2mb.3gp) 并将其保存为 .mp4,这是我的命令:
ffmpeg -ss 00:00:00.000 -y -i input_vid.3gp -strict experimental -preset ultrafast -t 00:00:03.637 -r 30 -s 176x144 -ar 44100 -b:v 4000k -minrate 4000k -maxrate 4000k -c:a copy -vcodec mpeg4 output_vid.mp4
但是它给我以下错误:
Setting 'pix_fmts' to value 'yuv420p'
query_formats: 7 queried, 6 merged, 0 already done, 0 delayed
w:176 h:144 fmt:yuv420p sar:12/11 -> w:176 h:144 fmt:yuv420p sar:12/11 flags:0x4
Automatically choosing VBV buffer size of 232 kbyte
intra_quant_bias = 0 inter_quant_bias = -64
Could not find tag for codec amr_nb in stream #1, codec not currently supported in container
Output #0, mp4, to 'output_vid.mp4':
Metadata:
major_brand : 3gp4
minor_version : 512
compatible_brands: isomiso23gp4
encoder : Lavf56.23.100
Stream #0:0(und), 0, 1/15360: Video: mpeg4 ( [0][0][0] / 0x0020), yuv420p, 176x144 [SAR 12:11 DAR 4:3], q=2-31, 4000 kb/s, 30 fps, 15360 tbn, 30 tbc (default)
Metadata:
creation_time : 1970-01-01 00:00:00
handler_name : VideoHandler
encoder : Lavc56.25.100 mpeg4
Stream #0:1(und), 0, 1/8000: Audio: amr_nb (samr / 0x726D6173), 8000 Hz, mono, 12 kb/s (default)
Metadata:
creation_time : 1970-01-01 00:00:00
handler_name : SoundHandler
Stream mapping:
Stream #0:0 -> #0:0 (h263 (native) -> mpeg4 (native))
Stream #0:1 -> #0:1 (copy)
Could not write header for output file #0 (incorrect codec parameters ?): Invalid argument
exit_program: 1
但如果输入是 .mp4 文件,它工作正常...
有什么想法吗?谢谢
通过将音频编解码器从 -c:a copy 更改为 -c:a aac
解决了我的问题