创建用于将所有视频设置为相同大小并添加水印的 FFMPEG 命令?
Creating an FFMPEG command for setting all videos to the same size and adding an watermark?
我正在编写一个 Java 应用程序,该应用程序有时会在控制台中使用 ffMPEG 命令。此命令需要执行以下操作:
- 从
DDTV/episodes-unconverted/example.[mpg/avi]
获取输入文件
- 设为 1280x780。 (如果是 4:3,添加邮筒,如果是 16:9...我猜你知道什么也不做)
- 在距底部 10px 和距右侧 10px 处添加水印
DDTV/DDTVwatermark.png
,视频的透明度为 33%。
- 输出到
DDTV/episodes-converted/example.mpg
非常感谢!
这会起作用:
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
实际上,你可以把它放在命令行的任何地方,但它只是常规的东西。在这种情况下不要使用副本。您无法复制输入编解码器,因为您正在使用过滤器。复制选项仅在未使用过滤器时有效。
如果您还有其他问题,请告诉我。
我正在编写一个 Java 应用程序,该应用程序有时会在控制台中使用 ffMPEG 命令。此命令需要执行以下操作:
- 从
DDTV/episodes-unconverted/example.[mpg/avi]
获取输入文件
- 设为 1280x780。 (如果是 4:3,添加邮筒,如果是 16:9...我猜你知道什么也不做)
- 在距底部 10px 和距右侧 10px 处添加水印
DDTV/DDTVwatermark.png
,视频的透明度为 33%。 - 输出到
DDTV/episodes-converted/example.mpg
非常感谢!
这会起作用:
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
实际上,你可以把它放在命令行的任何地方,但它只是常规的东西。在这种情况下不要使用副本。您无法复制输入编解码器,因为您正在使用过滤器。复制选项仅在未使用过滤器时有效。
如果您还有其他问题,请告诉我。