ffmpeg - 如何组合这 2 个 ffmpeg 命令?

标签 ffmpeg

我需要结合这两个 ffmpeg 命令:

"-i videoFile.mp4 -c:a copy -c:v libx264 -vf pad=$length:height=$length:x=-1:y=-1:color=#195766 resultFile"
"-i videoFile.mp4 -i waterMark.png -filter_complex 'overlay=10:main_h-overlay_h-10' resultFile.mp4"
可能吗?结果命令会是什么样子?

最佳答案

我希望我做对了...
组合命令为:

ffmpeg -y -i videoFile.mp4 -i waterMark.png -c:a copy -c:v libx264 -filter_complex "[0:v]pad=384:height=216:x=-1:y=-1:color=#195766[t];[t][1:v]overlay=10:main_h-overlay_h-10[v]" -map "[v]" -map 0:a resultFile.mp4
对于 安卓手机FFmpeg (根据OP的评论):
"-y -i ${videoFile.absolutePath} -i $waterMarkPath -c:a copy -c:v libx264 -filter_complex pad=$length:height=$length:x=-1:y=-1:color=#195766[t];[t][1:v]overlay=10:main_h-overlay_h-10[v] -map [v] -map 0:a ${resultFile.absolutePath}"
我使用以下帖子作为引用:Create video with 5 images with fadeIn/out effect in ffmpeg .

测试:
创建示例视频文件(带音频):
ffmpeg -y -r 25 -f lavfi -i testsrc=size=192x108:rate=30 -f lavfi -i sine=frequency=400 -f lavfi -i sine=frequency=1000 -filter_complex amerge -vcodec libx265 -crf 17 -pix_fmt yuv420p -acodec aac -ar 22050 -t 30 videoFile.mp4
创建示例 PNG 图像文件:
ffmpeg -y -f lavfi -i mandelbrot=rate=1:size=192x108 -t 1 waterMark.png
执行组合命令:
ffmpeg -y -i videoFile.mp4 -i waterMark.png -c:a copy -c:v libx264 -filter_complex "[0:v]pad=$length:$length=216:x=-1:y=-1:color=#195766[t];[t][1:v]overlay=10:main_h-overlay_h-10[v]" -map "[v]" -map 0:a resultFile.mp4

结果(测试输出的第一帧):
enter image description here

关于ffmpeg - 如何组合这 2 个 ffmpeg 命令?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67262668/

相关文章:

ffmpeg 将视频流组合成 1x4 拼贴画

c# - 如何使用 FFMPEG 获取视频尺寸

ffmpeg - 在转码和删除 b 帧时保持关键帧

video - 将 H.264 媒体文件转换为 mp4

qt - 如何更改音频 AVPacket 的音量

python - 如何在Python中有效地杀死卡住的子进程?

node.js - fluent-ffmpeg 生成不正确的帧率

linux - linux-gcc编译后的C代码输出和MS-VS2008编译后的输出相差1位的原因?

FFmpeg 加载跟踪文件

video - 使用 ffmpeg 从具有重复帧和自定义顺序的位图创建视频