ffmpeg - 最大将任何视频转码为 mp4。 800 宽度或最大。 800高度+水印

标签 ffmpeg mp4 h.264 watermark transcode

我需要一个适用于每个视频(带音频)格式/类型的 ffmpeg 命令,将其编码为 h264 mp4。输出的最大宽度为 800 像素,最大高度为 800 像素。还需要在右下角添加水印......有没有办法用一个命令行完成所有这些事情?即使它是 WMV、MOV、3gp 和正在使用的任何文件类型?

最佳答案

利用

ffmpeg -i video -i watermark
       -filter_complex "[0]scale=min(800,iw):min(800,ih):force_original_aspect_ratio=decrease,
                           scale=2*trunc(iw/2):2*trunc(ih/2)[v];
                        [v][1]overlay=x=W-w-10:y=H-h-10" output.mp4

第一个比例过滤器使视频适合 800x800 Canvas ,但成比例。第二个比例过滤器确保视频具有均匀的尺寸 - 标准 H264 播放兼容性所必需的。

图像覆盖覆盖在右下角,从两个边缘偏移 10 个像素。

关于ffmpeg - 最大将任何视频转码为 mp4。 800 宽度或最大。 800高度+水印,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53922148/

相关文章:

windows - FFMPEG -F 连接视频、音频同步问题

java - 为什么我的 Android 应用程序在播放后显示 "Cannot play video"?

azure - 使用 Azure Media Player 按需查看 Azure 存储中的 MP4 文件

ffmpeg - 尝试使用具有不同无损/压缩设置的 ffmpeg 将 MP4 转换为 WEBP,但得到相同的结果

windows - 在 .NET 上使用 H.264 编码网络摄像头帧

h.264 - 使用wireshark将RTP有效载荷解码为H264

IP 摄像头的 FFmpeg RTSP 问题

android - 当两个依赖项使用FFmpeg时如何解决不满意的链接错误

h.264 - 使用 H264 编解码器检测 TS 中的关键帧

ffmpeg - 使用 ffprobe 确定 wtv -> mp4 转换的 crf