gpt4 book ai didi

ffmpeg - 自动将输出文件与输入文件匹配(Applescript x FFMPEG)

转载 作者:行者123 更新时间:2023-12-04 23:25:40 26 4
gpt4 key购买 nike

我使用以下 AppleScript 作为 Automator 服务来右键单击查找器中的视频文件并使用 ffmpeg 终端命令刻录匹配的字幕文件 (.ass)。在这种情况下,ffmpeg 编码一个新的 Prores 422(HQ) 文件。

on run {input, parameters}
tell application "Terminal"
activate
set filesString to ""
repeat with file_ in input
set filesString to filesString & " " & quoted form of (POSIX path of file_)
end repeat
do script "for f in" & filesString & "; do
base=$f
ffmpeg -y -i \"$base\" -c:v prores -profile:v 3 -pix_fmt yuv422p10le -vf \"ass=${base%.*}.ass\" -c:a copy \"${base%.*}_sub.mov\";
done"
end tell
return input
end run

是否可以自动将输出文件及其编解码器与输入文件匹配?
由于混合的 windows/mac 环境(Prores (mov)、dnxhr (mxf/mov)),我们使用了许多不同的输入格式,我希望工作站的 finder 服务菜单中没有 8-12 编码选项: )。

提前致谢!!

最佳答案

如果没有作为参数给出,ffmpeg 将从文件结尾中选择编解码器本身。在大多数情况下,这很好。只需将输入文件的扩展名设置为输出文件即可。

如果需要更多粒度,可以使用ffprobe .它是来自 ffmpeg 的工具,可以读取视频文件的所有属性。

可以在这里找到一个很好的解释:https://trac.ffmpeg.org/wiki/FFprobeTips

例如,第一个流的编解码器(这是大多数视频文件中的视频流)可以通过以下方式读取:

ffprobe -v error -select_streams v:0 -show_entries stream=codec_name -of default=noprint_wrappers=1:nokey=1 input.mp4

您可以将值保存在变量中并在 ffmpeg 命令中进行设置。

关于ffmpeg - 自动将输出文件与输入文件匹配(Applescript x FFMPEG),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49075357/

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