Portál AbcLinuxu, 8. ledna 2026 02:32
Řešení dotazu:
cat VTS_01_[1-4].VOB > dvd.mpgnebo složitě:
ffmpeg -i "concat:VTS_01_1.VOB|VTS_01_2.VOB|VTS_01_3.VOB|VTS_01_4.VOB" -c copy dvd.mpgVýhoda je, že toto ti zachová originální kvalitu obrazu a zvuku. Nevýhoda je že s takto poslepovaným souborem můžou mít některé přehrávače potíže. No mplayer, mpv nebo ffplay ti to přehraje bez problému. Jestli z toho chceš vyrobit mp4, bude se to muset celé překódovat do h264 s aac zvukem, ale to znamená mírné zhoršení kvality. Můžeš si pohrát s tím quantizačním parametrem qp. Menší číslo znamená větší soubor ale lepší kvalitu obrazu. Default je 23. Netuším jakou to tvoje dvd má strukturu, zkusím jenom tak střelit od boku:
ffmpeg -analyzeduration 200M -probesize 1G -i "concat:VTS_01_1.VOB|VTS_01_2.VOB|VTS_01_3.VOB|VTS_01_4.VOB" -pix_fmt yuv420p -c:v libx264 -qp 20 -c:a aac -ac 2 -movflags +faststart dvd.mp4Toto přehraješ skoro všade a taky do toho můžeš nastrkat libovolné metadata nebo titulky které se můžou někdy v budoucnosti hodit.
. Taky nejsu žádný commandline guru no na spoustu věcí je jednodušší a účinnější použít řádek než se pracně kamsi proklikávat. Na některé věci je gui fajn ale cpát ho násilím všude, to uživatelům dost svazuje ruce.
nebo složitě:Všechny zdravím. Ffmpeg používám k archivaci nahrávek z digitální televize, už jsem se setkal s tím, že uvedený postup pro spojování souborů nefungoval (nezjistil jsem, proč). Zabral jiný postup, který používá seznam souborů v externím souboru - viz příklad z dokumentace: Create a file mylist.txt with all the files you want to have concatenated in the following form (lines starting with a # are ignored):ffmpeg -i "concat:VTS_01_1.VOB|VTS_01_2.VOB|VTS_01_3.VOB|VTS_01_4.VOB" -c copy dvd.mpg
# this is a comment file '/path/to/file1.wav' file '/path/to/file2.wav' file '/path/to/file3.wav'Note that these can be either relative or absolute paths. Then you can stream copy or re-encode your files:
ffmpeg -f concat -safe 0 -i mylist.txt -c copy output.wavThe -safe 0 above is not required if the paths are relative. Jirka
cat a pak to „uhladím“ ffmpegem, aby seděly timestampy. Tyhle formáty se dají často spojovat (a stříhat, když se trefíte do správného místa) bez transkódování – rychlost zpracování se blíží rychlosti kopírování souborů. Celkem to potěší, když je při zpracování videa bottleneckem disk/síť a navíc to zachovává kvalitu (kromě ustřižených začátků/konců, kde se muselo transkódovat). ☺
Jen pozor na to, že MPEG TS (PS tuším taky) mají v souboru timestampy a rozbije to ukazatel pozice ve videu ve většině přehrávačů, proto to většinou nakonec proženu tím ffmpegem.
Pěkná ukázka „divného“ timestampu pro ozkoušení chování přehrávačů se dá vyrobit třeba takto: curl --output test.flac --max-filesize 1M 'https://amp.cesnet.cz:8443/cro-radio-wave.flac' (popř. totéž nad libovolným MPEG TS streamem pro ekvivalent s videem)
Něco jak třeba:
ffmpeg -f dvdvideo -i /home/filmy/mujdvd/VIDEO_TS/.. -c copy dvd.mpgDík za info! Snad se taky původní tazatel pročte až sem.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.