gpt4 book ai didi

macos - Mac Terminal (Bash) 批处理程序使用 ffmpeg 获取多媒体文件信息

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

我有一台 Mac 电脑。通常我所有的批处理编程都是在我的电脑上完成的。因此,我尝试使用 Mac shell 创建我认为的简单等价物。显然,你们都知道,我这么想是愚蠢的。在网上浏览了 2 天后,我找到了最接近我正在寻找的东西。但是不,这也不起作用。

我想做的就是将多媒体文件放到脚本上,然后让终端给我 ffmpeg 信息输出。在我的搜索中,我确实找到了这个 "$@"据我所知,Windows bat 相当于 %* .这意味着您可以在脚本上抛出文件,并且脚本将这些文件称为可以处理的变量。所以我相信我想做的事情是可能的。

同样,底部的代码只是查看所有 .mov 文件的当前目录并运行 ffmpeg。它不起作用。但是..如果没有人可以帮助我弄清楚我想做的实际事情,那么我会选择下面这样确实有效的方法。

#!/bin/bash
FFMPEG=/Applications/ffmpeg
FIND=/usr/bin/find
FILES=$(${FIND} . -type f -iname "*.mov")
if [ "$FILES" == "" ]
then
echo "There are no *.mov file in $(pwd) directory"
exit 1
fi

for f in *.mov
do

$FFMPEG -i "$f"

done

如果有人可以帮我解决这个问题,我将不胜感激。先感谢您!朱尔斯

我刚刚从“类似问题”侧边栏中找到了这个解决方案,它类似于上面的脚本,所以再一次,不完全是我想要的,但是..没关系,对我不起作用。 How to batch convert mp4 files to ogg with ffmpeg using a bash command or Ruby

最佳答案

.command文件不接收丢弃的文件作为输入。

你可能只是打开一个终端窗口,输入 for f in ,将文件放在窗口上,然后键入 ; do ffmpeg -i "$f"; done .

或者将这样的脚本保存为 AppleScript Editor 中的应用程序:

on open argv
set paths to ""
repeat with f in argv
set paths to paths & quoted form of POSIX path of f & " "
end repeat
tell application "Terminal"
do script "for f in " & paths & "; do ffprobe -i \"$f\"; done"
activate
end tell
end open
ffprobe -i就像 ffmpeg -i但它没有显示像 At least one output file must be specified 这样的错误.

编辑:您也可以使用 Platypus :



将脚本设置为 for f; do ffprobe -i "$f"; done .

关于macos - Mac Terminal (Bash) 批处理程序使用 ffmpeg 获取多媒体文件信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20394938/

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