【问题标题】:ffmpeg to convert .avi, .mp4, .mp3, .flv, .mkv to mp4ffmpeg 将 .avi、.mp4、.mp3、.flv、.mkv 转换为 mp4
【发布时间】:2014-11-04 14:30:46
【问题描述】:

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

我已经完成了一个简单的操作,但目前只针对一个属性,我不希望所有属性的每个属性都使用一个脚本。

像这样,运行脚本大约 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

【问题讨论】:

  • ffmpeg 的参数是否需要针对其他转换进行更改?
  • 你真的希望输出是file.flv.mp4吗?
  • 我希望所有文件都只是 .mp4 而没有 flv.mp4 假设文件名是 movie.flv 然后我希望文件只是 movie.mp4。
  • 那你要currmov=${file%.*}$ext
  • @karlphillip 这不是一个很好的问题,但它仍然是一个编程问题。

标签: linux bash unix video ffmpeg


【解决方案1】:

对于所有扩展:

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

【讨论】:

    【解决方案2】:

    你只需要第二个循环

    for ext in avi mp3 flv mk4; do
        for file in *.$ext; do
            ...
        done
    done
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-08-20
      • 2014-07-12
      • 1970-01-01
      • 2017-02-16
      • 1970-01-01
      • 1970-01-01
      • 2021-02-07
      • 2017-05-21
      相关资源
      最近更新 更多