Debian

翻錄 DVD 的章節以分離文件

  • January 16, 2020

我有一張帶有兒童卡通片的 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

引用自:https://unix.stackexchange.com/questions/43013