命令在 Thunar 自定义操作中不再起作用

命令在 Thunar 自定义操作中不再起作用

我曾经创建一个如图所示的 Thunar 自定义操作这里为了从选定的(多个)视频文件中提取音频而不进行转码。

要添加到 Thunar 自定义操作列表中的命令是:

 xfce4-terminal -e "parallel avconv -i '{}' -map 0:1 -c:a copy '{}.m4a' -- %F"

现在我只得到这个:

parallel: Warning: Input is read from the terminal. Only experts do this on purpose. Press CTRL-D to exit.

为什么会这样以及如何调整这些命令以便它们可以在 Thunar 自定义操作中工作?

答案1

我不确定是否理解该命令。为什么要在 %F 之前加上--?

尝试这个:

xfce4-terminal -e "parallel avconv -i '{}' -map 0:1 -c:a copy '{}.m4a' ::: %F"

解释:据我了解,%F 是 Thunar 替换为文件的内容,并行使用 ::: 作为输入。

联机帮助页中的一个示例正是

parallel gzip {} ::: file1 file2

要向 Thunar 自定义操作添加类似于以下命令的命令这里

for i in *.mp4; do avconv -i "${i}" -map 0:1 -c:a copy "${i%.mp4}.aac"; done

首先将其添加到可执行脚本中,例如

#! /bin/sh -e
for i in *.mp4; do avconv -i "${i}" -map 0:1 -c:a copy "${i%.mp4}.m4a"; done

使其可执行并保存。

在 Thunar 自定义操作中添加一个包含命令bash /path/to/the/script %F和以下条件的新条目:

在此输入图像描述

这需要对每种文件类型进行单独的自定义操作(因为它仅限于 mp4 到 m4a:对 flv 到 m4a、webm 到 ogg、avi 到 mp3 等进行相应更改),但优点是输出保留准确的输入名称(文件.mp4变成文件.m4a),而第一个命令则不会(文件.mp4变成文件.mp4.m4a)。

答案2

我现在用的是这个:

bash -c 'ffmpeg -i "$0" -map 0:1 -c:a copy "${0%%.*}".m4a' %f

*.flv;*.mp4具有外观条件设置。

相关内容