Strona 1 z 4

[+] Mencoder- kiepska jakość po konwersji DVD2XviD

: 12 maja 2009, 18:27
autor: bolo
Chciałbym się poradzić jak wykonać zadowalającą kopię filmu konwertując go, jak w tytule, z DVD do XviD?
Robię to Mencoderem z linii poleceń i zapewne przyczyna tkwi w niewłaściwej składni polecenia wykonawczego. O ile kodowanie jednoprzebiegowe mi się udaje zrobić w miarę do przyjęcia, to już jakość filmu kodowanego dwukrotnie jest gorsza niż poprzednia. Powinno być odwrotnie!
Konwersję z jednym przebiegiem wykonuję w ten sposób poniżej wymuszając lepszą jakość wysokim bitrate. Daje to jednak plik wielkości ~1GB.

Kod: Zaznacz cały

mencoder MOVIE.VRO -ffourcc XVID -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=1300 -oac mp3lame -srate 44100 -lameopts cbr:br=96 -o film.avi
Poniżej załączam polecenia dla dwukrotnego przebiegu. Jako pierwsza kodowana jest jednak sama ścieżka dźwiękowa po czym proponowany jest współczynnik bitrate, w tym przypadku obrałem 826 dla uzyskania pliku o wielkości 650MB.

Kod: Zaznacz cały

 mencoder MOVIE.VRO -alang en -oac mp3lame -lameopts cbr:br=96 -ovc frameno -o frameno.avi

mencoder MOVIE.VRO -ffourcc XVID -oac copy -ovc lavc -lavcopts vcodec=mpeg4:vhq:vbitrate=826:vpass=1 -o /dev/null

mencoder MOVIE.VRO -ffourcc XVID -oac copy -ovc lavc -lavcopts vcodec=mpeg4:vhq:vbitrate=826:vpass=2 -o film.avi
Co jest źle w konstrukcji tych poleceń, że nie wychodzi mi dobra jakość kopii xvid?

: 12 maja 2009, 20:05
autor: ilin
Zacznijmy od podstaw.

Chcesz zrobić divixa z dvd tak piszesz w tytule.

Co to jest więc MOVIE.VRO?

Skladnie to sobie na później zostawimy.

: 12 maja 2009, 22:27
autor: bolo
ilin pisze:Zacznijmy od podstaw.

Chcesz zrobić divixa z dvd tak piszesz w tytule.

Co to jest więc MOVIE.VRO?
Dokładnie tak chcę zrobić, tzn. plik AVI o rozszerzeniu DVD, ripowany uprzednio z dekodera satelitarnego, przerobić na XviD. Jeśli chodzi o Twoje pytanie to nie dziwi mnie ono, bo sam z początku byłem zdziwiony, ale tak opisuje nagrania moja nagrywarka DVD. Dysponuje ona czterema stopniami konwersji przy tworzeniu nagrania. Nie określa kodeka, którym się posługuje tylko steruje się czasem nagrania, gdzie przedostatni z nich oferuje naprawdę b.dobrą jakość, ale ogranicza czas nagrania do dwóch godzin dla formatu pojemności płyty DVD. Na taką płytę można upakować jednak przynajmniej 5 filmów pełnometrażowych pod warunkiem ich wcześniejszego przekonwertowania. Stąd mój pomysł.
Jakość filmów zasysanych z sieci w formacie DivX nie różni się od pierwowzoru. W moim wykonaniu niestety tak, a szczególnie rzuca się w oczy przy dynamicznej akcji lub szybkich ruchach. Stąd podejrzenie, że zastosowałem niewłaściwe parametry w poleceniach dla Mencodera.

: 13 maja 2009, 01:24
autor: KeFaS
bolo, Twoja nagrywarka już kompresuje materiał jakimś tam swoim kodekiem, więc ponowna rekompresja wcześniej skompresowanego już filmu zawsze będzie powodować stratę jakości, niezależnie jaki kodek wybierzesz i jaki bitrate ustawisz.

No i co to znaczy:
plik AVI o rozszerzeniu DVD
Więc może sprecyzuj dokładnie w jakim formacie masz film z nagrywarki i jakim kodekiem jest zakodowany? No i jak (na co) go zrippowałeś wcześniej?

Poza tym:
Jakość filmów zasysanych z sieći w formacie DivX nie różni się od pierwowzoru.
Różni się. Porównaj sobie jakiegoś DivX-a/XviD-a (nawet 1.4GB z wysokim bitrate) z oryginałem na DVD to zobaczysz różnicę. DivX/XviD to kompresja stratna, więc zawsze jakość się trochę pogorszy, jednak często na małym TV/monitorze nie widać aż takiej "pikselozy", ale na większych (z większymi rozdzielczościami natywnymi) już tak. Jest jeszcze H.264/x264, który często stosuje się przy filmach HD, bo przy większej rozdzielczości oferuje lepszą jakość od XviD-a, przy tym samym rozmiarze (lub porównywalną jakość przy mniejszym rozmiarze), ale to też ciągle kompresja stratna.

: 13 maja 2009, 07:26
autor: ilin
Dobra rozumiem sytuację.

Najlepszą jakość przy niskim bitrate użyskasz używajac kodeka xvideo.Libavcodec jest szybszy ale przy mniejszych bitrate powoduje gorszą jakość.

Spróbuj takiego polecenia.(kodowanie dwuprzebiegowe kodekiem xvideo)

Kod: Zaznacz cały

mencoder MOVIE.VRO -ovc xvid -xvidencopts me_quality=6:bitrate=826 :p ass=1 -oac copy -o /dev/null ; mencoder MOVIE.VRO -ovc xvid -xvidencopts me_quality=6:bitrate=826 :p ass=2 -oac mp3lame -lameopts cbr:br=96 -o film.avi

: 13 maja 2009, 17:34
autor: Akkon
bolo pisze:Co jest źłe w konstrukcji tych poleceń, że nie wychodzi mi dobra jakość kopii xvid?
Musisz zwiększyć bitrate, widać ten jest za mały.

: 13 maja 2009, 19:23
autor: bolo
Odpowiem najpierw KeFas-owi.
Namieszałem troszkę z tymi pojęciami .
plik AVI o rozszerzeniu DVD
AVI jest kontenerem multimedialnym więc chyba nie popełniam błędu jeśli nazwę plik filmu z nagrywarki plikiem AVI lecz oczywiście o rozszerzeniu .VRO .
Więc może sprecyzuj dokładnie w jakim formacie masz film z nagrywarki i jakim kodekiem jest zakodowany? No i jak (na co) go zrippowałeś wcześniej?
Jaki kodek osługuje nagrywarkę, tego nie wiem, ale wiem napewno, że daje takie dziwne rozszerzenie VRO. Tak nagrany ~1,5godzinny film to ok.3,5GB. Dalej nagrywam go na płytę DVD, jezeli był zapisany na dysku nagrywarki, w trybie VR. Tak nagrana płyta daje się odczytać bez problemu innym odtwarzaczu DVD lub komputerze. Ja chcę z tego zrobić Xvid, żeby oszczędzić miejsca, i to się udaje tylko ta pikseloza...


Próbuję właśnie zrobić kompresję takim poleceniem Mencodera, które zaproponował mi ilin. Trwa to koszmarnie długo, bo już prawie 3godziny, ale jeśli efekt będzie zadowalający, to warto.

: 13 maja 2009, 21:21
autor: ilin
Masz tu polecenie przy użyciu kodeków libavcodec (lavc) przetestuj ale jakość będzie ciut gorsza niż xvidem.

Kod: Zaznacz cały

mencoder MOVIE.VRO  -oac copy -aid 1 -ovc lavc -ofps 25 -ffourcc DX50 -lavcopts vcodec=mpeg4:trell:mbd=2:sc_threshold=1000000000:cgop:vbitrate=826:aspect=4/3:vpass=1
-o /dev/null ; mencoder  MOVIE.VRO -oac copy -aid 1 -ovc lavc -ofps 25 -ffourcc DX50 -lavcopts vcodec=mpeg4:trell:mbd=2:sc_threshold=1000000000:cgop:vbitrate=826:aspect=4/3:vpass=2 -oac mp3lame -lameopts cbr:br=96 -o film.avi
Dlugość kodowania głównie zależy od mocy procesora.

: 13 maja 2009, 22:34
autor: bolo
Dziękuję ilin za pomoc.
Przetestowałem ten pierwszy z Twoich sposobów i muszę przyznać, że jakość się poprawiła. Okupiłem to długim czasem obróbki:
  • pierwsze przejście - 70min., drugie - 122min.
    3,4GB spakowało do 644MB.
O to chodziło. Dzisiaj już nie zdążę zrobić drugim sposobem, ale dam znać jak wyszło. Pisałeś, że:
Najlepszą jakość przy niskim bitrate uzyskasz używając kodeka xvideo. Libavcodec jest szybszy ale przy mniejszych bitrate powoduje gorszą jakość.
i to jest prawda. Co się tyczy mojego sprzętu jest to laptop Toshiba L300 z procesorem:
  • 2x Intel(R)Pentium(R)dual CPU 2370 @ 1,73GHz
Mam pytanie czy te polecenia uwzględniają wykorzystanie pełnej mocy podwójnego procesora i jeśli nie to, czy jest sposób aby go zmusić do tego odpowiednim przełącznikiem komendy?

: 14 maja 2009, 07:53
autor: ilin
Ja koduję też na ciut słabszym procesorze intelcore2 1.6GHz na laptopie TOSHIBA L-40.
Kodowanie drugim sposobem (lavc) trwa u mnie krócej niż długość filmu) xvideo około dwa razy dłużej.

Kodek xwideo chyba jeszcze nie umie korzystać z dwóch rdzeni.
Libavcodec tak.
Polecenie na libavcodec z uwzględnieniem optymalizacji dla dwóch rdzeni.

Kod: Zaznacz cały

mencoder MOVIE.VRO  -oac copy -aid 1 -ovc lavc -ofps 25 -ffourcc DX50 -lavcopts threads=2:vcodec=mpeg4:trell:mbd=2:sc_threshold=1000000000:cgop:vbitrate=826:aspect=4/3:vpass=1 
-o /dev/null ; mencoder  MOVIE.VRO -oac copy -aid 1 -ovc lavc -ofps 25 -ffourcc DX50 -lavcopts threads=2:vcodec=mpeg4:trell:mbd=2:sc_threshold=1000000000:cgop:vbitrate=826:aspect=4/3:vpass=2 -oac mp3lame -lameopts cbr:br=96 -o film.avi