我目前正在做什么
一切都在 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
调度程序?
排除“*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
像这样。