Blog (66)
Komentarze (478)
Recenzje (0)

Pliki wideo skompresowane H.264/MPEG-4 AVC - cięcie bez ponownej rekompresji

@bravoPliki wideo skompresowane H.264/MPEG-4 AVC - cięcie bez ponownej rekompresji27.01.2013 19:57

Historia ta wydarzyła się wiele cykli temu, w czasach kiedy nastała nowa era, era cyfrowego filmu w wysokiej (jak na ówczesne czasy) rozdzielczości full HD - czyli 1920x1080 pikseli. Nastał w tym okresie zmierzch telewizji analogowej i tak zwanego "przechwytywania" obrazu, za pomocą karty telewizyjnej / wideo. Aktualnie rozdzielczość Full HD jest dostępna w smartfonach z niższej półki i nikogo to już nie dziwi, zwłaszcza użytkowników telewizorów z matrycami 4k - które powoli ustępują nowszym konstrukcjom. Przenieśmy się zatem w czasie, kiedy to rozpoczynała się przygoda z cyfrowym materiałem wideo.

Pewnego dnia okazało się, że w naziemnej telewizji cyfrowej (wtedy nazywanej DVB-T, aktualnie już nie stosowanej przynajmniej od kilkunastu lat) - nadają ciekawy program (co zdarzało się dość rzadko). Postanowiłem nagrać go sobie przy użyciu cyfrowego tunera, podłączanego do gniazda USB. Testowałem wówczas ciekawy program do oglądania telewizji cyfrowej, mianowicie "SmartDVB"

Co prawda była to wczesna wersja aplikacji, ale bardzo mi się spodobała. Na początku miałem pewien problem z uruchomieniem, ale wystarczyło ręcznie zdefiniować częstotliwości w pliku xxx.ini i wszystko ruszyło.

H.264 - pierwsze starcie

Tak wiec miałem działający program do obsługi tunerka i mogłem rozpocząć nagrywanie. Po zarejestrowaniu materiału, postanowiłem powycinać niektóre fragmenty. Było to moje pierwsze podejście do operacji na plikach zakodowanych kodekiem h.264/AVC. Nauczony łatwym wycinaniem plików avi w aplikacji VirtualDub, przeciągnąłem materiał na ikonę aplikacji. Niestety nic z tego nie wyszło, ponieważ format nie został rozpoznany. Hmmm pomyślałem, no tak - przecież to nie avi, tylko TS (transport stream). Poszukałem więc trochę w sieci (w tamtych czasach istniała taka wyszukiwarka jak google) i znalazłem wtyczkę do VirtualDub-a, która umożliwiała załadowanie praktycznie każdego pliku wideo. Nazywała się: "DShowInputDriver.vdplugin". Teraz wszystko poszło gładko. Ale moja radość nie trwała długo, ponieważ działało to dość wolno i nie dało się kopiować strumienia danych (direct stream copy). Czyli aby po wycięciu niechcianych fragmentów, zapisać materiał należało wykonać rekompresję. Nie wchodziło to w grę z powodu strat na jakości oraz długiego czasu trwania takiej operacji (teraz w dobie układów APU 18 i 19 generacji, to się chce śmiać). Postanowiłem poszukać lepszego rozwiązania.

Cięcie plików HD bez rekompresji

Przewertowałem wiele zakamarków internetu i nic nie znalazłem. Naczytałem się różnych opinii, że ze względu na dużą złożoność takiego pliku, jest bardzo ciężko zrobić program, który byłby w stanie bez problemu wycinać fragmenty i łączyć bez rekompresji. Nie dawałem za wygraną i w końcu dopiąłem swego. Znalazłem bardzo ciekawą aplikację o nazwie: "TSSNIPER"

Potrafi ona wyciąć niechciane fragmenty i przekopiować resztę materiału bez ponownej kompresji. Aby dokonać tego "cudu", należy przygotować odpowiednio program: 1. Należy mieć zainstalowany Haali Media Splitter (np. wraz z pakietem K-Lite Codec Pack) 2. Należy mieć zainstalowany kodek DiviX (wersja dekodująca h.264) 3. Wchodzimy do ustawień TSSniper-a (menu->Extras->Settings) 4. Przechodzimy na zakładkę General, a następnie na DirectShow i ustawiamy tak jak poniżej oraz zatwierdzamy OK:

[1/2]
[2/2]

5. Tworzymy nowy projekt File->New project 6. Dodajemy materiał wideo w formacie TS (właściwie w kontenerze) przez File->Add new file...

Jeżeli wszystko zrobiliśmy dobrze, to po lewej stronie pokaże nam się informacja o załadowanym materiale. Następnie Ustawiamy kursor w miejscu, gdzie chcemy rozpocząć wycinanie i klikamy na ] , a tam gdzie kończyć się ma [ . Następnie wciskamy klawisz F9 i tym sposobem niechciane fragmenty zostają wpisane na listę do wycięcia "Cuts":

Aby zwiększyć precyzję ustawienia kursora, można posłużyć się strzałkami umieszczonymi na początku oraz na końcu linii czasu. Gdy już mamy zaznaczone fragmenty do wycięcia, klikamy na "Export transport stream (TS)". Operacja wycinania trwa od kilkunastu do kilkudziesięciu SEKUND! (w zależności od objętości pliku i szybkości dysku).

Wybranie takiego splitera i dekodera daje najlepszą precyzję przy ustawianiu kursora. Metodą prób i błędów, udało mi się ustalić te, które dają dokładność do kilku klatek obrazu.

Powyższym programem, można wycinać wszystkie pliki TS czy MTS, również z kamer cyfrowych AVCHD.

Uwagi oraz mała rada

Jak zwykle, nie ma róży bez kolców. Tym razem chodzi o dźwięk. TSSniper ma problem z odtwarzaniem niektórych ścieżek dźwiękowych, szczególnie E-AC3 (taki jest nadawany w polskim DVB-T) i źle rozpoznaje bitrate. Oczywiście nie ma to wpływu na obrabiany materiał, ale może troszkę przeszkadzać podczas zabawy w wycinanie. Możemy przykładowo zechcieć odtworzyć fragment. W takim układzie zalecam podczas nagrywania strumienia - zaznaczyć nagrywanie wszystkich strumieni audio. Gdy załadujemy taki plik do naszej aplikacji, możemy w razie problemów przełączyć się na inny strumień audio i normalnie pracować. Polska cyfrówka nadaje równocześnie audio mpeg2, więc nie będzie problemu. Kolejna rada jest związana z używanymi dekoderami audio i wideo. Okazuje się bowiem, że "ffdshow" mam problemy np. E-AC3. Dlatego jeżeli coś nam nie działa. to zalecam używanie dekoderów LAV (jest w pakiecie K-Lite Codec Pack)

Baza Księżycowa M21, rok 2052. :-)

Szanowna Użytkowniczko! Szanowny Użytkowniku!
×
Aby dalej móc dostarczać coraz lepsze materiały redakcyjne i udostępniać coraz lepsze usługi, potrzebujemy zgody na dopasowanie treści marketingowych do Twojego zachowania. Twoje dane są u nas bezpieczne, a zgodę możesz wycofać w każdej chwili na podstronie polityka prywatności.

Kliknij "PRZECHODZĘ DO SERWISU" lub na symbol "X" w górnym rogu tej planszy, jeżeli zgadzasz się na przetwarzanie przez Wirtualną Polskę i naszych Zaufanych Partnerów Twoich danych osobowych, zbieranych w ramach korzystania przez Ciebie z usług, portali i serwisów internetowych Wirtualnej Polski (w tym danych zapisywanych w plikach cookies) w celach marketingowych realizowanych na zlecenie naszych Zaufanych Partnerów. Jeśli nie zgadzasz się na przetwarzanie Twoich danych osobowych skorzystaj z ustawień w polityce prywatności. Zgoda jest dobrowolna i możesz ją w dowolnym momencie wycofać zmieniając ustawienia w polityce prywatności (w której znajdziesz odpowiedzi na wszystkie pytania związane z przetwarzaniem Twoich danych osobowych).

Od 25 maja 2018 roku obowiązuje Rozporządzenie Parlamentu Europejskiego i Rady (UE) 2016/679 (określane jako "RODO"). W związku z tym chcielibyśmy poinformować o przetwarzaniu Twoich danych oraz zasadach, na jakich odbywa się to po dniu 25 maja 2018 roku.

Kto będzie administratorem Twoich danych?

Administratorami Twoich danych będzie Wirtualna Polska Media Spółka Akcyjna z siedzibą w Warszawie, oraz pozostałe spółki z grupy Wirtualna Polska, jak również nasi Zaufani Partnerzy, z którymi stale współpracujemy. Szczegółowe informacje dotyczące administratorów znajdują się w polityce prywatności.

O jakich danych mówimy?

Chodzi o dane osobowe, które są zbierane w ramach korzystania przez Ciebie z naszych usług, portali i serwisów internetowych udostępnianych przez Wirtualną Polskę, w tym zapisywanych w plikach cookies, które są instalowane na naszych stronach przez Wirtualną Polskę oraz naszych Zaufanych Partnerów.

Dlaczego chcemy przetwarzać Twoje dane?

Przetwarzamy je dostarczać coraz lepsze materiały redakcyjne, dopasować ich tematykę do Twoich zainteresowań, tworzyć portale i serwisy internetowe, z których będziesz korzystać z przyjemnością, zapewniać większe bezpieczeństwo usług, udoskonalać nasze usługi i maksymalnie dopasować je do Twoich zainteresowań, pokazywać reklamy dopasowane do Twoich potrzeb. Szczegółowe informacje dotyczące celów przetwarzania Twoich danych znajdują się w polityce prywatności.

Komu możemy przekazać dane?

Twoje dane możemy przekazywać podmiotom przetwarzającym je na nasze zlecenie oraz podmiotom uprawnionym do uzyskania danych na podstawie obowiązującego prawa – oczywiście tylko, gdy wystąpią z żądaniem w oparciu o stosowną podstawę prawną.

Jakie masz prawa w stosunku do Twoich danych?

Masz prawo żądania dostępu, sprostowania, usunięcia lub ograniczenia przetwarzania danych. Możesz wycofać zgodę na przetwarzanie, zgłosić sprzeciw oraz skorzystać z innych praw wymienionych szczegółowo w polityce prywatności.

Jakie są podstawy prawne przetwarzania Twoich danych?

Podstawą prawną przetwarzania Twoich danych w celu świadczenia usług jest niezbędność do wykonania umów o ich świadczenie (tymi umowami są zazwyczaj regulaminy). Podstawą prawną przetwarzania danych w celu pomiarów statystycznych i marketingu własnego administratorów jest tzw. uzasadniony interes administratora. Przetwarzanie Twoich danych w celach marketingowych realizowanych przez Wirtualną Polskę na zlecenie Zaufanych Partnerów i bezpośrednio przez Zaufanych Partnerów będzie odbywać się na podstawie Twojej dobrowolnej zgody.