linux - ffmpeg 将 .avi、.mp4、.mp3、.flv、.mkv 转换为 mp4

标签 linux bash unix video ffmpeg

我正在搜索包含所有这些属性(如标题)的脚本。

我已经完成了一个简单的操作,但到目前为止只针对一个属性,我不希望所有属性中的每一个都使用一个脚本来避免混淆。

像这样,运行脚本大约 10 分钟,看看是否有包含 .flv 的文件,并自动将文件转换为 mp4 属性。

#!/bin/bash
# Convert all flv to mp4
ext=.mp4
for file in *.flv; do
currmov=$file$ext
ffmpeg -r 15  -i $file  -b 296k -s 640x320 -vcodec mpeg4 -acodec aac $currmov
done

感谢您的帮助! /M

最佳答案

对于所有扩展:

for file in *.{flv,avi,mp3,mkv}; do
        target="${file%.*}.mp4"
        [[ -f "$target" ]] && { echo "skipping $file - $target exists" ; continue; }
        echo ffmpeg -r 15  -i "$file"  -b 296k -s 640x320 -vcodec mpeg4 -acodec aac "$target"
done

如果满意,去掉ffmpeg之前的echo

关于linux - ffmpeg 将 .avi、.mp4、.mp3、.flv、.mkv 转换为 mp4,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25773929/

相关文章:

linux - 使用 sed 将文件中的特定行追加到另一个文件的末尾

unix - ELF文件中/dev/zero有什么用?

c - cat 命令中的 "-u"选项有什么用?

linux - Anaconda Kickstart 文件已缓存

android - 射频通信 |如何在客户端断开连接并向客户端写入数据时获得通知?

linux - Bash 脚本中的解析错误

unix - 用awk比较bam文件中一列的两行

linux - fail2ban 正则表达式停止工作 [Debian 8 - Jessie]

linux - 在目录的所有文件名中查找并用另一个单词替换

xcode - 无法通过公司代理安装 Xcode 命令行工具