Hadret’s.Blog

Ateista, linuksiarz i przyszły filolog (;

O ripowaniu i prostej obróbce audio/video

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.

dvd::rip + Avidemux + 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.

dvd::rip + Avidemux

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.

dvd::rip + MEncoder

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”.

dvd::rip
Shot 1. Ustawienia zapisu

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.

dvd::rip
Shot 2. Ripowanie

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

dvd::rip
Shot 3. Ustawienia przycięcia i zbliżenia

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.

dvd::rip
Shot 4. Transcode

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 PALNTSC oraz 4:316: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 h264mpeg4), fame(?) oraz af6(?) (tutaj również h264mpeg4). 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 przyczyndvd::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 (:

 Przydał Ci się ten wpis? Postaw mi kawę! (:

11 Odpowiedzi

  1. Najlepszym kontenerem jest zdecydowanie Matroska – pliki .mkv i .mka.
    Można w nim wymieszać dowolny kodek video i dowolny kodek audio – h264 + flac? Żaden problem. ;) Możliwości ma większe niż Ogg.
    Ogg jako kontener do plików video + audio raczej się nie sprawdza i jest mało popularny – przynajmniej do czasu wydania stabilnej Theory. Matroska z kolei jest już bardzo popularna. Narzędzi też nie powinno brakować. Sam chętnie pobawiłbym się ripowaniem video, ale prawie siedmioletni procesor skutecznie mnie od tego odciąga. ;)

    Aha – licencja Matroski jest oczywiście taka jak trzeba. :) Ponadto polecam:
    http://en.wikipedia.org/wiki/Comparison_of_container_formats

    Odpowiedz

  2. Ha! Tutaj do łask wraca program OGMRip – działa on, przynajmniej u mnie, nie do końca stabilnie, ale ma bardzo interesujące możliwości. Jedną z nich jest wsparcie dla wspomnianego przez Ciebie kontenera Matroska. Z innych ciekawostek – wspiera kodek Theora (właśnie przy tym kontenerze, o dziwo przy Ogg Theora wspierana nie jest). Właśnie sprawdzam sobie na małym fragmencie (kto powiedział, że trzeba od razu całe DVD ripować?) Matroskę z Theorą i Vorbisem. Jeśli tylko program się nie sypnie i nie będzie bardzo świrował z przycięciem i zbliżeniem, to maznę o nim parę słów więce przy którejś okazji (:

    Dzięki za cynk!

    Odpowiedz

  3. Niestety OGMRip sukcesywnie się sypie przy pierwszej lepszej okazji, a szczególnie przy ustawieniach, które interesują mnie najbardziej. Łączenie ogmów nie powiodło się także z wykorzystaniem kontenera Matroska (via mkvmerge z mkvtoolnix), a łączenie innych rozszerzeń nie jest mi potrzebne, bo można je łączyć z wykorzystaniem MEncodera. W dalszym więc ciągu kontener AVI pozostaje jako główny [:

    Odpowiedz

  4. No ja oczywiście używam MOVa jako kontenera ale to jasne, gdy ma się MacOSX. Anyway, zaciekawiłeś mnie problemami z jakością w odtwarzaniu dźwięku przykodowanego za pomocą AC3. U siebie notuje coś zupełnie innego – mp3 to autentycznie szmelc i porównanie dwóch kodeków zawsze wypada na korzyść AC3, dźwięk jest zdecydowanie lepszej jakości. Czyżby opensourcowa wersja kodeka była jakaś inna? Ciekawe.

    Odpowiedz

  5. Być może tak, być może jest to również kwestia, o której wspomniałem – szczególnie, że wszystkie filmy robione kamerką mają zapisany dźwięk w 5.1 i być może po zripowaniu jakość (de facto głośność bo cóż więcej mógłbym przy takich zwykłych nagraniach porównywać?) byłaby znacznie lepsza na jakimś kinie domowym. A może nie? Równie dobrze może to być kodek. Tak czy siak, najchętniej używałbym Vorbisa i Theory, ale jak nie mogę (bo ogranicza to moją swobodę ;P), to używam tego, co uważam za równie dobre (:

    Odpowiedz

  6. hmmm co do zgrywania dźwięku, to jest jeden z działów w których mogę co nie co powiedzieć.
    Jeżeli chodzi o *.ogg i inne tego typu formaty. To hmm ok, ale nigdy nie będzie to jakość dvd, zależnie też co chce się z tym dalej robić, radio w internecie produkcja tv. czy zwykłe radio lepiej już mp3, ew. wave. Ale do zastosowań domowych może być.
    ja osobiście polecam *.flac całkiem fajna kompresja można posłuchać na tym muzyki.

    Odpowiedz

  7. No cóż, słyszałem gdzieś kiedyś opinię, że przy wysokiej jakości mp3 (rozumiem, że chodzi tu co najmniej o 256 kbps?) nie da się odczuć różnicy w jakości dźwięku (w sensie na normalnym sprzęcie i przy zwyczajnym słuchu – audiofilów więc tutaj, za przeproszeniem, pominę). Inna sprawa, że zalecanym formatem w Internecie jest Vorbis (czyli Ogg właśnie) – ze względu na mniejszy rozmiar pliku, przy lepszej jakości dźwięku. Na sam koniec – FLAC jest dobry bo jest bezstratny, zajmuje przy tym jednak sporo miejsca. Jest też kodekiem z rodziny Ogg, więc jak widzisz – wspierasz otwarte formaty nieświadomie! (:

    Odpowiedz

  8. Jeśli dobrze doczytałem to ta kamera zapisuje w tradycyjnym formacie dvd. I tu nasuwa mi się stwierdzenie że całe twoje ripowanie jest niepotrzebne ( chyba że priorytetem jest jak najmniejszy rozmiar pliku ). Obniżasz sobie w ten sposób jakość filmu i to dwa razy, raz przy ripowaniu i drugi raz przy użyciu mencodera.
    Cały czas zakładam że nagranie zrobione przez kamerę to format dvd, czyli VOB-y ( obraz mpeg2 + audio )

    Moim zdaniem wystarczy avidemux. Otwiera on vob-y, tniesz materiał według uznania, zapisujesz wybrane fragmenty mając ustawione opcje video – copy, audio – copy, format mpeg-ps(a+v). Łączysz tak zapisane fragmenty w avidemux i zapisujesz tak połączony film z takimi samymi ustawieniami jak wyżej plus rozszerzenie mepg2. I gotowe do odtworzenia na każdym sprzęcie. I żadnej straty na jakości bo nic po drodze nie jest kompresowane.

    Jeśli idzie o dźwięk to problem leży chyba w twoim sprzęcie, lub jego ustawieniach. Jakość odtwarzania nawet na sprzęcie mono powinna być bez zarzutu, bez względu na to w jakim formacie ten dźwięk jest kodowany.

    Odpowiedz

  9. Nie obniżam dwa razy – mencoder nie ingeruje w rozmiary pliku, on je wyłącznie łączy, bezstratnie. Rzecz w tym, że na miejscu również mi zależy. I tak uważam, że 30 minutowy materiał mieszczący siew 700 MB to sporo, ale 1 CD to takie moje minimum i maximum zarazem. 1.4 GB to już deczko za dużo. Sama idea jednak jest słuszna i przy niektórych nagraniach rzeczywiście tak zacznę robić (tych priorytetowych, ma się rozumieć). Dzięki! (:

    Odpowiedz

  10. AC-3 moze byc osadzone w kontenerze MPG – standardowo przeciez tak wlasnie jest na plytach DVD, wystarczy wygenerowac elementarny strumien video MPEG-2 i elementarny strumien audio AC-3 i zmultipleksowac to do kontenera MPG. AC-3 moze byc od mono do 5.1 wiec nie jest to ograniczenie kodeka a wylacznie orpogramowania, niestety ffmpeg nie posiada najwyzszej jakosci enkodera AC-3, znacznie lepsza jakosc oferuje Aften http://aften.sourceforge.net/
    Przygotowujac material na plyty warto wybierac wariant ktory da nam najwieksza kompatybilnosc – w tej chwili jest to AVI + XVID + AC-3 – taka kombinacja powinna byc obslugiwana bez wiekszych problemow tak przez komputery (nawet slabsze) i stacjonarne odtwarzacze (co ma te zalete ze nic nam nie warczy, szumi i mozemy bezbolesnie zabrac plyte do znajomych bez zastanawiania sie czy bedzie mozna obejrzec film z wakacji – odtwarzacz DVD z odtwarzaniem XVID to w tej chwili koszt 120zl)

    Odpowiedz

Trackbacki

  1. Tworzenie screencastów w Linuksie @ Hadret’s.Blog

Zostaw odpowiedź