Untuk mengekstrak. VOB untuk Judul 2, Bab 3
Perhatikan bahwa '-bab 3' dan '-bab 3' akan menyalin dari bab 3 sampai akhir, dan jika nomor bab yang Anda tentukan tidak valid, opsi diabaikan, dan karenanya akan menyalin judul lengkap.
# 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
Anda dapat menggunakan lsdvd
daftar judul, bab, sel, audio, video, dll untuk DVD fisik. Namun, sepertinya (?) Tidak memiliki cara untuk memproses a .iso
. Anda dapat memasang .iso , jika perlu.
# 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
, di sisi lain, dapat memproses a .iso
, tetapi tidak mencantumkan info judul. Namun, Anda dapat menentukan judul dari mana Anda menginginkan informasi bab.
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')"
Saat Anda tahu nomor judul yang Anda inginkan, dan tahu jumlah sel, Anda bisa membuangnya dalam satu lingkaran:
# 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
dvdxchap
adalah bagian dariogmtools
paket.Sebagai skrip yang menggunakan
lsdvd
, Python, danffmpeg
untuk mengekstrak Bab dalam DVD ke direktori saat ini (extract-chapters.sh
):Pemakaian:
sumber
lsdvd
, Python, danffmpeg
karena semua itu ada dalam repositori OSS distribusi; alat lain berasal dari repositori pihak ketiga (misdvdbackup
.makemkv
, dll.)