bash - 如何使用 bash 脚本或简化 ffmpeg 命令以调整水印大小、将其添加到视频中并将 subtitle.ass 添加到视频中?

标签 bash ffmpeg ubuntu-18.04

我想使用 ffmpeg 创建带水印的硬字幕视频。而且我想知道如何组合和简化多个命令,或者如何为此目的创建一个 bash 脚本。

我试过在 stackflow 中搜索并测试了一些命令,但它们没有用。这是我正在使用的命令。

  • 检测视频宽度和高度:
    ffprobe -v quiet -show_entries stream=width,height -of default=noprint_wrappers=1 video_in.mp4
    
  • 调整水印图像的大小:(视频宽度 = 1280)
    ffmpeg -i watermark.png -y -v quiet -vf scale=1280*0.15:-1 watermark_scaled.png
    
  • 为视频添加水印:
    ffmpeg -i video_in.mp4 -i watermark_scaled.png -filter_complex "overlay=W-w-5:5" video_marked.mp4
    
  • 为视频添加 .ass 字幕:(必须是 '.ass')
    ffmpeg -i video_marked.mp4 -vf ass=subtitle.ass video_final.mp4
    
  • 最佳答案

    您不需要检测视频尺寸。 scale2ref过滤器可以使用引用调整输入的大小。

    这是一个命令中的所有步骤。

    ffmpeg -i video_in.mp4 -i watermark.png
           -filter_complex "[1][0]scale2ref=iw*0.15:ow/mdar[wm][v];
                            [v][wm]overlay=W-w-5:5,ass=subtitle.ass"
           -c:a copy video_final.mp4
    

    关于bash - 如何使用 bash 脚本或简化 ffmpeg 命令以调整水印大小、将其添加到视频中并将 subtitle.ass 添加到视频中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53922256/

    相关文章:

    ffmpeg - 使用 live555 和 FFmpeg 流式传输 H264

    python - 如何找出使用ffmpeg和python提取音轨的文件扩展名?

    ubuntu - 谷歌云防火墙在地址中使用端口时阻止连接

    收藏夹中缺少 Coq IDE 图标

    php - 使用sed从php文件中删除注释

    linux - bash 脚本在循环中使用 gcc 来编译所有

    python - OpenCV 无法读取某些 mp4 文件,转换为 avi 也无济于事

    python - python使用adduser --home linux

    ruby - 如何将 RVM 用于 ruby​​ 应用程序引擎?

    bash - 在 Bash 中转置文件的有效方法