Strona 1 z 1

Kopiowanie plików z VideoCD

: 07 lip 2008, 09:49
autor: dominik.alaszewski
Najprawdopodobniej wiele osób miało do czynienia z płytami
VideoCD pod Linuksem. O ile odtwarza je praktycznie każdy
popularny odtwarzacz (np. mplayer czy vlc), o tyle zgranie sobie
zawartości na dysk bywa czasem problemem.
Dysk VCD nie zawiera standardowego filesystemu iso9660- zamontować
się uda, ale skopiować coś już będzie gorzej.

Jak zatem skopiować sobie pliki mpeg z płyty VCD?


Metoda 1.

instalujemy sobie pakiet vcdimager (np. sudo apt-get install vcdimager).
Pakiet zawiera (między innymi) polecenie vcdxrip, które skopiuje na HDD
całą zawartość VideoCD do bieżącego katalogu.
Można dać

vcdxrip -p -v

żeby było widać, co się dzieje.

W ten sposób można też wyciągnąć zawartość płyty VCD, gdy mamy tylko jej
obraz, np. w plikach cue/bin.

vcdxrip -c obraz.cue


Metoda 2.

Ściągamy sobie pakiet cdfs, najlepiej ze strony projektu
(http://trappist.elis.ugent.be/~mronsse/cdfs)- wersja z dystrybucji
może być ciut nieświeża.

Rozpakowujemy, wchodzimy do katalogu ze źródłami i kompilujemy
przez wpisanie make.
Powstanie między innymi plik modułu kernela cdfs.ko.
Kopiujemy go sobie gdzieś w wygodne miejsce. Teraz wystarczy:

sudo insmod cdfs.ko
sudo mount -t cdfs /dev/cdrom punkt_montowania

I mamy ścieżki VCD dostępne jako pliki mpg.

cdfs przydaje się też, gdy chcemy sięgnąć do plików z poprzedniej
sesji "usuniętych" bądź "nadpisanych" w nowej sesji na CD
(zobacz dokumentację).


Metoda 3.

Za pomocą mencodera.

Wydawałoby się trywialnie (tak jest często podawane jako przykład w necie,
także na tym forum):

mencoder vcd://nrsciezki -ovc copy -oac copy -o wynik.mpg

Ale- tak najczęściej nie skopiują się informacje o kodowaniu i odtwarzacz
może nie odtworzyć takiego pliku (zwłaszcza urządzenie stacjonarne).

Trzeba wprost podać kodowanie:
mencoder vcd://nrsciezki -ovc copy -oac copy -of mpeg -mpegopts format=xvcd -o wynik.mpg


Dla leniwych: gotowy skrypcik kopiujący wszystkie ścieżki (no, pierwszych 31- rzadko bywa
tyle) VCD na dysk.

Kod: Zaznacz cały

#!/bin/bash

for (( i=2; $i <= 32; i++ )) ; do

  mencoder vcd://$i -ovc copy -oac copy -of mpeg -mpegopts format=xvcd -o ~/media/zrzut_VCD/$i.mpg | zenity --progress --pulsate --auto-close --auto-kill --title="Kopiowanie VCD" --text="Ścieżka nr $i"

done

zenity --info --title="Kopiowanie VCD" --text="Kopiowanie VCD zakończone."
Jeśli ścieżki chcemy od razu sobie skompresować np. Xvid, opcje mencodera trzeba zastąpić czymś w rodzaju:

Kod: Zaznacz cały

mencoder vcd://$i -ffourcc XVID -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=800:vhq -oac mp3lame -o ~/media/zrzut_VCD/$i.avi

I tyle. Na pewno jest jeszcze stado innych sposobów :-)
Mam nadzieję, że te informacje się komuś przydadzą.


Pozdrawiam,