[FFmpeg-user] concat protocol - 3 objectives

Mark Filipak markfilipak.windows+ffmpeg at gmail.com
Tue Feb 25 02:29:34 EET 2020


The concat protocol command at the end of this message works, but with 
limits. Since the concat protocol basically works, it seems logical to 
me to simply expand its capability. To that end, I now have 3 objectives.

Objective 1: Expand it to include all 4 audio streams, not just the 
first 5.1 channel stream encountered (which happens to be the isolated 
score).

Objective 2: Output it as an MKV, not as a TS.

Objective 3: Include subtitles.

Regarding Objective 1: I tried to apply '-filter_complex' but couldn't 
figure out how to form a working command line and had to gave up.

Regarding Objective 2: Simply specifying 'n:\output.mkv' fails

     [matroska @ 0000016de19500c0] Can't write packet with unknown timestamp
     av_interleaved_write_frame(): Invalid argument
     frame=    2 fps=0.0 q=-1.0 Lsize=      10kB time=00:00:00.00 
bitrate=83856.0kbits/s speed=0.0594x
     video:8kB audio:2kB subtitle:0kB other streams:0kB global 
headers:0kB muxing overhead: 6.697883%
     Conversion failed!

Regarding Objective 3: Though a subtitle stream is not reported, the 5 
concatenated sources do have subtitles. However, I think I have to get a 
matroska container working before attempting to include the subtitles, 
so this objective will have to wait.

Note that from ffprobe, I can see that the video & audio stream numbers 
change from one VOB to another. But ffmpeg apparently can track them 
automatically -- I write that with confidence because, when I play 
'output.ts', the single audio stream that gets into 'output.ts' (i.e., 
the isolated score) is constant and doesn't suddenly become dialog in 
the middle.

Can anyone suggest how I can meet any of my objectives?

Warm Regards,
Mark.


 >ffmpeg -i 
"concat:i:\VIDEO_TS\VTS_02_1.VOB|i:\VIDEO_TS\VTS_02_2.VOB|i:\VIDEO_TS\VTS_02_3.VOB|i:\VIDEO_TS\VTS_02_4.VOB|i:\VIDEO_TS\VTS_02_5.VOB" 
-c copy n:\output.ts
ffmpeg version N-94664-g0821bc4eee Copyright (c) 2000-2019 the FFmpeg 
developers
   built with gcc 9.1.1 (GCC) 20190807
   configuration: --enable-gpl --enable-version3 --enable-sdl2 
--enable-fontconfig --enable-gnutls --enable-iconv --enable-libass 
--enable-libdav1d --enable-libbluray --enable-libfreetype 
--enable-libmp3lame --enable-libopencore-amrnb 
--enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus 
--enable-libshine --enable-libsnappy --enable-libsoxr --enable-libtheora 
--enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp 
--enable-libx264 --enable-libx265 --enable-libxml2 --enable-libzimg 
--enable-lzma --enable-zlib --enable-gmp --enable-libvidstab 
--enable-libvorbis --enable-libvo-amrwbenc --enable-libmysofa 
--enable-libspeex --enable-libxvid --enable-libaom --enable-libmfx 
--enable-amf --enable-ffnvcodec --enable-cuvid --enable-d3d11va 
--enable-nvenc --enable-nvdec --enable-dxva2 --enable-avisynth 
--enable-libopenmpt
   libavutil      56. 33.100 / 56. 33.100
   libavcodec     58. 55.101 / 58. 55.101
   libavformat    58. 31.104 / 58. 31.104
   libavdevice    58.  9.100 / 58.  9.100
   libavfilter     7. 58.101 /  7. 58.101
   libswscale      5.  6.100 /  5.  6.100
   libswresample   3.  6.100 /  3.  6.100
   libpostproc    55.  6.100 / 55.  6.100
Input #0, mpeg, from 
'concat:i:\VIDEO_TS\VTS_02_1.VOB|i:\VIDEO_TS\VTS_02_2.VOB|i:\VIDEO_TS\VTS_02_3.VOB|i:\VIDEO_TS\VTS_02_4.VOB|i:\VIDEO_TS\VTS_02_5.VOB':
   Duration: 01:43:54.21, start: 0.041500, bitrate: 6105 kb/s
     Stream #0:0[0x1bf]: Data: dvd_nav_packet
     Stream #0:1[0x1e0]: Video: mpeg2video (Main), yuv420p(tv, top 
first), 720x480 [SAR 32:27 DAR 16:9], Closed Captions, 29.97 fps, 29.97 
tbr, 90k tbn, 59.94 tbc
     Stream #0:2[0x83]: Audio: ac3, 48000 Hz, 5.1(side), fltp, 448 kb/s
     Stream #0:3[0x82]: Audio: ac3, 48000 Hz, stereo, fltp, 192 kb/s
     Stream #0:4[0x81]: Audio: ac3, 48000 Hz, 5.1(side), fltp, 448 kb/s
     Stream #0:5[0x80]: Audio: ac3, 48000 Hz, stereo, fltp, 192 kb/s
Output #0, mpegts, to 'n:\output.ts':
   Metadata:
     encoder         : Lavf58.31.104
     Stream #0:0: Video: mpeg2video (Main), yuv420p(tv, top first), 
720x480 [SAR 32:27 DAR 16:9], q=2-31, 29.97 fps, 29.97 tbr, 90k tbn, 90k tbc
     Stream #0:1: Audio: ac3, 48000 Hz, 5.1(side), fltp, 448 kb/s
Stream mapping:
   Stream #0:1 -> #0:0 (copy)
   Stream #0:2 -> #0:1 (copy)
Press [q] to stop, [?] for help
[mpegts @ 0000023c737c00c0] Timestamps are unset in a packet for stream 
0. This is deprecated and will stop working in the future. Fix your code 
to set the timestamps properly
[mpeg @ 0000023c731a9000] New subtitle stream 0:6 at pos:116221966 and 
DTS:120.328speed=12.9x
frame=159684 fps=2310 q=-1.0 Lsize= 4048589kB time=01:43:54.17 
bitrate=5320.0kbits/s speed=90.2x
video:3573203kB audio:340933kB subtitle:0kB other streams:0kB global 
headers:0kB muxing overhead: 3.435060%


More information about the ffmpeg-user mailing list