Portál AbcLinuxu, 6. května 2025 16:14

Dotaz: Matroska na MPEG s 1080p

23.5.2010 16:57 cross
Matroska na MPEG s 1080p
Přečteno: 1099×
Odpovědět | Admin
Ahojte, potreboval by som poradit, ako prekonvertujem mkv (matroska) na mpeg video s 1080p (teda s povodnym rozlisenim mkv). Nechcem stratit kvalitu. Dakujem za vsetky rady. PS:Skusal som cez mencoder, ale vysledne video bolo nekvalitne (so stvorcami).
mencoder input.mkv -of mpeg -mpegopts format=mpeg1:tsaf:muxrate=2000 -o output.mpg -oac lavc -ovc lavc -lavcopts acodec=mp2:abitrate=224:vcodec=mpeg1video:vbitrate=1152:keyint=15:mbd=2:aspect=16/9
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

Max avatar 23.5.2010 19:16 Max | skóre: 72 | blog: Max_Devaine
Rozbalit Rozbalit vše Re: Matroska na MPEG s 1080p
Odpovědět | | Sbalit | Link | Blokovat | Admin
mkv je jen kontejner. Zřejmě to tvé video bude v h.264 a ty by jsi chtěl převést h.264 do mpegu a kontejner asi také, že?
Jinak jsi si jistý, že to chceš do mpeg1 ? Např. takové DVD je v mpeg2.
Jinak třeba klasický bdrip (h.264+mkv kontejner) mívá v 1080p 4-8GB. V mpeg2 má takové video cca 25-50GB.
Pokud nevíš, co děláš, tak zkus pro převod něco víc intuitivnějšího jako např. avidemux, nežli hledat vhodné parametry k mencoderu pro danné video.
Zdar Max
PS: do videa a střihu moc nedělám, tak snad mne kdyžtak někdo zkušenější opraví :)
Měl jsem sen ... :(
Oskar avatar 23.5.2010 21:00 Oskar | skóre: 18
Rozbalit Rozbalit vše Re: Matroska na MPEG s 1080p
Odpovědět | | Sbalit | Link | Blokovat | Admin
Pravděpodobně chceš remultiplexovat H.264 video do MPEG-4 kontejneru. To znamená, nejprve demultiplexovat matrjošku na dílčí stopy (audio, video) např. pomocí mkvextract, potom multiplexovat získané stopy do kontejneru MPEG-4, např. pomocí MP4box.
23.5.2010 23:36 cross
Rozbalit Rozbalit vše Re: Matroska na MPEG s 1080p
V jednoduchosti chcem zo suboru, ktory konci .mkv urobit subor, ktory konci na .mpg. Chcem to prehrat na prehravaci, ktory prehra mpg v 1080p. Problem je, ze nevie prehrat .mkv. Video, ktore prehra je teda v mpeg a ja potrebujem nejakym sposobom to video v matroske dostat do mpeg s minimalnou stratou na kvalite

Vystup z mkvinfo:
+ EBML head
|+ Doc type: matroska
|+ Doc type version: 1
|+ Doc type read version: 1
+ Segment, size 4694881139
|+ Seek head (subentries will be skipped)
|+ EbmlVoid (size: 4025)
|+ Segment information
| + Timecode scale: 1000000
| + Muxing application: libebml v0.7.7 + libmatroska v0.8.1
| + Writing application: mkvmerge v2.1.0 ('Another Place To Fall') built on Aug 19 2007 13:40:07
| + Duration: 4978.080s (01:22:58.080)
| + Date: Wed Feb  4 06:44:49 2009 UTC
| + Segment UID: 0xa8 0xd7 0xae 0x0f 0x0f 0xdc 0xb7 0x5d 0xa0 0xdc 0x88 0x0f 0x50 0xc8 0x71 0xbb
|+ Segment tracks
| + A track
|  + Track number: 1
|  + Track UID: 3054910853
|  + Track type: video
|  + Enabled: 1
|  + Default flag: 1
|  + Forced flag: 0
|  + Lacing flag: 0
|  + MinCache: 1
|  + Timecode scale: 1
|  + Max BlockAddition ID: 0
|  + Codec ID: V_MPEG4/ISO/AVC
|  + Codec decode all: 1
|  + CodecPrivate, length 38
|  + Default duration: 41.708ms (23.976 fps for a video track)
|  + Language: und
|  + Video track
|   + Pixel width: 1920
|   + Pixel height: 1080
|   + Interlaced: 0
|   + Display width: 1920
|   + Display height: 1080
| + A track
|  + Track number: 2
|  + Track UID: 221935529
|  + Track type: audio
|  + Enabled: 1
|  + Default flag: 1
|  + Forced flag: 0
|  + Lacing flag: 1
|  + MinCache: 0
|  + Timecode scale: 1
|  + Max BlockAddition ID: 0
|  + Codec ID: A_AC3
|  + Codec decode all: 1
|  + Default duration: 32.000ms (31.250 fps for a video track)
|  + Langu
Prehravac mi prehra videa, ktore file rozoznava ako:
MPEG sequence, v1, system multiplex
a mplayer pri prehravani hlasi:
Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec fam
Selected video codec: [ffmpeg1] vfm: ffmpeg (FFmpeg MPEG-1)
=============================================================
=============================================================
Opening audio decoder: [mp3lib] MPEG layer-2, layer-3
Okrem takehoto suboru som skusal mpg subor urobeny z avi videa postupom s mencoderom s parametrami popisanymi vyssie.
Jendа avatar 24.5.2010 15:53 Jendа | skóre: 78 | blog: Jenda | JO70FB
Rozbalit Rozbalit vše Re: Matroska na MPEG s 1080p
Řekl bych, že tvůj problém spočívá v nepochopení toho, že přípona souboru se určuje podle názvu kontejneru, ale nezávisí na tom, v jakém formátu je to video uvnitř uloženo. Takže nejdřív je potřeba diagnostikovat, jestli je problém v tom, že tvůj přehrávač neumí rozsplitovat Matrosku (MKV), nebo jestli neumí dekódovat to video, co je uvnitř. Jinak soubory s příponou mpg obvykle obsahují MPEG-1 kontejner a do něj IMHO nejde dát žádné jiné video, než MPEG-1. Tj. překódování třeba ffmpegem
ffmpeg -i vstupní_soubor výstupní_soubor.mpg
(kontejner MPEG-1 odhadne z přípony a zároveň video překóduje do MPEG-1). Nicméně MPEG-1 je už opravdu starý formát (začátek 90. let), a tak má na dnešní poměry mizernou kvalitu a kódovat s ním 1080p video je dost masochismus.
Video, ktore prehra je teda v mpeg
Chtělo by to vědět, v jaké verzi, v případě verze 4 i část a profil. Divil bych se, že by přehrávač, který zvládne HD, neuměl alespoň MPEG-4 ASP (pravděpodobně v AVI kontejneru, pokud je jó zprasený, tak s FOURCC nastaveným na DX40).
24.5.2010 17:27 cross
Rozbalit Rozbalit vše Re: Matroska na MPEG s 1080p
V zabudovanom spravcovi suborov daneho prehravaca sa mi zobrazia len videa s priponou mpg. Skusal som videa s priponami avi, mkv a skusal som aj nakopirovane DVD na HDD. Zial bohu v tychto pripadoch som sa k filmu nedostal (zobrazilo prazdny priecinok).

Takze potrebujem nieco, co bude v mpg "kontajneru". Ostatne MPEG-* som neskusal. Ak zistim, ako sa to video dostat do daneho kodeku, tak to rozhodne skusim.

V manuale je pisane len, ze dokaze prehrat videa kodovane v MPEG a to aj videa vo vysokom rozliseni s MPEG. Takze neviem, co si mam o tom mysliet :-/

Rozhodne by som chcel zachovat co najvacsiu kvalitu. Zatial sa hram s mencoder a zatial som na nic rozumne neprisiel. Po prekodovani matroska (mkv) na MPEG-1 bola kvalita videa viac nez mizerna.
24.5.2010 18:58 VSi | skóre: 28
Rozbalit Rozbalit vše Re: Matroska na MPEG s 1080p
Tipoval bych, že to zařízení umí přehrávat MPEG-2 (tj. to, co je na třeba DVD). Pro rozumnou kvalitu FullHD (1080p) MPEG-2 je potřeba datový tok alespoň tak 20Mbit/s.

Použil bych avidemux, video výstup "DVD (lavc)", je třeba překódovat i audio na "MP2 (lav)" nebo "AC3", formát (kontejner) na "MPEG-PS". Ještě bude potřeba nastavit u zvuku downmix na "stereo", nebo použít ten AC3. Možná ale bude trochu problém s nstavením tak velkých datových toků, mě nešel nastavit max. tok víc jak 9Mbit/s.
28.5.2010 16:47 cross
Rozbalit Rozbalit vše Re: Matroska na MPEG s 1080p
Prepacte, ze odpovedam neskoro, ale bol som odcestovany. Skusil som mensie video s 720p (tiez mkv) a pustil som mencoder s paramtrami:
mencoder input.mkv -of mpeg -mpegopts format=mpeg4:tsaf:muxrate=25000 -o output.mpg -oac lavc -ovc lavc
(zvysil som bitrate, vynechal niektore parametre pre lavc a zmenil na mpeg4)

Ked som vysledny output.mpg spustil na prehravaci, video mi nezobrazil ale zvuk isiel normalne.

Na PC mi to mplayer prehra, no vidno zhorsenie kvality. Pri pretacani videa mi dokonca ukazuje stvorceky a az po nejakom case sa video vykresli. Idem sa s tym dalej hrat, ak mate nejake napady, prosim napiste. Dakujem
Jiří Poláček avatar 24.5.2010 21:46 Jiří Poláček | skóre: 47 | blog: naopak | Sivice
Rozbalit Rozbalit vše Re: Matroska na MPEG s 1080p
Možná by pomohlo, kdybyste nám prozradil, o jaký přehrávač se jedná, ať tu ideální formát nevěštíme z koule.
Sudoku omrzelo? Zkuste bobblemaze! | Statistiky jsou jak bikiny. Napoví hodně, všechno ale neukážou.
28.5.2010 16:50 cross
Rozbalit Rozbalit vše Re: Matroska na MPEG s 1080p
ffmpeg stroskota:
FFmpeg version SVN-r23065, Copyright (c) 2000-2010 the FFmpeg developers
  built on May  9 2010 20:29:08 with gcc 4.5.0
  configuration: --prefix=/usr --enable-gpl --enable-libmp3lame --enable-libvorbis --enable-libfaac --enable-libfaad --enable-libxvid --enable-libx264 --enable-libtheora --enable-postproc --enable-shared --enable-pthreads --enable-x11grab --enable-libopencore_amrnb --enable-libopencore_amrwb --enable-libschroedinger --enable-version3 --enable-nonfree --enable-runtime-cpudetect
  libavutil     50.15. 2 / 50.15. 2
  libavcodec    52.67. 0 / 52.67. 0
  libavformat   52.62. 0 / 52.62. 0
  libavdevice   52. 2. 0 / 52. 2. 0
  libavfilter    1.19. 0 /  1.19. 0
  libswscale     0.10. 0 /  0.10. 0
  libpostproc   51. 2. 0 / 51. 2. 0
[matroska @ 0x1533470]Estimating duration from bitrate, this may be inaccurate

Seems stream 1 codec frame rate differs from container frame rate: 47.95 (48000/1001) -> 24.00 (24/1)
Input #0, matroska, from 'input.mkv':
  Duration: 00:19:08.86, start: 0.000000, bitrate: 384 kb/s
    Stream #0.0: Audio: ac3, 48000 Hz, 5.1, s16, 384 kb/s
    Stream #0.1(eng): Video: h264, yuv420p, 1280x720, PAR 1:1 DAR 16:9, 24 tbr, 1k tbn, 47.95 tbc
[mp2 @ 0x153bae0]encoding 6 channel(s) is not allowed in mp2
Output #0, mpeg, to 'out.mpg':
    Stream #0.0(eng): Video: mpeg1video, yuv420p, 1280x720 [PAR 1:1 DAR 16:9], q=2-31, 200 kb/s, 90k tbn, 24 tbc
    Stream #0.1: Audio: mp2, 48000 Hz, 5.1, s16, 64 kb/s
Stream mapping:
  Stream #0.1 -> #0.0
  Stream #0.0 -> #0.1
Error while opening encoder for output stream #0.1 - maybe incorrect parameters such as bit_rate, rate, width or height
Grunt avatar 29.5.2010 01:06 Grunt | skóre: 23 | blog: Expresivní zabručení | Lanžhot
Rozbalit Rozbalit vše Re: Matroska na MPEG s 1080p
[mp2 @ 0x153bae0]encoding 6 channel(s) is not allowed in mp2
Jak už jsem říkal níže. -ac 2.
Na co 64-bitů když to jde i s jedním? | 80.78.148.5 | Hack (for) free or Die Hard!
Grunt avatar 29.5.2010 00:59 Grunt | skóre: 23 | blog: Expresivní zabručení | Lanžhot
Rozbalit Rozbalit vše Re: Matroska na MPEG s 1080p
Nicméně MPEG-1 je už opravdu starý formát (začátek 90. let), a tak má na dnešní poměry mizernou kvalitu a kódovat s ním 1080p video je dost masochismus.
Hrachu, co to tady zas vykládáš? (čtvrtá citace)
Na co 64-bitů když to jde i s jedním? | 80.78.148.5 | Hack (for) free or Die Hard!
25.5.2010 23:21 Vtipnéř | skóre: 39 | blog: Vtipnéřův blog | Brno
Rozbalit Rozbalit vše Re: Matroska na MPEG s 1080p
Trochu mě mate ten výpis mplayeru, podle toho to vypadá na MPEG1, jenže to by se tam toho moc nevešlo. Ale pro převedení by pak stačilo
mencoder -oac copy -ovc copy -of mpeg -o vystup.mpg vstup.mkv
Stejný postup by pomohl, pokud by se jednalo o formát MPEG4 a přehrávací zařízení ho umělo, což je dnes celkem běžné (nepřesně je MPEG4 označován jako DIVX nebo XVID). Jestliže je opravdu potřeba převod do MPEG1 (nebo 2), tak postup uvedený hned na začátku je v podstatě správný, jen by to chtělo daleko větší video bitrate. Mrknul jsem se na jedno DVD, tam je použito 6 900 kb/s při rozlišení 720x576 a 25 snímcích za sekundu. Tak si to zkuste přeočítat na uvedené rozměry, viděl bych to zruba čtyřikrát víc, tak někde kolem 25 000 kb/s.

Jirka
Opening Windows is better than washing them. Clearing Windows (e.g. erasing or deleting) is even much better.
28.5.2010 21:03 cross
Rozbalit Rozbalit vše Re: Matroska na MPEG s 1080p
Odpovědět | | Sbalit | Link | Blokovat | Admin
ffmpeg -i in.mkv -b 5000k -vcodec mpeg2video -acodec copy out.mpg
Dopracoval som sa k tomuto vysledku. Prehravac to prehra, kvalita sa zachova (aspon to tak zatial vyzera pri 720p). Jediny problem je, ze ked to prezeniem takto cez ffmpeg, mplayer, ani prehravac mi neprehra zvuk - ako by tam vobec nebol :(.

Je tam parameter -acodec copy - co by malo zanechat povodne kodovanie zvuku. Skusal som aj aac, ale bez uspechu. Nevie niekto, kde moze byt problem?

Dakujem
28.5.2010 21:38 VSi | skóre: 28
Rozbalit Rozbalit vše Re: Matroska na MPEG s 1080p
MPEG kontejner obvykle nepodporuje jiné formáty zvuku než MP2 nebo AC3 - třeba avidemux na to upozorní. Pokud stačí stereo, použil bych ten MP2 (viz můj předchozí post). Pokud je v mkv zvuk vícekanálový, bude třeba ještě downmix na stereo, ale nevím, jakými parametry ffmpegu se to nastavuje.
Jendа avatar 28.5.2010 21:42 Jendа | skóre: 78 | blog: Jenda | JO70FB
Rozbalit Rozbalit vše Re: Matroska na MPEG s 1080p
bude třeba ještě downmix na stereo, ale nevím, jakými parametry ffmpegu se to nastavuje.
-ac channels
           Set the number of audio channels (default = 1).
28.5.2010 22:11 cross
Rozbalit Rozbalit vše Re: Matroska na MPEG s 1080p
Dakujem velmi pekne. Uz sa to asi zacina podobat na to, co som chcel :) Posledne, co chcem odhalit je, ako vyberiem, ktoru zvukovu stopu ma vysledny mpg kontajner mat, pretoze mkv subor obsahuje viacej zvukovych stop. V man ffmpeg neviem nic podobne najst :(
28.5.2010 22:18 cross
Rozbalit Rozbalit vše Re: Matroska na MPEG s 1080p
Asi som to objavil, robi sa to prepinacom -map, kde si vyberam jednotlive streamy. 0:0 je video, 0:1 je prvy audio stream, 0:2 je dalsi a pod. Dakujem vsetkym velmi pekne. Dufam, ze som to uz vyriesil.
Grunt avatar 29.5.2010 00:52 Grunt | skóre: 23 | blog: Expresivní zabručení | Lanžhot
Rozbalit Rozbalit vše Re: Matroska na MPEG s 1080p
Odpovědět | | Sbalit | Link | Blokovat | Admin
Stačí jenom zvednout bitrate:
mencoder input.mkv -of mpeg -mpegopts format=mpeg2:tsaf -o output.mpg -oac lavc -ovc lavc -lavcopts acodec=mp2:abitrate=224:vcodec=mpeg2video:vbitrate=8600:keyint=15:mbd=2:aspect=16/9
Jinak není potřeba tak složitě, ale stačí prosté:
ffmpeg -i input.mkv -b 9600 -ac 2 vystup.mpg
Má to jen nevýhodu, že to neprovede downmix, ale vezme to jen přední a boční kanál.
Na co 64-bitů když to jde i s jedním? | 80.78.148.5 | Hack (for) free or Die Hard!

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.