[FFmpeg-user] stream mapping seems to work, but doesn't
sean darcy
seandarcy2 at gmail.com
Mon May 23 15:31:25 CEST 2016
I've got a bunch of VOB's I want to concatenate. For most of the VOB's
stream 0:0 is video and 0:1 audio, but for one VOB te streams are
switched, so concat doesn't work.
I tried to use map to switch the streams in the one VOB, which seemed to
work:
fmpeg -i out2.VOB -map 0:1 -map 0:0 -c copy out2-x.VOB
ffmpeg version 3.0.git Copyright (c) 2000-2016 the FFmpeg developers
built with gcc 5.3.1 (GCC) 20151207 (Red Hat 5.3.1-2)
configuration: --prefix=/usr --bindir=/usr/bin
--datadir=/usr/share/ffmpeg --libdir=/usr/lib64 --mandir=/usr/share/man
--shlibdir=/usr/lib64 --extra-cflags='-Ofast -march=native -fopenmp
-mtune=native -fomit-frame-pointer -pipe' --extra-ldflags=
--enable-static --enable-shared --enable-gray --enable-gpl
--enable-nonfree --enable-version3 --enable-avdevice --enable-avcodec
--enable-avformat --enable-avutil --enable-swresample --enable-swscale
--enable-postproc --enable-avfilter --enable-avresample
--enable-pthreads --enable-x11grab --enable-vdpau
--enable-hardcoded-tables --enable-avisynth --enable-frei0r
--enable-libfdk-aac --enable-libgsm --enable-libmp3lame
--enable-libopencore-amrwb --enable-libopencv --enable-libopenjpeg
--enable-libopus --enable-librtmp --enable-libschroedinger
--enable-libsoxr --enable-libspeex --enable-libtheora
--enable-libvidstab --enable-libvo-amrwbenc --enable-libvorbis
--enable-libvpx --enable-libwebp --enable-libx264 --enable-libxvid
--enable-zlib --disable-debug --cpu=amdfam10 --arch=x86_64 --enable-pic
--enable-opengl --enable-openssl
libavutil 55. 19.100 / 55. 19.100
libavcodec 57. 31.100 / 57. 31.100
libavformat 57. 29.101 / 57. 29.101
libavdevice 57. 0.101 / 57. 0.101
libavfilter 6. 40.102 / 6. 40.102
libavresample 3. 0. 0 / 3. 0. 0
libswscale 4. 0.100 / 4. 0.100
libswresample 2. 0.101 / 2. 0.101
libpostproc 54. 0.100 / 54. 0.100
[mpeg @ 0x8780e0] DTS discontinuity in stream 0: packet 3 with DTS
50761, packet 4 with DTS 53641
Input #0, mpeg, from 'out2.VOB':
Duration: 00:29:06.63, start: 0.500000, bitrate: 4892 kb/s
Stream #0:0[0x80]: Audio: ac3, 48000 Hz, stereo, fltp, 224 kb/s
Stream #0:1[0x1e0]: Video: mpeg2video (Main), yuv420p(tv,
smpte170m), 720x480 [SAR 8:9 DAR 4:3], max. 8500 kb/s, 29.97 fps, 29.97
tbr, 90k tbn, 59.94 tbc
[svcd @ 0x8804c0] VBV buffer size not set, using default size of 130KB
If you want the mpeg file to be compliant to some specification
Like DVD, VCD or others, make sure you set the correct buffer size
Output #0, svcd, to 'out2-x.VOB':
Metadata:
encoder : Lavf57.29.101
Stream #0:0: Video: mpeg2video, yuv420p, 720x480 [SAR 8:9 DAR 4:3],
q=2-31, max. 8500 kb/s, 29.97 fps, 29.97 tbr, 90k tbn, 29.97 tbc
Stream #0:1: Audio: ac3, 48000 Hz, stereo, 224 kb/s
Stream mapping:
Stream #0:1 -> #0:0 (copy)
Stream #0:0 -> #0:1 (copy)
Press [q] to stop, [?] for help
[svcd @ 0x8804c0] 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
frame=52323 fps=3074 q=-1.0 Lsize= 1043146kB time=00:29:06.62
bitrate=4892.6kbits/s speed= 103x
video:982531kB audio:47748kB subtitle:0kB other streams:0kB global
headers:0kB muxing overhead: 1.248881%
BUT ffprobe shows it didn't happen:
ffprobe out2-x.VOB
ffprobe version 3.0.git Copyright (c) 2007-2016 the FFmpeg developers
built with gcc 5.3.1 (GCC) 20151207 (Red Hat 5.3.1-2)
...................................
[mpeg @ 0xfff780] DTS discontinuity in stream 0: packet 3 with DTS
50761, packet 4 with DTS 53641
Input #0, mpeg, from 'out2-x.VOB':
Duration: 00:29:06.63, start: 0.500000, bitrate: 4892 kb/s
Stream #0:0[0x80]: Audio: ac3, 48000 Hz, stereo, fltp, 224 kb/s
Stream #0:1[0x1e0]: Video: mpeg2video (Main), yuv420p(tv,
smpte170m), 720x480 [SAR 8:9 DAR 4:3], max. 8500 kb/s, 29.97 fps, 29.97
tbr, 90k tbn, 59.94 tbc
How can I switch these streams ??
sean
More information about the ffmpeg-user
mailing list