Portál AbcLinuxu, 6. května 2025 16:14
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
+ 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) | + LanguPrehravac mi prehra videa, ktore file rozoznava ako:
MPEG sequence, v1, system multiplexa 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-3Okrem takehoto suboru som skusal mpg subor urobeny z avi videa postupom s mencoderom s parametrami popisanymi vyssie.
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 mpegChtě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).
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
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
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)
mencoder -oac copy -ovc copy -of mpeg -o vystup.mpg vstup.mkvStejný 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
ffmpeg -i in.mkv -b 5000k -vcodec mpeg2video -acodec copy out.mpgDopracoval 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
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).
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/9Jinak není potřeba tak složitě, ale stačí prosté:
ffmpeg -i input.mkv -b 9600 -ac 2 vystup.mpgMá to jen nevýhodu, že to neprovede downmix, ale vezme to jen přední a boční kanál.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.