Portál AbcLinuxu, 6. května 2025 06:19

Dotaz: Zpracování videa MPEG TS - předčasný konec dlouhé nahrávky (24 hodin)

9.1.2013 13:45 camel1cz | skóre: 25
Zpracování videa MPEG TS - předčasný konec dlouhé nahrávky (24 hodin)
Přečteno: 672×
Odpovědět | Admin

Zdravím a opět prosím o radu zkušenější videodeditační uživatele. Vystřelím teď ten problém - následně níže popíšu celý setup:

Nahraný stream (MPEG TS z DVB-T) nedokážu dostat do MP4(h264/MP3) celý... už pri demultiplexování mi projectx hlásí kratší video i audio stopu, ale pozitivně vím, že nahrávka je delší.


Nejsem odborník na video, ale mám podezření na wraparound nějakých interních čítačů (PTS?), které vyhodnotí projectx jako konec souboru. Našel jsem na to utilitku, která zvládá přečíslovat celý stream, ale asi to nedělá 100% - video se sice po prohnání projectx tváří OK (24hodin) ale zvuk je asi o 13 hodin posunutý (ten přečíslovací prográmek asi něco nepřečísloval a zvuk se při multiplexování mapuje na špatné video frames). Tedy vznikne mp2 s 13 hodinama ticha a pak začíná správný zvuk, který je useknutý při skončení videa.

Log projectx na originální nahrávku (video i audio sedí, ale zjevně délka není 24 hodin):

Audio PTS: first packet 04:06:35.247, last packet 01:41:00.975
Video PTS: start 1.GOP 04:06:35.876, end last GOP 01:41:00.756

Log projectx na "opravený" soubor (video je OK, ale Audio nesedí a vzniká ten posunutý zvuk):

Audio PTS: first packet 13:15:21.509, last packet 01:41:00.965
Video PTS: start 1.GOP 00:00:00.280, end last GOP 23:59:59.240

No jsem z toho dost v koncích - nějaké rady?

 

Přesný popis co a jak dělám:

  1. Nahrávám z DVB-T 24/7 - vždy jeden den jeden soubor. Velikost cca. 40GB, formát "surový" MPEG TS (MPEG2/MPEG L1)
  2. (variantně) přečíslování PTS, toto řeší ale jen část problému a je to taková divná perl utilitka od nějakého japonce - navíc neopravuje správně zvuk. Zjevně je ještě špatně GOP - ale tady se ztrácím :-(
  3. demultiplexuju nahrávku do zvláštních souborů pro videostopu (m2v) a zvuk (mp2) - používám na to projektx
  4. zpětně multiplexuju do MPG (používám mplex z mjpegtools)
  5. překódovávám pomocí ffmpeg do požadovaných kodeků a parametrů
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

9.1.2013 16:08 Vtipnéř | skóre: 39 | blog: Vtipnéřův blog | Brno
Rozbalit Rozbalit vše Re: Zpracování videa MPEG TS - předčasný konec dlouhé nahrávky (24 hodin)
Odpovědět | | Sbalit | Link | Blokovat | Admin
Já ke zpracování DVB-T nahrávek používám mencoder, ale takhle dlouhou nahrávku jsem nikdy neměl. Rozhozený zvuk a obraz mívám taky. Většinou to řeším tak, že nejdřív z nahrávky vytáhnu mplayerem zvuk (parametr -dumpaudio), pak zpracuji jen obraz mencoderem (parametr -nosound) a dohromady do dávám avidemuxem. Projectx používám v případě, že jsou v nahrávce nějaké chyby, ale už se mi jednou stalo, že vypustil asi půl sekundy obrazu kvůli chybám, ale zvuk nechal celý (nebo to bylo naopak?). To se pak hodně špatně spravovalo. Proto jsem na něj trochu zanevřel.

Jak víte, že nahrávka je opravdu celých 24 hodin? Zkoušel jste ji něčím přehrát? A kolik z toho zachová ten projectx? Zkoušel jste nejdřív nahrávku překódovat a teprve pak ji multiplexovat?

Jirka
Opening Windows is better than washing them. Clearing Windows (e.g. erasing or deleting) is even much better.
9.1.2013 18:02 camel1cz | skóre: 25
Rozbalit Rozbalit vše Re: Zpracování videa MPEG TS - předčasný konec dlouhé nahrávky (24 hodin)
Jak víte, že nahrávka je opravdu celých 24 hodin?
Protože po prohnání tím "opravovacím" japonským skriptem je celé video OK. Z toho co sem vyčetl je mencoder a ffmpeg prakticky totožný - pro klid duše to zkusím, ale myslím, že mám opravdu něco špatně v těch MPEG TS nahrávkách. Ve fórech co sem hledal padaly zkratky GOP a PTS a manipulace s nimi, ale to je na mě moc a uvítal bych radu.
Zkoušel jste ji něčím přehrát?
mplayer to hraje celkem OK, vlc má nějaké morální problémy.
A kolik z toho zachová ten projectx?
Máte pravdu - projectx bez toho opravného programu zkrátí m2v o asi 4GB a mp2 zvuk asi o 200MB. Což je divné, protože nerekóduje. Zřejmě fakt ten záznam usekne. vlc neukazuje délku videa, ale je to něco kolem 21 hodin a audio je přesně 21:34:24.

Po té opravě skriptem z Japonska :-) je audio i video správně dlouhé, ale nedaří se mi je multiplexnout tak, aby byly správně k sobě - zvuk je šoupnutý o několik hodin dozadu a pak useknutý. Začátek je ticho.
Zkoušel jste nejdřív nahrávku překódovat a teprve pak ji multiplexovat?
Ještě ne, ale zkusím tedy ffmpegnout video bez zvuku a zvuk zvlášť v lame a pak na to poštvat avidemux...

Budu informovat :-)
9.1.2013 23:01 Vtipnéř | skóre: 39 | blog: Vtipnéřův blog | Brno
Rozbalit Rozbalit vše Re: Zpracování videa MPEG TS - předčasný konec dlouhé nahrávky (24 hodin)
Z toho co sem vyčetl je mencoder a ffmpeg prakticky totožný.
To si nejsem tak jistý, mám za to, že mencoder může použít knihovny ffmpegu ale umí pracovat i s dalšími knihovnami.
Zkoušel jste nejdřív nahrávku překódovat a teprve pak ji multiplexovat?
Ještě ne, ale zkusím tedy ffmpegnout video bez zvuku a zvuk zvlášť v lame a pak na to poštvat avidemux.
Nevím, jestli avidemux zvládne tak velký soubor a jak je na tom s h264. Pokud by to nešlo, totéž umí i mencoder s parametrem -audiofile a posun zvuku se dá nastavit pomocí -delay.

Jirka
Opening Windows is better than washing them. Clearing Windows (e.g. erasing or deleting) is even much better.
10.1.2013 09:48 camel1cz | skóre: 25
Rozbalit Rozbalit vše Re: Zpracování videa MPEG TS - předčasný konec dlouhé nahrávky (24 hodin)
Problém je, že potřebuju to zpracování zautomatizovat - no v nejhorším případě rozparsuju ten log a vyčtu posun zvuku pro parametr -delay...

Aktuálně to teda vypadá na opravu tím skriptem, demultiplex, překódování obou stop zvlášť a spojení s posunem... to teda chci vidět, jak to budu zvládat v reálném čase - teda tak aby se data nehromadila. Mám na to teď 2 stroje, jeden grabuje a dělá jednoduché úpravy streamu (demultiplex atd.) a druhý rekóduje (cca. 30fps) - no uvidíme, zatím je místa na disku dost.

P.S. teď mi běží reshape RAID5, tak to nechci moc trápit, další pokusy zbusím až to doběhne (asi v sobotu)

Zatím moc díky za tipy!
11.1.2013 10:06 Vtipnéř | skóre: 39 | blog: Vtipnéřův blog | Brno
Rozbalit Rozbalit vše Re: Zpracování videa MPEG TS - předčasný konec dlouhé nahrávky (24 hodin)
Avidemux prý taky umí běhat bez grafického režimu s parametry zadanými v příkazové řádce nebo v konfiguračním souboru. Zkoušel jsem k tomu dohledat nějakou slušnou dokumentaci, ale marně.
Opening Windows is better than washing them. Clearing Windows (e.g. erasing or deleting) is even much better.
11.1.2013 21:43 pozortucnak | skóre: 21 | blog: vecny_windowsar
Rozbalit Rozbalit vše Re: Zpracování videa MPEG TS - předčasný konec dlouhé nahrávky (24 hodin)
http://www.avidemux.org/admWiki/doku.php?id=using:command_line_usage
Jsem mimořádně obtížný případ
13.1.2013 14:03 Vtipnéř | skóre: 39 | blog: Vtipnéřův blog | Brno
Rozbalit Rozbalit vše Re: Zpracování videa MPEG TS - předčasný konec dlouhé nahrávky (24 hodin)
Tam jsou parametry příkazového řádku, ale nastavení jednotlivých kodeků už jsem tam nenašel.

Jirka
Opening Windows is better than washing them. Clearing Windows (e.g. erasing or deleting) is even much better.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.