konwersja AVCHD na łatwo edytowalny format (MJPEG)

To forum służy dyskusji o montażu liniowym i nieliniowym wideo. Tutaj także tematy związane z komputerami i oprogramowaniem.

Moderatorzy: Troxx, rml

Treść
Avatar użytkownika
GrassHoppeR
-# moderator
 
Posty: 2647
Dołączył(a): 2004-09-05, 23:40
Pomógł: 74

konwersja AVCHD na łatwo edytowalny format (MJPEG)

Postprzez GrassHoppeR » 2008-07-30, 17:00

konwersja plików AVCHD (*.M2TS) z Panasonic SD1 do MJPEG HD 720p.

"artykuł" ten ma za zadanie wskazać drogę, nie jest gotowym przepisem i nie u każdego pewnie będzie działać. opisana metoda jest opracowana przeze mnie w celu ułatwienia sobie życia więc korzysta z moich ulubionych narzędzi.

sięgając pamięcią nie tak znowu daleko, zaledwie kilka lat wstecz, większość z nas uśmiechnie się na myśl, że trzeba było podłączać kamerę "eską" pod kartę, a potem zapisać np. popularnym MJPEGiem do pliku avi. materiał w MJPEGu można było bez problemu edytować na celeronie 450 MHz. zmontowane nagranie zgrywało się za pośrednictwem karty na magnetowid i już można było się chwalić montażem cyfrowym i doskonałej jakości obrazem VHS (ex MJPEG).
rewolucja cyfrowa, która nastąpiła po tej erze, zaangażowała do kompresji obrazu na taśmie zmodyfikowaną wersję MJPEGa - DV. dla zapewnienia stałego bitrate 25mbps zrezygnowano z końcowego etapu kompresji bezstratnej, czyli w stosunku do MJPEGa bitrate wzrósł a jakość pozostała taka sama. oznacza to, że DV nie jest najefektywniejszym sposobem kompresji (można to sprawdzić kompresując DV np. RAR'em). mimo to został uznany ósmym cudem świata i nawet wielokrotnie rekompresowany stanowił wzorowy materiał do kompresji MPEG2, bez zastrzeżeń. ;-)
na początku nowej rewolucji HD okazało się, że duże ilości silnie skompresowanych (za pomocą już nie metod wewnątrzobrazowych, a międzyobrazowych) materiałów video są trudne w edycji, a konwersja jest czasochłonna, daje gigantyczne pliki lub degraduje jakość. pojawiły się "rozwiązania" jak płatne kodeki intermediate czy wtyczki do obsługi trudnych formatów w PROsofcie.
tymczasem w kącie stoi nieco przykurzony, ale idealny do wykorzystania MJPEG. i o nim będzie ten "artykuł".

co będzie potrzebne?
-kodek directshow h.264 (z PowerDVD, CoreAVC, ffdshow)
-avisynth do wczytania strumienia h.264
-tomsmocomp - plugin do avisyntha do deinterlace'u
-mencoder do konwersji
-virtualdub do podglądu różnych etapów
-kodek morgan MJPEG do importu do PROgramów NLE

zakaładam, że wszystko jest prawidłowo zainstalowane, a pliki AVCHD uruchomić można np. w Media Player Classic.

zaczynamy od stworzenia w notatniku skryptu dla avisyntha:

plik.avs:
Kod: Zaznacz cały
directshowsource("plik.M2TS") #wczytanie pliku za pomocją DS
tomsmocomp(1,5,1)             #deinterlace
lanczosresize(1280,720)       #zmiana rozmiaru do 720p
assumefps(25)                 #wymuszanie 25 fps


jak wygląda efekt działania skryptu można zobaczyć otwierając plik avs w virtualdubie. deinterlace nie jest konieczny, o ile kodek ma ustawione automatyczne usuwanie przeplotu. możemy też usunąć przeplot i przeskalować bezpośrednio w mencoderze, ale o tym dalej.
aby przekonwertować na MJPEG stworzymy w notatniku plik wsadowy wywołujący program mencoder:

plik.bat:
Kod: Zaznacz cały
mencoder.exe plik.avs -o plik.avi -ovc lavc -lavcopts vcodec=mjpeg -oac copy


konwerter odczyta skrypt avs i korzystając z kodeka MJPEG z "fabrycznymi" ustawieniami zapisze plik avi oraz przekopiuje dźwięk z oryginału (-oac copy).

tak przekonwertowany plik zachowuje, przy nieco mniejszej przepływności niż DV (!), bardzo dobrą jakość materiału HD, a przy tym jest bardzo łatwy w edycji, jak to bywa w przypadku kompresji wewnątrzobrazowej. jeśli mamy zainstalowany odpowiedni kodek MJPEG (np. Morgan), to bez problemu zaimportujemy plik do premiere.

jeśli bardziej pasuje nam obróbka w DV, to zamieniamy -ovc na:
Kod: Zaznacz cały
-ovc lavc -ffourcc dvsd -lavcopts vcodec=dvvideo:aspect=16/9
oraz
scale=720:576
prawdopodobnie również:
-oac pcm

jeśli skalujemy w mencoderze (scale) to nie musimy skalować w skrypcie avisyntha i odwrotnie. zamiast scale=720:576 w mencoderze korzystamy z lanczosresize(720,576) w avisynthcie.

a jeśli chcemy DivX'a:
Kod: Zaznacz cały
-ovc lavc -ffourcc divx -lavcopts vcodec=mpeg4:vbitrate=6000


no tak, ale po co tyle zachodu, skoro zrobi nam to każdy soft do edycji?
zgadza się, ale dzięki temu, że korzystamy z avisyntha możemy dokonać różnych "przeróbek" przed konwersją (np. odszumianie czy wyostrzanie), a dzięki użyciu konwertera uruchamianego z paska zadań, możemy przetwarzać wsadowo. oznacza to, że wystarczy uruchomić plik wsadowy bat i przekonwertować wszystkie pliki w katalogu na raz, automatycznie!

jak to zrobić?
najpierw każemy dla wszystkich plików z rozszerzeniem M2TS stworzyć skrypt avs:
Kod: Zaznacz cały
for %%f in (*.M2TS) do echo DirectshowSource("%%f").tomsmocomp(1,2,1).lanczosresize(1280,720)>%%~nf.avs

a następnie dodajemy linijkę
Kod: Zaznacz cały
for %%f in (*.avs) do mencoder.exe %%f -o %%~nf.avi -ovc...

i dalej parametry dla mencodera. spowoduje to uruchomienie mencodera dla każdego pliku avs w katalogu.
plik tworzymy w notatniku i zapisujemy z rozszerzeniem bat. oczywiście należy podawać pełną ścieżkę do mencodera a plik bat skopiować do katalogu z plikami M2TS, które chcemy przekonwertować.

czasem nie jest potrzebne korzystanie z avisyntha, gdyż mencoder sam sobie radzi z odczytem oryginalnego pliku, np. pliku TOD z JVC. pojawia się wtedy jednak konieczność deinterlace'u i skalowania bezpośrednio w mencoderze. robimy to komendą:
Kod: Zaznacz cały
-vf lavcdeint,scale=1280:720


istnieje kilka rodzajów deinterlace'u w mencoderze.
w celu zapoznania się z komendami mencodera odsyłam do dokumentacji programu.

pozdrawiam
PS. oczywiście 1280x720p nie jest obowiązkowe, wszystko zależy od potrzeb i preferencji.

[ Dodano: 2008-07-30, 18:37 ]
oczywiście proszę o komentarze i uzupełnienia :!:
zapraszam na mój kanał na YouTube
Obrazek
GG: 2491715 peaceant(at)wp.pl

Zobacz
 

przez Zobacz » 2008-07-30, 20:48


panjacek
-# 04
 
Posty: 763
Dołączył(a): 2005-01-16, 14:24
Pomógł: 25

Postprzez panjacek » 2008-07-30, 20:48

Czy próbowałeś z większymi rozdzielczościami, np 1440x1080 lub wyżej?

Piotr Piasecki
-# 06
 
Posty: 2706
Dołączył(a): 2004-03-02, 10:46
Pomógł: 111

Re: konwersja AVCHD na łatwo edytowalny format (MJPEG)

Postprzez Piotr Piasecki » 2008-07-30, 21:08

GrassHoppeR napisał(a):...
rewolucja cyfrowa, która nastąpiła po tej erze, zaangażowała do kompresji obrazu na taśmie zmodyfikowaną wersję MJPEGa - DV. dla zapewnienia stałego bitrate 25mbps zrezygnowano z końcowego etapu kompresji bezstratnej, czyli w stosunku do MJPEGa bitrate wzrósł a jakość pozostała taka sama. oznacza to, że DV nie jest najefektywniejszym sposobem kompresji (można to sprawdzić kompresując DV np. RAR'em). mimo to został uznany ósmym cudem świata i nawet wielokrotnie rekompresowany stanowił wzorowy materiał do kompresji MPEG2, bez zastrzeżeń. ;-)
...
oczywiście proszę o komentarze i uzupełnienia :!:

Boję się że nawet do komentarza mam za mało wiedzy, co dopiero do uzupełnień ;-) , ale mam pytanie - dawno temu kompresję MJPEG uważano za "złą" a obraz za jej pomocą uzyskany za niezbyt dobry. Bardziej ceniono HuffYUV na przykład. Możliwe że złą opinię zyskał MJPEG przez złą jakość materiału wejściowego z tunerów TV i tym podobnych, ale pytanie pozostaje: Dlaczego MJPEG?
Bo że łatwy do edycji jak DV to jasne.

PS Z tym "ósmym cudem świata" to nie przesadzaj - z resztą sam podkreślasz łatwość edycji wewnątrzobrazowych kodeków ;-), a wielokrotna kompresja była tępiona i na Fimowcu i ŚO zawsze :-D .
Pozdrawiam - kotin.

Avatar użytkownika
fransua
-# 06
 
Posty: 2451
Dołączył(a): 2007-08-01, 15:15
Pomógł: 160

Postprzez fransua » 2008-07-31, 10:35

Szacunek GrassHopper Moze gdzies to przykleic co by nie zaginelo.
Magix tutki - https://www.youtube.com/user/SKYPANpl

Avatar użytkownika
GrassHoppeR
-# moderator
 
Posty: 2647
Dołączył(a): 2004-09-05, 23:40
Pomógł: 74

Postprzez GrassHoppeR » 2008-07-31, 11:43

panjacek napisał(a):Czy próbowałeś z większymi rozdzielczościami, np 1440x1080 lub wyżej?

oczywiście sprawdzałem, konwersja działa. nie korzystam z większych rozdzielczości tym bardziej po deinterlace, więc dopiero teraz widzę, że z kolei import do premiere pliku fullHD powoduje błąd. być może to wina Morgana. poszukam innego i dam znać.
z drugiej strony mam nadzieję, że sami "popróbujecie" dodając swoje spostrzeżenia :->
dawno temu kompresję MJPEG uważano za "złą" a obraz za jej pomocą uzyskany za niezbyt dobry. Bardziej ceniono HuffYUV na przykład. Możliwe że złą opinię zyskał MJPEG przez złą jakość materiału wejściowego z tunerów TV i tym podobnych, ale pytanie pozostaje: Dlaczego MJPEG?

podejrzewam, że chodziło o szybsze/mniej dokładne algorytmy ze względu na "nie wyrabianie się" komputerów vs. łatwiuteńka, niezbyt efektywna kompresja bezstratna. teraz komputery są tak szybkie, że nawet VHQ nie sprawia im żadnego problemu, choć jako bardziej dokładna jest też obliczeniowo bardziej skomplikowana. dlaczego MJPEG?... mam milion wytłumaczeń, ale tak naprawdę z powodu łatwości kodowania MJPEGa w mencoderze i istnienia darmowych kodeków przy wystarczającej jakości. to oczywiście wstęp. rozglądam się też za możliwością wykorzystania MJPEG2000 (z transformatą falkową) oraz AVC Intra (transformata całkowitoliczbowa), jednak to nie na teraz. chyba, że ktoś z was opracuje prędzej ;-)

pozdrawiam
zapraszam na mój kanał na YouTube
Obrazek
GG: 2491715 peaceant(at)wp.pl

panjacek
-# 04
 
Posty: 763
Dołączył(a): 2005-01-16, 14:24
Pomógł: 25

Postprzez panjacek » 2008-08-01, 06:29

Ja pracuję na plikach MJPEG, jednak przechwytuję je sprzętowo. Klip nigdy nie jest innym formatem. Maszyna zapisuje go w rozdzielczoąci 1920x1080 pikseli, strumień ok 100Mb/s. Jakość jest dużo lepsza od HDV a pliki są łatwe w edycji.
Niedogodnością jest to, że podczas rejestracji kamera jest połączona z komputerem a maksymalna długość przewodu to ok 15 m.

Pozdrawiam

wlodek1956
-# 01
 
Posty: 80
Dołączył(a): 2007-04-02, 05:49
Lokalizacja: Wrocław
Pomógł: 3

cd.

Postprzez wlodek1956 » 2008-08-10, 17:26

Witam ! Panowie pewnie to żadne odkrycie ale na stronie canopusa/japan jest ciekawy programik darmowy do konwersji AVCHD na AVI. Pierwsze moje próby są obiecujące tylko szkoda , że opcja FINE jest wyłączona.
P.S. po konwersli edycja w edku to bajka :mrgreen: Pozdrawiam :lol: a i programik jest prosty jak cep ...

panjacek
-# 04
 
Posty: 763
Dołączył(a): 2005-01-16, 14:24
Pomógł: 25

Postprzez panjacek » 2008-08-10, 18:19

To konwerteruje do Canopus HQ. Jeśli ktoś nie używa Ediusa lub Neo, to to powinien zainstalować w systemie encoder Canopus HQ.

wlodek1956
-# 01
 
Posty: 80
Dołączył(a): 2007-04-02, 05:49
Lokalizacja: Wrocław
Pomógł: 3

cd.

Postprzez wlodek1956 » 2008-08-10, 18:46

panjacek napisał(a):To konwerteruje do Canopus HQ. Jeśli ktoś nie używa Ediusa lub Neo, to to powinien zainstalować w systemie encoder Canopus HQ.

Czy Kolega ma doświadczenia z tym konwerterem ? jakieś rady... :lol: zwłaszcza co do ustawień własnych ?

WiruSSS
-# 01
 
Posty: 19
Dołączył(a): 2008-04-28, 23:14

Postprzez WiruSSS » 2008-08-22, 23:16

witam

Może sie mylę ale z tego co ja się orientuję to MJPEG to nic innego jak zapis każdej klatki zwykłym algorytmem jpeg, więc chyba kompresją bezstratną tego nazwac nie mozna ? ;)

panjacek ...czyżby blackmagic brał udzial przy przechwytywaniu ? ;)

Avatar użytkownika
GrassHoppeR
-# moderator
 
Posty: 2647
Dołączył(a): 2004-09-05, 23:40
Pomógł: 74

Postprzez GrassHoppeR » 2008-08-23, 09:21

WiruSSS napisał(a):Może sie mylę ale z tego co ja się orientuję to MJPEG to nic innego jak zapis każdej klatki zwykłym algorytmem jpeg, więc chyba kompresją bezstratną tego nazwac nie mozna ? ;)

nikt nie twierdził inaczej.

pozdrawiam
PS. ktokolwiek wypróbował tę metodę?
zapraszam na mój kanał na YouTube
Obrazek
GG: 2491715 peaceant(at)wp.pl

panjacek
-# 04
 
Posty: 763
Dołączył(a): 2005-01-16, 14:24
Pomógł: 25

Postprzez panjacek » 2008-08-23, 11:31

Tak. Działa.

Pozdrawiam

Avatar użytkownika
GrassHoppeR
-# moderator
 
Posty: 2647
Dołączył(a): 2004-09-05, 23:40
Pomógł: 74

Postprzez GrassHoppeR » 2010-02-16, 12:21

no to jeszcze przepis dla leniuszków. ;-)

potrzebne:
ffdshow
VirtualDub
DirectShow input driver

dzięki ffdshow możemy odtwarzać AVCHD. plik taki możemy otworzyć w VirtualDub:
File->Open... (CTRL+O)
wybrać z listy Pliki typu "All types (*.*)"
wybrać plik, który chcemy otworzyć
wybrać ponownie z listy Pliki typu: "DirectShow input driver" i otworzyć plik
Video->Fast recompress*
Video->Compression (CTRL+P)
wybieramy ffdshow->MJPEG, Tryb: 1 przebieg - jakość i suwaczkiem wybieramy żądaną jakość
jeżeli mamy klip z przeplotem to zaznaczamy przeplot w "Strumień wejścia"
File->Save... (F7)

...i czekamy cierpliwie.

*jeśli konieczne jest filtrowanie obrazu to korzystamy z trybu "Full processing mode" i żądane filtry dodajemy w Video->Filters...

pozdrawiam
zapraszam na mój kanał na YouTube
Obrazek
GG: 2491715 peaceant(at)wp.pl

kabatkamera
-# 01
 
Posty: 14
Dołączył(a): 2007-08-21, 15:14

DirectShow input driver

Postprzez kabatkamera » 2010-03-24, 17:45

DirectShow input driver gdzie go wkleic do VirtualDub - mam 1,95
ffdshow z kodekóe i nie dziala na pliku m2ts
Co robię nie tak.
kabat

balcerek
-# 01
 
Posty: 22
Dołączył(a): 2012-07-12, 21:13

konwersja AVCHD na łatwo edytowalny format (MJPEG)

Postprzez balcerek » 2013-06-03, 17:06

Witam guru GrassHoppera
Odświeżam temat bo trochę czasu i techniki minęło a problemy pozostały :)
Chcę zamienić M2TS 1080p z aparatu Sony A57 na MJPEG żeby szło lepiej coś z tym zrobić.
Za radą kolegów z innego forum ściągnąłem sobie darmową paczkę z kodekami Matroxa.
http://www.matrox.com/video/en/support/windows/vfw_software_codecs/downloads/softwares/version1.0/
W paczce jest też MJPEG. Niestety przy próbie konwersji w VirtualDub'ie z M2TS > Avi MJPEG program się zawiesza przy ok 90%. Próbowałem wersji 32bit i 64bit i w obu jest tak samo.
Wobec tego mam pytanie jakim innym programem mogę zrobić konwersję za pomocą kodeka Matroxa ?
W różnych darmowych jakie ściągałem można wybierać tylko jakieś wbudowane. Jest jakiś inny program, w którym można wybierać kodeki systemowe ? A może kolega GrassHopper znalazł jakiś alternatywny kodek MJPEG ?
Niestety z tego co widzę Morgan MJ2k jest płatny.
Nie wiem czy dobrze rozumiem ideę MenCodera, ale on chyba też pozwala tylko na użycie wbudowanych kodeków ?
Kamera: Sony A77, Komputer: i5, 16GB ram, płyta MSI Z87, Win 8.1, Magix 2015 plus (Movie Edit Pro 2015 plus)
Pozdrawiam

Następna strona

Powrót do Montaż wideo i komputery