自动将某个文件夹中的文件转换为h265

自动将某个文件夹中的文件转换为h265

我目前正在做什么

一切都在 freenas (linux) 上运行。我总是必须进入 shell 并启动脚本来对文件夹内的所有内容进行转码。确切地说:我进入 shell 并切换到目录,然后输入tcsh -c ./HEVC_28CRF

“HEVC_28CRF”是脚本的名称。它包含:for i in *.mkv; do ffmpeg -i "$i" -c:v libx265 -crf 28 -c:a copy -map 0 -c:s copy "${i%.*}HEVC.mkv"; done

我有两个问题:

#1我想要一个文件夹,它总是自动检查是否有新文件。如果有新文件,则应使用同一文件夹中的脚本对其进行转码。

#2如您所见,我的脚本将更改输入文件的名称并在末尾添加“HEVC”。因此,如果输入文件名为“Test”,则输出文件将命名为“TestHEVC”。我希望输出文件与输入文件同名。转码完成后,我不需要输入文件。转码时是否有替换原始文件的选项?所以我知道我必须更改我的脚本,但我不知道应该更改什么。

所以我需要改变“HEVC_28CRF”,以解决这两个问题。

提前致谢,我感谢任何帮助!

答案1

  1. 调度程序?

  2. 排除“*HEVC.mkv”,编码后删除输入文件。

     for f in *.mkv; do
       [[ $f =~ HEVC.mkv$ ]] && continue
       ffmpeg -i "$f" -map 0 -c:v libx265 -crf 28 -c:a copy -c:s copy "${f%.*}HEVC.mkv"
       rm $f
     done
    

像这样。

相关内容