创建 FFMPEG 命令以将所有视频设置为相同大小并添加水印?

问题描述 投票:0回答:1

我正在编写一个 Java 应用程序,它有时会在控制台中使用 ffMPEG 命令。该命令需要执行以下操作:

  • DDTV/episodes-unconverted/example.[mpg/avi]
  • 获取输入文件
  • 将其设为 1280x780。 (如果是 4:3,则添加邮筒,如果是 16:9...我猜你知道什么也不做)
  • 在距离底部 10 像素、距离右侧 10 像素处添加水印
    DDTV/DDTVwatermark.png
    ,视频透明度为 33%。
  • 输出到
    DDTV/episodes-converted/example.mpg
java ffmpeg media watermark
1个回答
2
投票

这会起作用:

ffmpeg -i "DDTV/DDTVwatermark.png" -i "DDTV/episodes-unconverted/example.mpg" \
-filter_complex "[0:v]colorchannelmixer=0.33[ov];[1:v]scale=iw*sar*min(1280/(iw*sar)\,780/ih):ih*min(1280/(iw*sar)\,780/ih),pad=1280:780:(ow-iw)/2:(oh-ih)/2:black[mainv];[ov][mainv]overlay=main-w-10:main_h-10[video_out] \
-map [video_out] -map 1:a DDTV/episodes-converted/example.mpg

如果您想添加更多输出选项(如编解码器),请将其放在以下命令中:

-filter_complex "~" -map [video_out] -map 1:a -c:v mpeg2video -c:a mp3 DDTV/episodes-converted/example.mpg

实际上,你可以把它放在命令行的任何地方,但这只是常规的事情。并且在这种情况下不要使用副本。您无法复制输入编解码器,因为您正在使用过滤器。复制选项仅在不使用过滤器时才有效。

如果您还有任何疑问,请告诉我。

© www.soinside.com 2019 - 2024. All rights reserved.