2012-03-31 16 views
9

W zeszłym tygodniu przeszedłem wiele multimedialnych rzeczy, które zostały pomieszane w kilku pytaniach. Są one związane z moją pracą nad opracowywaniem odtwarzacza multimedialnego. Moje pytania poniżej oparte są tylko na tym. Poszukuję także e-booków/zasobów do kodeków multimedialnych?Pojęcie o kodekach multimedialnych (pojemnik, format, kodek, Muxer, demultak)

Poszukuję następujących informacji?

  1. Jaka jest różnica między ramką, formatem, kodeka, pakietem, ramką ? Wierzę, że jest Container -> Audio (strumienie) + Film (strumienie)

Strumienie są kodowane/dekodowane z wykorzystaniem kodeków Streams -> Pakiety Pakiety -> Ramki

(2) W jaki sposób muxer, demuxer, koder, drabina dekodera działa? po której stronie leży?

(3) Kiedy mówimy o nowym kodeku - co to oznacza? - Koder/dekoder lub nowy format pliku. AVI to kodek lub format? Czy istnieje jakaś zależność między kodeka, którego używamy, a formatem pliku.

(4) W jakim sensie jeden kodek różni się od innego kodeka? Odtwarzanie bitrate, rozmiar, jakość, fps?

(5) Jeśli opracowujemy nowy kodek, co musi być inne? - Algorytm kodera i dekodera?

(6) Blu-ray i DVD Rip? Jakie są nowe formaty lub nowe kodeki?

(7) Jeśli chcę zapewnić obsługę powyższych kodeków w moim odtwarzaczu multimedialnym, w jaki sposób mogę zintegrować różne kodeki? W formie niektórych bibliotek lub bezpośredniego kodu źródłowego?

(8) W jaki sposób różne ramy multimedialne (Gstremaer, ffmpeg, stagefright, OpenCore) różnią się w odniesieniu do kodeka.

obserwuję jest/są linki I już przez:

http://dranger.com/ffmpeg/tutorial01.html

Odpowiedz

22

Oto wolne źródło informacji na początek (pełne ujawnienie: uruchomić :-) miejscu): MultimediaWiki. Dalej, oto dokument, który napisałem dawno temu, który może pomóc w wielu pytaniach: Multimedia Technology Basics. Spróbuję odpowiedzieć na twoje pytania tutaj.

1) Format kontenera (np. AVI lub QuickTime/MOV) zwykle zawiera (zawiera) różne strumienie, zwykle co najmniej jeden strumień wideo i jeden strumień audio. Te strumienie audio i wideo są zwykle kodowane przy użyciu kodeku, który jest algorytmem opisującym bardziej wydajną metodę kodowania danych. Pakiety i ramki: Czasami fragmenty danych wideo lub audio są dzielone na pakiety lub ramki, zgodnie z ich specyfikacjami kodeków, ale to zazwyczaj prowadzi do semantyki - pakietów, ramek, kawałków, wszystkie są po prostu kawałkami.

2) Kiedy tworzysz plik multimedialny, używasz algorytmu kodera do kodowania danych wideo i audio, a następnie używasz muxera, aby umieścić strumienie w pliku (pojemniku). Aby odtworzyć plik, demuxer rozbiera strumienie i przesyła je do dekoderów w celu uzyskania danych wideo i audio.

3) Kodek oznacza koder/dekoder i jest oddzielną koncepcją z formatu kontenera.Wiele formatów kontenerów może zawierać wiele różnych formatów (AVI i QuickTime/MOV są bardzo ogólne). Inne formaty są ograniczone do jednego lub dwóch typów mediów.

4) Kodeki konkurują na wielu czynnikach i są przeznaczone do wielu celów. Jedną dużą różnicą jest przegrana w porównaniu z bezstratną. Jeśli chcesz zachować wszystkie oryginalne informacje, wybierasz format bezstratny, ale nie uzyskasz najlepszej kompresji. Jeśli możesz pozwolić sobie na utratę pewnych danych, możesz wybrać format stratny, który poświęci (miejmy nadzieję niedostrzegalne dla ludzi) informacje w zamian za większą kompresję. Niektóre kodeki są zoptymalizowane pod kątem różnych rodzajów danych, takich jak kodeki mowy, które przyjmują, że dane wejściowe mówią ludziom, lub ekranowe kodeki wideo, które zakładają, że wideo wejściowe jest względnie statyczną sesją pulpitu komputera.

5) Utworzenie nowego kodeka oznaczałoby nowy algorytm, który wymagałby nowego dekodera O i kodera.

6) Myślę, że te liczą się jako pojemniki. Rip DVD może być nazywany strumieniem programu MPEG (MPEG-PS), który prawdopodobnie zawiera dane wideo MPEG-2 i jeden z kilku różnych typów audio.

7) Istnieje wiele bibliotek do odtwarzania tych rzeczy. Przede wszystkim należy wziąć pod uwagę platformę (Windows, Mac OS X, Linux, iOS, Android itp.). Na każdym z nich znajdują się odpowiednie biblioteki i frameworki.

8) Znowu wiele z tych frameworków i bibliotek prawdopodobnie zaspokoi Twoje potrzeby. To zależy od twojej platformy i potrzeb licencyjnych.

Mam nadzieję, że dało ci to coś do pracy. Jak widać z mojego uchwytu, uwielbiam mówić o tych rzeczach. :-)

+0

bardzo informacyjny ... Zrobię to dokładnie. Dzięki. – Raulp

+0

@Multimedia Mike: Dzięki za ten wpis. – sam

+0

@Multimedia Mike Czy możesz pomóc z moim pytaniem pod adresem: [link] (http://stackoverflow.com/questions/21046088/video-encoding-decoding-ffmpeg-libav) Z góry dziękuję! – learner