So extrahieren Sie die .VOB für Titel 2, Kapitel 3
Beachten Sie, dass '-Kapitel 3' und '-Kapitel 3-' von Kapitel 3 bis zum Ende kopiert werden. Wenn die von Ihnen angegebene Kapitelnummer ungültig ist, wird die Option ignoriert und daher der vollständige Titel kopiert.
# 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
Sie können lsdvd
Titel, Kapitel, Zellen, Audio, Video usw. für eine physische DVD auflisten. Es scheint jedoch keine Möglichkeit zu geben, a zu verarbeiten .iso
. Sie können bei Bedarf eine .iso-Datei bereitstellen .
# 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
Auf der anderen Seite kann a verarbeitet werden .iso
, es werden jedoch keine Titelinformationen aufgelistet. Sie können jedoch den Titel angeben, von dem Sie Kapitelinformationen erhalten möchten.
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')"
Wenn Sie die gewünschte Titelnummer und die Anzahl der Zellen kennen, können Sie sie in einer Schleife ausgeben:
# 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
ist Teil desogmtools
Pakets.Als Skript, das
lsdvd
Python verwendet, undffmpeg
um die Kapitel auf einer DVD in das aktuelle Verzeichnis (extract-chapters.sh
) zu extrahieren :Verwendungszweck:
quelle
lsdvd
Python gewählt, undffmpeg
weil alle diese Tools in den OSS-Repositorys der Distribution enthalten waren. andere Werkzeuge kamen aus Dritt Repositories (zBdvdbackup
,makemkv
usw.).