Główna >>

RSS

 

Nożyczki i klej w świecie cyfrowej telewizji

2012-02-13   kategorie: praca kultura

Pamiętam jeszcze dobrze czasy, kiedy montowałem nagrania na taśmach magnetofonowych za pomocą nożyczek i kleju. Nie spodziewałem się, ze tą samą metodą będę się posługiwał w czasach naziemnej telewizji cyfrowej (DVB-T), którą od niedawna mamy w Polsce. Ale zacznijmy od początku :).

W czasach, gdy muzykę czy filmy w coraz większym stopniu przechowujemy na twardych dyskach komputerów, a coraz mniej na fizycznych nośnikach, tradycyjne odtwarzacze płyt CD czy DVD są w coraz większym stopniu wypierane przez tzw. media boxy, czyli odtwarzacze z twardymi dyskami, podłączane do sieci, które potrafią odtwarzać pliki audio i wideo w praktycznie dowolnych powszechnie spotykanych formatach - np. takie jak te. Bardziej zaawansowane modele tych odtwarzaczy są wyposażone również w funkcję nagrywania programów telewizyjnych, przy czym producenci nie zawracają sobie z reguły już głowy instalowaniem w nich tunerów do klasycznej analogowej telewizji, lecz właśnie DVB-T. I ostatnio właśnie trafił mi się plik zarejestrowany przez taką nagrywarkę i pozornie proste zadanie: wyciąć z nagranego materiału reklamy, które nagrały się przed filmem, po filmie i w jego trakcie.

Ciekawy okazuje się już sam format pliku, w którym tego typu urządzenia rejestrują nagrywany program telewizyjny - jest to plik z rozszerzeniem .ts, czyli w formacie MPEG Transport Stream - a konkretnie MPEG-4 Transport Stream, bo taki standard cyfrowej telewizji jest stosowany w Polsce. Plik taki jest po prostu wierną, "na żywca", kopią odebranego z anteny cyfrowego strumienia sygnału telewizyjnego: zawiera nie tylko nadawany program wraz ze wszystkimi ścieżkami dźwiękowymi (jeżeli jest ich więcej niż jedna), ale także dane telegazety, elektronicznego przewodnika po programach (EPG), informacje identyfikujące nadajnik i inne dostępne z niego programy, jak również tytuł nagrywanego programu i informacje o aktualnym czasie.

Pobieżne zapoznanie się z zasobami Internetu ujawniło, że z oprogramowaniem do obsługi plików MPEG-4 TS nie jest wcale tak różowo. Co prawda szereg programów deklaruje w dokumentacji obsługę formatu .ts, ale kiedy wczytać się dokładniej, okazuje się że z reguły chodzi o posiadające to samo rozszerzenie pliki MPEG-2 TS, gdyż standard MPEG-2 upowszechnił się w wielu krajach, które wcześniej od Polski wprowadziły DVB-T, jest również stosowany w telewizji satelitarnej i kablowej.

Pliki MPEG-4 TS teoretycznie potrafi czytać - i wycinać z nich fragmenty - popularne narzędzie ffmpeg, jednak w praktyce okazało się, że utworzone pliki wynikowe mają jakieś błędy i popularne programy odtwarzające, które bez problemu czytały wyjściowy plik (np. VLC), nie do końca sobie z nimi radziły. Wyglądało na to, że jedynym wyjściem będzie albo wykonanie czasochłonnej, pełnej rekompresji filmu - a potem być może jeszcze skorygowanie przesunięcia dźwięku względem obrazu, które pojawiało się, gdy film był zamieniany z formatu .ts na jakiś inny - albo... no właśnie. Użycie starej, prymitywnej metody nożyczek i kleju - po prostu pocięcie "na żywca", na zasadzie "od bajtu A do bajtu B", pliku wyjściowego na części komendą dd, i sklejenie ich ponownie w całość komendą cat.

Takie podejście raczej nie udałoby się z typowym plikiem wideo, np. .avi lub .mp4, ale w przypadku .ts sytuacja jest nieco inna. Skoro taki plik jest bezpośrednim zapisem nadawanego sygnału telewizyjnego, to przecież takie nadawanie może być przerwane w każdej chwili wskutek zakłóceń, jak również - z drugiej strony - w każdej chwili telewidz może włączyć się "w środku" w nadawany program. Musi być zatem możliwe "wskoczenie" w dowolnym miejscu w środek tego strumienia, jak również "urwanie" go w dowolnej chwili i stosowany sposób kodowania musi poradzić sobie z takimi przerwami.

Oczywiście wycięcie właściwych fragmentów wymaga metody prób i błędów, bo trudno bezpośrednio przełożyć długość trwania fragmentu filmu na liczbę megabajtów, które trzeba "uciąć", ale po stosunkowo niewielkiej liczbie prób dało się tę wirtualną, cyfrową taśmę pociąć na kawałki wirtualnymi nożyczkami i skleić wirtualnym klejem - trzeba przyznać, że bardzo dziwnie czułem się przy tej operacji :). Edycja wideo metodą kopiowania "na żywca" przeciętych w przypadkowym miejscu kawałków pliku jakoś nie kojarzy się z wysoką technologią ;). Ale liczy się efekt końcowy, a ten odtwarza się prawidłowo, a przy tym uzyskany został znacznie szybciej niż byłoby to przy pełnej rekompresji pliku. Jedynym - w tym przypadku raczej kosmetycznym i nieistotnym - problemem jest błędny kod czasowy zapisany w tak uzyskanym pliku; pokazywana przez odtwarzacz długość trwania filmu jest znacznie większa od rzeczywistej. Ale w oglądaniu to nie przeszkadza :).

Jednak fakt, że pliki .ts poddają się tak topornym ;) sposobom edycji, jest - myślę - dość oryginalną ciekawostką, i wartą opisania... :)

komentarze (0) >>>