Podtytuł 1: Dlaczego AVI, a nie Ogg?
Podtytuł 2: Dlaczego MP3, a nie AC3 lub Vorbis?

Na wstępie chciałbym zaznaczyć, że nie jestem w danej dziedzinie ekspertem i zastrzegam sobie prawo do omyłek wynikających z mojego własnego, praktycznego myślenia (praktycznego w znaczeniu wydedukowanego na zasadzie uczenia się metodą prób i błędów). OK (:

W maju ubiegłego roku w moje ręce dostała się kamerka Sony DCR-DVD404E. Sprzęcik bardzo przyzwoity, o którym więcej poczytać można w przytoczonym linku. Za jej sprawą na blogu poczęły pojawiać się wpisy dotyczące prostych operacji na plikach multimedialnych, typu Ogg do Avi przez Mencoder, Łączenie kilku plików avi w jeden, czy wreszcie Ripowanie DVD-RW VR. Wyłączając ostatni wymieniony link - który nawiasem mówiąc jest specyficzny, gdyż odnosi się wyłącznie do płyt DVD-RW z ustawionym/włączonym VR mode - sukcesywnie unikałem tematu ripowania. Raz - był to dla mnie temat świeży; Dwa - doszedłem do wniosku, że jest to w Linuksie operacja na tyle prosta, że nie trzeba jej opisywać. Właściwie nadal tak uważam, dlatego wpis dotyczył będzie bardziej kontenerów i stosowanych kodeków, niż jako takiego ripowania stricte.

Programy jakimi posługuję się do obróbki plików multimedialnych, a konkretniej plików video (z dźwiękiem, więc de facto audio/video), to dvd::rip (czyli w zasadzie transcode), Avidemux oraz MEncoder.

To, że wymieniłem tę trójkę, nie jest równoznaczne z tym, że za każdym razem używam wszystkich trzech naraz. Bardzo często wystarczy użyć np. wyłącznie dvd::rip. Przeważnie kończę na używaniu dvd::rip + MEncoder. Rzadko, ale się zdarza, używam jeszcze Avidemux. Do czego każdy z nich +/- służy? Zakładając, że mam materiał audio/video nagrany na tę śmieszną płytkę miniDVD - 1.4 GB. Tak się akurat złożyło, że są na nim trzy różne, a tak samo istotne materiały (np. 10 minut dziecka znajomych, 10 minut spaceru z psami w ładną pogodę i 10 minut imprezy urodzinowej u drugich znajomych). Sprawę można rozwiązać na dwa sposoby.

Pierwszy to zripowanie całości materiału z użyciem dvd::rip i podzielenie go na trzy części z użyciem Avidemux. Dobre? Dobre.

Drugi sposób (i tego używam najczęściej) to zripowanie każdej sceny osobno (ale naraz) z użyciem dvd::rip i połączenie odpowiednich scen w odpowiednią całość z wykorzystaniem MEncodera. Dobre? Dobre. Oba sposoby, jak dla mnie, są równie sprawne, ale zwyczajnie szybciej łączę pliki MEncoderem niż dzielę je Avidemuksem.
Na marginesie: Avidemux to bardzo zaawansowane narzędzie i pewnie nie umiem wykorzystać 99% (1% zakładam, że umiem ;P) jego możliwości. Oprócz do dzielenia plików na mniejsze pliczki, używam go również do prostych obróbek scen i montażu (typu przestawienie scen, czy fragmentów, na inne miejsca itp.).
Wracając do meritum, wszystko sprowadza się do tego by mieć zmontowany jeden plik (lub zmontowanych kilka plików w kilka plików, w zależności od potrzeb) główny, który będzie można odtworzyć w każdym programie, niezależnie od systemu operacyjnego, a także w większości odtwarzaczy DVD, bez potrzeby zaprzęgania do pracy DeVeDe i wtórnego przekształcania nagrania na format DVD. „Problem” (bo przecież de facto jest to problem ze względu na sporą dozę wyboru) więc pojawia się wcześniej, jeszcze przed przystąpieniem do ripowania, a sprowadza się do wybrania odpowiednich kontenerów i kodeków. O tak, tutaj zaczyna się zabawa (:

Zdecydowanie dobrze jest polecić dvd::ripowi zgranie materiału na dysk twardy (no chyba, że sam materiał już na dysku się znajduje, jest to np. obraz DVD) przed przystąpieniem do ripowania „właściwego”.

W zależności od materiału jaki chce się zgrać, dvd::rip oferuje różne możliwości (wybór ścieżki dźwiękowej, poszczególnych rozdziałów lub scen, zgrywania napisów z podziałem na język itd.). Sam program jest jednak na tyle intuicyjny, że każdy powinien poradzić sobie z jego obsługą bez większych problemów.

W zakładce Clip & Zoom zawsze zaznaczam opcję Autoadjust, Big Frame Size, HQ Resize.

Dzięki temu materiał (tu: obraz) jest w satysfakcjonującej (tu: mnie) rozdzielczości i jakości. Materiały, które ripuję zazwyczaj (jak dotąd wszystkie) nie posiadają napisów, więc tę zakładkę przeskakuję. Zostaje ostatnia (logi służą w zasadzie wyłącznie do przeglądnięcia w przypadku wystąpienia jakichś komplikacji), Transcode. Sama nazwa mówi wszystko - to właśnie tutaj jest sedno sprawy, najważniejsze ustawienia dotyczące ripowanego materiału; kontenery, kodeki, rozmiar, dźwięk i tak dalej.

Na sam przód należy wybrać kontener. W zależności od tego, czy będzie to AVI, Ogg czy MPEG, będzie można operować na różnych możliwościach.
MPEG wrzucam jako pierwsze na ruszt ze względu na to, że jeszcze nie miałem okazji z niego korzystać i znam je najsłabiej. Po zaznaczeniu go, do wyboru w Video codec zostają: SVCD, VCD, XSVCD, XVCD oraz CVD. Czym każdy się cechuje można poczytać klikając w odnośniki na Wikipedii. To, co dla mnie najważniejsze, to ograniczenie dźwięku wyłącznie do MP2 oraz brak możliwości sterowania jakością/rozmiarem w przypadku kodeka VCD. Pewnie przydatne kiedy się chce przerobić materiał z płyty DVD na *CD, warto pamiętać, żeby ustawić też odpowiednie przycięcie i zbliżenie (Clip & Zoom), wszak są tam odpowiednie opcje dla tych wszystkich *CD (w dodatku z podziałem na PAL i NTSC oraz 4:3 i 16:9).
Ogg, wiadomo, wspiera wolne oprogramowanie i tak dalej. Z ideologicznego punktu widzenia - obowiązek używania! (: Mnie kontener Ogg uwiódł możliwościami. Trzeba pamiętać, że kontener != kodek. Wewnątrz kontenera Ogg można użyć np. kodeka Xvid i do tego dorzucić dźwięk w MP3. Można? Można. Tylko po co? Pozostając przy dźwięku, tylko kontener Ogg (przynajmniej w dvd::rip) oferuje aż trzy możliwości - wcześniej wspomniane MP3, Vorbis oraz AC3. Przeważnie korzystałem z tego ostatniego, co było błędem - MP3 i Vorbis, przynajmniej na moim sprzęcie i na moje ucho, oferują znacznie lepszą jakość (może to wynikać z samej specyfikacji AC3, które zachowuje dźwięk 5.1, podczas gdy odtwarzam go na najzwyklejszym w świecie stereo). Jeżeli chodzi o kodeki obrazu to są one następujące: divx4, divx5, xvid, xvid2, xvid3, xvid4, ffmpeg (a tutaj h264 i mpeg4), fame(?) oraz af6(?) (tutaj również h264 i mpeg4). Czegoś brakuje? Tak, zdecydowanie brakuje Theory, jak dotąd nie wyjaśniłem tego fenomenu. Nie wiem, czy to kwestia braku jakiejś paczki w systemie, czy też kwestia braku wsparcia dla Theory w dvd::rip (a jeśli tak, to dlaczego?), tak czy siak, kodeka brak.
AVI jako kontenera używam najczęściej (do archiwizowania nagrań DVD z kamery - zawsze). Do wyboru dźwięku zostały MP3 oraz AC3 (jak wspomniałem wcześniej, z tego drugiego zrezygnowałem na rzecz tego pierwszego). Jeżeli chodzi o kodeki obrazu, to są one dokładnie takie same, jak w przypadku kontenera Ogg (i tak samo nie działa mi af6). Przez długi czas, bez głębszego zastanowienia się, używałem Xvida, ale ostatnio poszedł był w odstawkę na rzecz ffmpeg/h264 - ze względu na świetną jakość i niewielkie rozmiary (ten sam obraz, tej samej jakości i o tej samej długości trwania w Xvid zajmuje 695.5 MB, w H.264 478.8 MB).

Jest coś jeszcze, czego brakuje mi w przypadku kontenera Ogg - zapisuje pliki do rozszerzenia *.ogm, których później za nic nie mogę połączyć. Nieważne, czy próbuję do tego celu zaprząc do pracy MEncodera, nie ważne czy jest to ogmmerge - nie działa. Po prostu nie działa, nie łączy wszystkich, a plik finalny jest z reguły uszkodzony.

Na koniec małe podsumowanie czego i dlaczego używam do ripowania oraz na jakie problemy się natknąłem:

  1. Do ripowania i prostej obróbki video używam trzech programów: dvd::rip, Avidemux oraz MEncoder;
  2. W ustawieniach przycięcia i zbliżenia (Clip & Zoom) zawsze używam największej ramki i najwyższej jakości (Autoadjust, Big Frame Size, HQ Resize);
  3. Przy transkodowaniu używam kontenera AVI, kodeka ffmpeg/h264 oraz MP3 do zapisu dźwięku;
  4. Z nieznanych mi przyczyn w dvd::rip nie mam do wyboru kodeka Theora - jak się okazuje, jest to spowodowane brakiem wsparcia Theory przez transcode;
  5. Z nieznanych mi przyczyn nie mogę połączyć kilku plików *.ogm (obraz ffmpeg/h264, dźwięk Vorbis) w jeden;

To wszystko. Mam nadzieję, że komuś się przyda i że przy okazji uda mi się dowiedzieć czegoś więcej z komentarzy (: