Recenze  |  Aktuality  |  Články
Doporučení  |  Diskuze
Filmy a seriály, streamovací služby
Televize  |  Projektory
Audio a domácí kina
Multimediální centra  |  Ostatní
Svět hardware  |  Digimanie
Svět mobilně

Rozdíl velikosti mezi .TS a .MKV

Nikoloki (55)|4.11.2015 18:47
Z historických důvodů nahrávky *.TS z TV stříhám Avidemuxem v módu Copy opět do *.TS. Teď jsem zjistil, že je značný rozdíl velikosti souboru mezi sestříhaným záznamem v .TS a v .MKV - například jeden má v .TS 4,65 GB, zatímco v .MKV 3,46 GB. Podle Mediainfo je ten rozdíl ve velikosti video streamu. Čím se liší kontejner MKV od kontejneru TS, když v nich má být totožný obsah? Co je v TS "navíc"? Bude něco chybět, převedu-li z důvodu nedostatku místa všechna TS na MKV? Pro zajímavost - opačný postup, tedy konverze MKV do TS vyrobí zmetek , v kterém VLC neukáže video a Avidemux na něm při otvírání křachne.

Předem díky za Vaše informace …
mirekv (7169)|4.11.2015 19:15
K rekomprimaci by nemělo dojít. Nedělal jsi nějaký časový ořez? Porovnej parametry toho videa v TS a MKV v mediainfo, tam musí být ještě v něčem rozdíl.
RoPo (6061)|4.11.2015 19:43
U MKV budes mit pravdepodobne jiny kodek nez u TS.
Nikoloki (55)|4.11.2015 19:46
No podle Mediainfo se právě video streamy velikostí liší - teď jsem stříhal včerejší Divoké včely v HD z DVB-T ČT2 a výsledky jsou pro MKV 3,55 GB, pro AVI 4,2 GB a pro TS 4,62 GB. Tuším že to budou nejspíše nějaké indexy, ale … ???
mirekv (7169)|4.11.2015 19:54
Při čistém Copy v Avidemuxu nedochází k rekompresi. Ale v Mediainfo je přece víc údajů, než jen velikost videa! Někde se to musí lišit.
Nikoloki (55)|4.11.2015 19:55
Kodek je všude stejný - je to mód Copy … respektive musí tedy být všude stejný, ale v každém kontejneru je jenom jinak označen. Rekódováno to určitě není - během pár vteřin to Haswell nedokáže ;-) …
mirekv (7169)|4.11.2015 20:00
Však jo, ale liší se údaje v Mediainfo před a po uložení? Tam je dobrých deset údajů - např
Video #0
Codec : AVC
Codec/Info : MPEG-4 AVC
Profil kodeku : High@L4.0
Hrací čas : 59mn 8s
Bit rate : 6093 Kbps
Šířka : 1920pixely
Výška : 1088pixely
Poměr stran : 16/9
PixelAspectRatio : 1.000
DisplayAspectRatio : 1.765
Nikoloki (55)|4.11.2015 20:11
TS - Video
ID : 256 (0x100)
MenuID/String : 1 (0x1)
Formát : AVC
Formát/ : Advanced Video Codec
Format_Profile : High@L4
Format_Settings_CABAC/String : Ano
Format_Settings_RefFrames/String : 3 frame
CodecID : 27
Duration/String : 1h 34mn
Bit rate : 6 107 Kbps
Šířka : 1 920pixely
Výška : 1 080pixely
Poměr stran : 16 :9
Frame rate : 25,000 fps
ColorSpace : YUV
ChromaSubsampling : 4 :2 :0
BitDepth/String : 8 bits
ScanType/String : MBAFF
ScanOrder/String : Top Field First
Bits/(Pixel*Frame) : 0.118
StreamSize/String : 4,02 GiB (91%)


MKV - Video
ID : 1
Formát : AVC
Formát/ : Advanced Video Codec
Format_Profile : High@L4
Format_Settings_CABAC/String : Ano
Format_Settings_RefFrames/String : 3 frame
CodecID : V_MPEG4/ISO/AVC
Duration/String : 1h 34mn
Bit rate : 4 785 Kbps
Šířka : 1 920pixely
Výška : 1 080pixely
Poměr stran : 16 :9
Frame rate : 25,000 fps
ColorSpace : YUV
ChromaSubsampling : 4 :2 :0
BitDepth/String : 8 bits
ScanType/String : MBAFF
ScanOrder/String : Top Field First
Bits/(Pixel*Frame) : 0.092
StreamSize/String : 3,15 GiB (93%)
Default : Ano
Forced : Ne
vivid.sk (11472)|4.11.2015 20:23
Rozdiel je v tzv "filler datach". To su prazdne data (obvykle len binarne nuly), ktore su vkladane do muxu za potreby vyplnenia pozadovanej kapacity (napriklad konstatnej kapacity/toku).
Pri remuxe su tieto data zahadzovane, pretoze nie su sucastou videa/audia.
mirekv (7169)|4.11.2015 20:33
Tak to musí poradit někdo zkušenější, bitrate je nižší, proto i ta menší výsledná velikost. Zřejmě byly vypuštěny nějaké doplňkové informace, které v TS bývají. Na kvalitu videa to nebude mít vliv.
edit: Vidím, že vivid to objasnil.
Nikoloki (55)|4.11.2015 20:56
Díky, vivide.sk :-) …

Doplnění: Díky vividovi za objasnění, díky i všem ostatním za snahu :-) …

Doplnění 2: Vrtá mi hlavou otázka PROČ? Proč proboha je v DVB-T nafouknuta velikost transportovaného videostreamu? Komu to slouží, soudruzi? :-)
mirekv (7169)|5.11.2015 06:12
Tak tomu říkám vděčnost! :-I
Nikoloki (55)|15.5.2016 15:34
Že to opět vytahuji navrch, ale problém. A docela k naštvání. Používám Avidemux (2.6.8 - tedy až do včerejška, kdy jsem nainstaloval 2.6.12) a všechny dříve vytvořené TS FHD nahrávky (TS nahrané z TV, ostříhnuté a bez rekódování uložené jako TS) jsem později remuxoval (mód COPY) do MKV. Samozřejmě jsem si ověřil, jestli to v pořádku přehraje VLC na PC i multimediální player na Dune (HD Smart B1) - jestli jde zvuk i obraz, posunul jsem se několikrát na různá místa filmu a všechno bylo (a takto i nyní je) v pořádku. Převedl jsem také některé starší záznamy z TV SD v MPEG-2 rekódováním do AVC H.264. Ušetřil jsem spoustu místa a všechno vypadalo OK. Filmy si archivuji na pozdější dobu a na ty starší věci se téměř nekoukám, takže až teď jsem zjistil celkem šílenou závadu - při přehrávání na Dune se postupně předbíhá zvuk před obrazem (odhaduji minimálně za pět minut je zvuk o sekundu či dvě napřed), ale jenom posunem jinam (takže i tam a zpět) se zvuk opět srovná a během dalšího přehrávání se znovu začíná načítat rozdíl mezi nimi. Co jsem vypozoroval, tak MKV rovnou dělaná z TS nahrávek na Dune (tedy [TS] cut©-> [MKV]) hrají OK, ale ty TS oříznuté (a jen remuxované) z TV nahrávky (v TS) a poté remuxované (COPY mód) z tohoto nového TS dále do MKV (tedy [TS] cut©-> [TS] copy-> [MKV]) se rozjíždějí. A podle všeho se rozjíždějí dokonce i nahrávky původně jen COPY módem oříznuté z TS do TS a poté rekódované do AVC MKV (tedy [TS] copy-> [TS] recode-> [MKV]).

Takže mám pocit, že u toho, co prošlo Avidemuxem dvakrát, se na přehrávači Dune rozjíždí zvuk. V MediaInfo já žádný důvod nevidím, MKVtoolnix mi taky nepomůže, VLC to přehrává správně, když to načtu do Avidemuxu, tak to v něm hraje synchronně, ale po uložení se to zase rozjíždí - a dokonce i když to nechám rekódovat. Zkusil jsem přejít z Avidemuxu 2.6.8 na 2.6.12 a nepomohlo to, remuxování přes XMediaRecode mi to taky nesrovná, prostě nic …

Není to tím, že by Dune obecně přehrával MKVéčka blbě, spíš to vidím na to, že Dune je citlivější na nějaké chyby v přehrávaném souboru, zatímco VLC player si poradí s lecčím.

Potřeboval bych nějaký nápad, jak zjistit o jakou chybu se jedná a ještě lépe jak ji napravit. Rekódování mi z toho nepomáhá a i kdyby, tak by bylo prakticky neproveditelné. protože se jedná asi tak o 800 až 1000 filmů a enkódování FHD do AVC trvá stejně dlouho jako přehrávání filmu (jde tak zhruba těch 25 fps).

Díky předem za veškeré nápady …
vivid.sk (11472)|15.5.2016 16:39
Nepomoze to muxnut v mkvmerge? (mkvtoolnix).
Nikoloki (55)|16.5.2016 17:58
Ani MKVtoolnix nepomáhá :-(( …
ai (2993)|17.5.2016 04:14
Tak asi to rozdelit a zase slozit. ... Co tam je vzdy je H.264 vieo a AC3 audio? Dal bych ti sem batch, kde to vezme kazdy soubor, demuxuje to a pak zase slozi do MKV treba, mohl bys skusit jen jeden nejdrive, jestli to funguje. Ale jestli casy budou totozne neni duvod proc by to neslo..
Nikoloki (55)|19.5.2016 17:29
Heuréka (snad) :) - tedy abych to nezakřikl - ne že bych věděl co a proč, ale snad alespoň už vím, jak z toho ven - po převedení zvuku (Avidemuxem) do AAC to i na Dune hraje synchronně - převod do MP3 nebo AC3 nepomáhá (v MP3 se zvuk předbíhá, v AC3 se zvuk zpožďuje - :-?) - zatím jsem to ověřil na třech filmech, z toho jeden jsem přehrál až do konce. Kdyby to mělo fungovat, tak by takto šlo v "rozumném" čase opravit i ty stovky filmů …
vivid.sk (11472)|19.5.2016 21:07
Preco prznis (ehm, pardon: "enkodujes") aj audio? Kolko usetris? 50 MB na hodinu zaznamu? Aky to ma zmysel? Nechaj tam original.
Nikoloki (55)|20.5.2016 00:00
:-? Neprzním "i audio", naopak "przním" pouze audio a rekóduji ho proto, že toto rekódování řeší mnou popsaný problém postupné desynchronizace audia a videa při přehrávání multimediálním přehrávačem Dune - preferoval bych nerekódovací řešení , ale jaksi o žádném jiném nevím :) …
vivid.sk (11472)|20.5.2016 15:47
V tom pripade beriem spat.
Prispevok vyssie som pochopil v tom zmysle, ze re-enkodujes audio a nasledne vznikne tento problem.
Nikoloki (55)|20.5.2016 17:07
No i když to čtu po sobě sám, tak se téměř nechápu :) …
ai (2993)|21.5.2016 02:15
to zautomatizuj, tomuto textu dej treba nazev prevod.BAT a vloz ho do adresare ,
ktery chces prevest a rozjed to. Samozrejme si to vyzkousej nejdrive. Stahni si ffmpeg a dej tomu zpravnoy cestu. Nevim jek to je ted s licenci pro aac, jestli je treba tomu dodat ten libfaac.

[CODE]@echo off
set ffmpeg="c:\tools\ffmpeg\ffmpeg.exe"
break>prevedeno.log
for %%a in ("*.mkv") do call :process "%%a"
pause

:process
ver>nul
%ffmpeg% -y -i "%~1" -c:v copy -c:a libfaac -b:a 192k "new_%~n1.mkv"
if not [%errorlevel%]==[0] echo "error: new_%~n1.mkv" >> prevedeno.log
if exist "new_%~n1.mkv" echo " new_%~n1.mkv" >> prevedeno.log
goto :eof[/CODE]
Nikoloki (55)|21.5.2016 11:54
(smazáno)

:) Díky za radu - tem FFmpeg jsem neměl, ale půjde to s ním rychleji než s Avidemuxem. Ovšem ten libfaac tam není, takže zřejmě musím použít aac - libfaac tam nemám jak dostat :-?. Každý film ale mám v extra adresáři (kvůli řazení, protože jinak jsou nejdřív adresáře s vícedílnými filmy nebo s VIDEO_TS a teprve pak filmy/soubory samostatné a není to tedy abecedně) a tak ten cyklus nevyužiju. Ale vážně moc děkuji :) …

[HL]mod KZ[/HL]: Když reaguješ na předchozí/poslední příspěvek, tak ho necituj, děkuji.
ai (2993)|22.5.2016 05:18
misto toho -c:a libfaac by mohlo byt -c:a aac

Jeste muzes vyzkouset myffmpeg (jen program)+ ffmpeg build (tam je mimo jine ffmpeg.exe, ktery neni v tom programu, myffmpeg si ten ffmpeg.exe pri prvnim rozjezdu vyzada) . Myffmpeg je front end na ffmpeg a podle recenzi zrejme jeden z nejlepsich pro ffmpeg. Krome beznych vystupnich formatu to pry umi i profesionalni vystupy jako Prores, DNxHD, a MXF. Ma to more nastaveni a i batch. To posledni je dulezite pro nejake davky vstupu jako mas ty. U toho front endu zrejme to bude nastaveno primo k pouziti bez nejakych doplnujicich downloadu.

az ted jesem si vsim, ze to je trialware, tak nevim jestli je ten trial plne funkcni,.., jinak je to za $20 ...

a ted jsem si to sam vyzkousel, celkem se mi to libi, vsechno sedi a nic jsem nehledal jak a co, intuitivni, hodil jsem tam tri mkv soubory, prvni jsem nastavil video passthru, audio si nastavis a pak jsem pravym na mysi kliknul "copy settings" a po jednom jsem zase musel klikat na zbyle videa a zvolit "paste settings", zrejme to nejde najednou (pokud ne, tak celkem by to mohlo vadit pri nejakych velkych davkach jako menit GoPro videa na Prores atd.),..., samozrejme to jede celkem rychle pokud to meni jen audio a pokud si nastavis vystup na jiny disk (klik na to ozubene kolo, settings, vpravo nahore, convert , destination folder) .... jeste pokud jsem zatrhnul "enable command line editing" tak ti to pred enkodovanim ukaze command line (zrejme se to tam muze jeste editovat) , coz je take dobra vec
Nikoloki (55)|22.5.2016 07:48
Díky za informace, ale já pro zpracování nahrávek, kde musím dělat střihy, zůstanu u Avidemuxu - když to rovnou z TS dávám do MKV, tak jsou ty soubory v pořádku.

Teď mám pro ty opravy udělaný baťák pro FFmpeg s video-copy a audio-aac a přes menu "Odeslat do" ho spouštím pro daný film s výstupem zpátky do stejného adresáře s upraveným jménem (podle tvého baťáku) a ručně kousek po kousku procházím adresáře a spouštím ho pro ty filmy, které jsem loni konvertoval z ostříhnutého TS do MKV a které jsou pochroumané tak, že je Dune přehrává nesynchronně. (Poznávám je podle data vytvoření - zhruba loňský listopad - a navíc nepoškozený soubor poznám podle absence hlášek FFmpeg a pak jeho konverzi hned stopnu.) Zpracování jednoho filmu mi trvá průměrně 5 minut (jsou na NASu).

Jinak na ty pochroumané soubory mi FFmpeg hlásí chyby [null @ xxx…] non-existing PPS referenced a [matroska @ xxx…] Non-monotononous DTS in output stream 0:0; previous : xxx…, current: yyy…, changing to: zzz…. This may result incorrect timestamps in the output file. Ve výstupu jsou chyby audia skoro vždy odstraněny a chyby videa zůstávají, ale podstatné pro mě je to, že tyto soubory s audiem v AAC mi Dune player (alespoň co jsem zkoušel) přehrává synchronně.

Tak tedy FFmpeg mi alespoň potvrdilo, že ty soubory jsou skutečně pochroumané, a že je to tak, že VLC si s nimi poradí a Dune player jejich přehrání nezvládá. Vypadá to ale, že pro kompletní odstranění chyb bych musel rekódovat video do x264 a audio do aac - prostě je to divočina, co s tím ten Avidemux při tom dvojím zpracování (TS, cut-> TS, remux-> MKV) provedl …

Kdybych to dělal Avidemuxem, tak by to bylo daleko pracnější a pomalejší a tak jsem rád, že to mám takto celkem svižné přes FFmpeg :) …

Doplnění: bohužel jsem právě zjistil, že nesychronně mi na Dune hrají i některé soubory, na kterých mi FFmpeg žádnou chybu nehlásí. Sice je to taky opraví, ale tím pádem nijak nepoznám, co opravovat musím a co ne :( …
Nikoloki (55)|30.5.2016 21:32
Jsem starej debil :(( - a nefunguje to … A zase jsem se koukal asi jenom napůl - myslím, že jsem zhlédl jeden opravený (Avidemuxem !!!) film a byl OK, filmy opravené pomocí FFmpeg jsem nejspíš žádný komplet nezhlédl. Takže teď zjišťuji, že u filmů převedených pomocí FFmpeg se v místě těch hlášených incorrect timestamps cuká obraz. A proč jsem debil? Protože už mám převedeny všechny pochroumané české filmy a protože jich je 286 a protože jsem ten zádrhel zjistil zase až teď … Takže vpřed na převod pomocí Avidemuxu, u kterého jsem viděl, že výsledek byl v pořádku :) …