如果我想遍歷一個嵌套目錄列表並運行set命令,我該怎麼做?Shell腳本 - 通過目錄循環?
我的目錄結構是這樣的:
- 視頻
- 文件夾1 - > VTS_01_1.mp4
- 文件夾2 - > VTS_01_1.mp4
- folder3 - > VTS_01_1.mp4 ....等等
我需要遍歷每個文件夾並運行下面的腳本。所有的.mp4文件都命名爲VTS_01_1.mp4,但我想用* .mp4通配符條件來執行它,因爲它們不是'噸。每個目錄中的輸出文件應該是「VTS_01_h264.mp4」。想法?我正在使用CentOS 6.4。
ffmpeg -y -i "VTS_01_1.mp4" -an -pass 1 -threads 2 -vcodec libx264 -b 512k -flags +loop+mv4 -cmp 256 \
-partitions +parti4x4+parti8x8+partp4x4+partp8x8+partb8x8 \
-me_method hex -subq 7 -trellis 1 -refs 5 -bf 3 \
-flags2 +bpyramid+wpred+mixed_refs+dct8x8 -coder 1 -me_range 16 \
-g 250 -keyint_min 25 -sc_threshold 40 -i_qfactor 0.71 -qmin 10\
-qmax 51 -qdiff 4 "video_tmp.mp4"
ffmpeg -y -i "VTS_01_1.mp4" -acodec libfaac -ar 44100 -ab 96k -pass 2 -threads 2 -vcodec libx264 -b 512k -flags +loop+mv4 -cmp 256 \
-partitions +parti4x4+parti8x8+partp4x4+partp8x8+partb8x8 \
-me_method hex -subq 7 -trellis 1 -refs 5 -bf 3 \
-flags2 +bpyramid+wpred+mixed_refs+dct8x8 -coder 1 -me_range 16 \
-g 250 -keyint_min 25 -sc_threshold 40 -i_qfactor 0.71 -qmin 10\
-qmax 51 -qdiff 4 "video_tmp.mp4"
qt-faststart "video_tmp.mp4" "VTS_01_h264.mp4"
沒有理由讓你申報這麼多的選擇。這就是x264預設的用途。你可以簡化命令:'ffmpeg -y -i input -an -pass 1 -vcodec libx264 -preset slow -b:v 512k -f mp4/dev/null && ffmpeg -i input -pass 2 -vcodec libx264 -preset slow -b:v 512k -acodec libfaac -ar 44100 -b:一個96k -movflags faststart output.mp4第一遍輸出可以發送到'/ dev/null','-b'不明確,所以你應該指定stream,你可以在第二遍中用'-movflags faststart'選項替換'qt-faststart'。 – LordNeckbeard