![从视频中提取音频,无需在 Thunar 自定义操作中进行转换](https://linux22.com/image/35478/%E4%BB%8E%E8%A7%86%E9%A2%91%E4%B8%AD%E6%8F%90%E5%8F%96%E9%9F%B3%E9%A2%91%EF%BC%8C%E6%97%A0%E9%9C%80%E5%9C%A8%20Thunar%20%E8%87%AA%E5%AE%9A%E4%B9%89%E6%93%8D%E4%BD%9C%E4%B8%AD%E8%BF%9B%E8%A1%8C%E8%BD%AC%E6%8D%A2.png)
Thunar 自定义操作可用于通过添加简单的命令来转换媒体文件,例如
avconv -i %f %f.mp3
我想要一个命令,使用 Thunar 自定义操作从 mp4 和 flv 文件中提取 aac 声音,只需将 aac 最终提取到 m4a 容器中,无需转换,类似于这个解决方案(我不知道如何适应 Thunar 自定义操作):
for i in *.mp4; do avconv -i "${i}" -map 0:1 -c:a copy "${i%.mp4}.aac"; done
答案1
我对此创建了一个更普遍的问题:命令在 Thunar 自定义操作中不再起作用我已经收到了一个很好的答案。我已编辑以扩展该答案并涵盖该问题。
问题中提到的命令需要添加到一个脚本中,然后可以从 Thunar 运行:
#! /bin/sh -e
for i in *.mp4; do avconv -i "${i}" -map 0:1 -c:a copy "${i%.mp4}.m4a"; done
一个更简单的命令也可以工作:
avconv -i %f -map 0:1 -c:a copy %f.m4a
这只是一个修改
avconv -i %f %f.mp3
更新:改进的命令
ffmpeg
可以用来代替avconv
并将其添加到 Thunar 自定义操作中;
bash -c 'ffmpeg -i "$0" -map 0:1 -c:a copy "${0%%.*}".m4a' %f
*.flv;*.mp4
外观条件的设置。
(对于webm
视频替换为ogg
,用于mediainfo
获取有关视频音频流的信息)。