gpt4 book ai didi

linux - FFMPEG Bash 自动化

转载 作者:行者123 更新时间:2023-12-04 23:18:46 27 4
gpt4 key购买 nike

我在一个目录中的不同子目录中有一堆视频,我如何运行 FFMPEG 来转换这些子目录中的所有视频,然后将每个视频的输出放回它来自的原始子目录。

for i in **/*.mp4; do ffmpeg -i "$i" -qscale 0 "$(basename "$i" .mp4)"/*.mp4  ; done

最佳答案

这个Shellcheck -clean 演示程序可能包含您想要的内容:

#! /bin/bash -p

shopt -s globstar
shopt -s nullglob
shopt -s dotglob

for mp4 in **/*.mp4; do
new_mp4=${mp4%.mp4}_qscale_0.mp4
ffmpeg -i "$mp4" -qscale 0 "$new_mp4"
done
  • 对于每个具有类似 a/b/c.mp4 的路径的文件在当前目录下运行ffmpeg生成文件a/b/c_qscale_0.mp4 .原始文件保持不变。
  • new_mp4=${mp4%.mp4}_qscale_0.mp4删除 .mp4$mp4 中路径的末尾开始, 附加 _qscale_0.mp4结果,并将最终结果放入 new_mp4多变的。见 Removing part of a string (BashFAQ/100 (How do I do string manipulation in bash?)) ${var%pattern} 的解释句法。
  • 关于linux - FFMPEG Bash 自动化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71138462/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com