过去7天内,我一直在FFMpeg
上工作。我需要在以下位置创建视频:
Concat
很少有图像从Android存储设备中提取到视频中。Add a music
文件[与从Android存储设备中选取的文件相同。] Set Duration per image
要在视频中显示。例如如果选择了3张图像,则视频的总时长应为用户选择的3 *持续时间。我到目前为止所做的。
我正在为implementation 'nl.bravobit:android-ffmpeg:1.1.5'
的预构建二进制文件使用FFmpeg
。
以下是用于串联图像并设置持续时间的命令:
ffmpeg -r 1/duration_selected_by_user -f concat -safe 0 -i path_of_concat_file.txt -c:v libx264 -profile:v high -crf 20 -pix_fmt yuv420p path_of_output_video_file.mp4
注意:
问题: 当我尝试在同一过程中添加音频时,通过使用以下命令,即使对于较小的音频,进度也会运行很长时间:
ffmpeg -r 1/duration_selected_by_user -i path_of_audio_file.mp3 -f concat -safe 0 -i path_of_concat_file.txt -c:v libx264 -profile:v high -crf 20 -pix_fmt yuv420p path_of_output_video_file.mp4
由于我对该技术不太熟悉和经验丰富,因此似乎在命令中存在一些问题。如何提高图像和音频合并的性能以获得更好的结果?
与上下文相关的重要链接:
答案 0 :(得分:0)
@HB在评论中提到:
尝试在-pix_fmt yuv420p之后添加-preset ultrafast
preset
是一组选项的集合,这些选项将提供一定的编码速度与压缩率。较慢的预设将提供更好的压缩(压缩是每个文件大小的质量)。这意味着,例如,如果您以某个文件大小或恒定比特率为目标,则使用较慢的预设可获得更好的质量。同样,对于恒定质量的编码,只需选择较慢的预设即可简单地节省比特率。
可用的速度降序预设为: