我在android上使用ffmpeg,我想在同一个命令中添加音频并创建一个视频。
这是我正在使用的命令:
ffmpeg -f image2 -r duration_per_frame -i input_frame_path -i audio_path -s 640x640 -vcodec libx264 -c:a aac -strict experimental -b:a 192k -y out_video_path
现在我是一个ffmpeg菜鸟,对不起,如果我犯了一些愚蠢的错误..
BTW,当以下命令有效时,该命令不起作用,它不会创建视频文件:
ffmpeg -f image2 -r duration_per_frame -i input_frame_path -s 640x640 -vcodec libx264 -y out_video_path
LOGCAT LOG过滤器标签FFMPEG:
04-16 14:42:11.037: D/FFMPEG(10701): [C@42f2d778
04-16 14:42:11.037: D/FFMPEG(10701): [C@443bbaf0
04-16 14:42:11.037: D/FFMPEG(10701): [C@42d8ce38
04-16 14:42:11.037: D/FFMPEG(10701): [C@443a70d0
04-16 14:42:11.037: D/FFMPEG(10701): [C@443a3c00
04-16 14:42:11.037: D/FFMPEG(10701): [C@443822b0
04-16 14:42:11.037: D/FFMPEG(10701): [C@443665d0
04-16 14:42:11.042: D/FFMPEG(10701): [C@4433cab0
04-16 14:42:11.042: D/FFMPEG(10701): [C@42fa06f8
04-16 14:42:11.042: D/FFMPEG(10701): [C@42df9c28
04-16 14:42:11.042: D/FFMPEG(10701): [C@42db2e60
04-16 14:42:11.072: D/FFMPEG(10701): [C@44399300
04-16 14:42:11.072: D/FFMPEG(10701): [C@443b0360
04-16 14:42:11.072: D/FFMPEG(10701): [C@42fa1d08
04-16 14:42:11.072: D/FFMPEG(10701): [C@42d8c7f0
答案 0 :(得分:1)
ffmpeg -f image2 -r 25 -i /path/to/images/image%02d.jpg -i /path/to/audio.wav -s 640x640 -c:v libx264 -c:a aac -strict experimental -b:a 192k -y test.mp4
答案 1 :(得分:1)
让我解释一下这是如何工作的 ffmpeg是一款完整的跨平台命令行工具,能够以各种格式记录,转换和流式传输数字音频和视频。
ffmpeg -f image2 -r duration_per_frame -i input_frame_path -i audio_path -s 640x640 -vcodec libx264 -c:aac -strict experimental -b:a 192k -y out_video_path
-f 用于强制使用特定类型的格式进行视频转换
-r 用于设置视频的帧速率。即没有。每秒要提取到图像中的帧数。默认值为25,使用它可以产生大量图像
-i 用于指定输入文件
-s 用于设置最终视频的帧大小
-vcodec 用于强制视频编解码器进行视频转换
-c 用于使用特定编解码器进行编码或解码,因为您提到 -c:a aac ,这意味着使用aac编码音频流。
-strict experimental 某些编码器,例如原生FFmpeg AAC编码器(aac),被认为是实验性的,需要添加-strict实验
-b 用于设置音频/视频比特率。由于您使用 -b:a 192k ,因此音频比特率设置为192k
-y 用于覆盖输出文件。
现在让我们来看看你的视频文件未被创建的问题。 这可能是因为您正在使用静止图像或图像流没有被填充,可能您可以将 -loop 1 添加到您的命令并检查。这可能不是一个完整的解决方案,但它可能是一个开始。我们需要更深入地挖掘。
ffmpeg -f image2 -r duration_per_frame -loop 1 -i input_frame_path -i audio_path -s 640x640 -vcodec libx264 -c:aac -strict experimental -b:a 192k -y out_video_path
我仍然建议您在命令中提供您使用的所有路径。并且更多地了解您要做的事情。