首先 - 我不是程序員或編劇 - 正是我一直在玩的幾天。Bash腳本將多個字幕自動化成視頻mp4容器文件
我有一個包含mp4視頻文件和srt字幕文件的文件夾。我手動管理使用mencoder和手剎將字幕硬編碼爲視頻文件進行重新編碼。
mencoder -oac pcm -ovc raw -sub NAMEOFVIDEO.sub -utf8 -o NAMEOFVIDEO_SRT NAMEOFVIDEO.mp4
這很好,我正在尋找。所以我所擁有的是帶有多個.srt和.mp4的這個/工作目錄(每天可能有2或3個新的視頻和srt文件)
如果只有1個.srt和1個.mp4文件,我可以管理BUT我想知道如何創建一個可以運行mencoder命令的Bash腳本,如果我有兩個或三個不同的srt和mp4文件,mencoder行必須運行正確的相應srt文件和mp4文件組合。
所有我能想出是一樣的東西mp4_file= find \working -type f -name "*.mp4" | head -1
它找到的第一個結果的.mp4
srt_file = find \working -type f -name "*.srt" | head -1
它找到的第一個結果污泥齡(幸運的是它的基本名稱相同的文件)
然後通過運行變量mencoder命令,mencoder -oac pcm -ovc raw -sub $srt_file -utf8 -o $mp4_file-SRT $mp4_file
,但正如我表示,如果有超過1個文件組合(一個循環也許),那麼我必須堅持輸出通過HandBrakeCLI --preset "High Profile" -i $mp4_file-SRT -o $mp4_file
這很可怕,我錯過了一些更簡單的方法來做到這一點?
雖然Olaf的解決方案看起來像一個很好的答案,但我們仍然猜測它是否能真正解決您的問題。如果您可以編輯您的帖子以包含樣本輸入和必需的輸出,並且樣本輸入包括您標識爲std和special的所有個案中的一個,並且輸出包括根據需要轉換的那些個案,則提供有意義的答案會更容易。您可以每行輸入一行樣本數據,選擇整個數據塊,然後使用{}重新格式化工具在您的文章中保留每行格式的1項。祝你好運。 – shellter