Debian
翻錄 DVD 的章節以分離文件
我有一張帶有兒童卡通片的 DVD,每一集都有幾集。我怎樣才能翻錄它們,使每一集都在一個單獨的文件中?我認為每一集都寫成 DVD 上一個標題中的一章。
提取標題 2 第 3 章的 .VOB
請注意,’-chapter 3’ 和 ‘-chapter 3-’ 將從第 3 章複製到末尾,如果您指定的章號無效,則該選項將被忽略,因此將復製完整的標題。
# physical DVD mplayer dvd://2 -chapter 3-3 -dumpstream -dumpfile ~/3.VOB # DVD .iso image mplayer dvd://2 -dvd-device "$dvd_iso" -chapter 3-3 -dumpstream -dumpfile ~/3.VOB
您可以使用
lsdvd
列出物理 DVD 的標題、章節、單元格、音頻、影片等。但是,似乎(?)沒有辦法處理.iso
. 如果需要, 您可以掛載 .iso 。# count Titles, and count Cells per title. # eg. ${cell[1]} is the Count of Cells for the first title # ${cell[titles]} is the Count of Cells for the last title eval $(lsdvd | sed -n 's/Title: \([0-9]\+\), .* Chapters: \([0-9]\+\), Cells: .*/cells[$((10#\1))]=$((10#\2));/p') titles=${#cells[@]} title_num=2 from_cell=1 to_cell=${cell[title_num]}
dvdxchap
,另一方面,可以處理 a.iso
,但它不列出標題資訊。但是,您可以指定要從中獲取章節資訊的標題。title_num=2 from_cell=1 # physical DVD to_cell="$(dvdxchap -t $title_num /dev/dvd | sed -n 's/^CHAPTER\([0-9]\+\).*/\1/p' | sed -n '$p')" # DVD .iso image to_cell="$(dvdxchap -t $title_num "$dvd_iso"| sed -n 's/^CHAPTER\([0-9]\+\).*/\1/p' | sed -n '$p')"
當您知道所需的標題編號並知道單元格的數量時,您可以循環轉儲它們:
# physical DVD for ((c=$from_cell; c<$to_cell; c++)) ;do mplayer dvd://$title_num -chapter $c-$c -dumpstream -dumpfile ~/$c.VOB done # DVD .iso image for ((c=$from_cell; c<$to_cell; c++)) ;do mplayer dvd://$title_num -dvd-device "$dvd_iso" -chapter $c-$c -dumpstream -dumpfile ~/$c.VOB done