[FFmpeg-user] -f vob does not appear to produce MPEG-2 Program Streams according to ffprobe
ianm at brick.net
ianm at brick.net
Fri Mar 23 17:33:18 CET 2012
I am seeking to concatenate video clips of what might well
be random provenance, typically .MTS files (MEPG-2 TS
container file, H.264 video, AC-3 audio) but not always.
These are reasonably high resolution: 1920 x 1080. The
FAQ lists the following as "privileged formats" capable of
binary concatenation: "MPEG-1, MPEG-2 PS, DV" I wanted to
give MPEG-2 PS a shot. I'm using the wonderful Zeranoe
64-bit static build on Windows 7. Here's my command line
on a sample clip and the results:
C:\data\pipeline\binaries\ffmpeg\bin>ffmpeg -i
C:\data\pipeline\input\short-clip.mts -codec:v copy
-codec:a copy -f vob short-clip.vob
ffmpeg version N-38292-ga4c22e3 Copyright (c) 2000-2012
the FFmpeg developers
built on Feb 27 2012 14:55:47 with gcc 4.6.2
configuration: --enable-gpl --enable-version3
--disable-w32threads --enable-runtime-cpudetect
--enable-avisynth --enable-bzlib --enable-frei0r
--enable-libopencore-amrnb --enable-libopencore-amrwb
--enable-libfreetype --enable-libgsm --enable-libmp3lame
--enable-libopenjpeg --enable-librtmp
--enable-libschroedinger --enable-libspeex
--enable-libtheora --enable-libvo-aacenc
--enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx
--enable-libx264 --enable-libxavs --enable-libxvid
--enable-zlib
libavutil 51. 41.100 / 51. 41.100
libavcodec 54. 4.100 / 54. 4.100
libavformat 54. 1.100 / 54. 1.100
libavdevice 53. 4.100 / 53. 4.100
libavfilter 2. 62.101 / 2. 62.101
libswscale 2. 1.100 / 2. 1.100
libswresample 0. 7.100 / 0. 7.100
libpostproc 52. 0.100 / 52. 0.100
[h264 @ 0000000001E7AAB0] Increasing reorder buffer to 1
Input #0, mpegts, from
'C:\data\pipeline\input\short-clip.mts':
Duration: 00:02:00.03, start: 1.410000, bitrate: 24790
kb/s
Program 1
Metadata:
service_name : Service01
service_provider: FFmpeg
Stream #0:0[0x100]: Video: h264 (High) ([27][0][0][0]
/ 0x001B), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], 59.96
fps, 59.94 tbr, 90k tbn, 59.94 tbc
Stream #0:1[0x101]: Audio: ac3 ([129][0][0][0] /
0x0081), 48000 Hz, stereo, s16, 256 kb/s
[vob @ 0000000001E5ECC0] VBV buffer size not set, muxing
may fail
Output #0, vob, to 'short-clip.vob':
Metadata:
encoder : Lavf54.1.100
Stream #0:0: Video: h264 ([27][0][0][0] / 0x001B),
yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], q=2-31, 59.96 fps,
90k tbn, 29.97 tbc
Stream #0:1: Audio: ac3 ([129][0][0][0] / 0x0081),
48000 Hz, stereo, 256 kb/s
Stream mapping:
Stream #0:0 -> #0:0 (copy)
Stream #0:1 -> #0:1 (copy)
Press [q] to stop, [?] for help
frame= 7193 fps=692 q=-1.0 Lsize= 340006kB
time=00:02:00.00 bitrate=23209.7kbits/s
video:332130kB audio:3750kB global headers:0kB muxing
overhead 1.228504%
Yet when I ffprobe the file, I get
C:\data\pipeline\binaries\ffmpeg\bin>ffprobe
short-clip.vob
ffprobe version N-38292-ga4c22e3 Copyright (c) 2007-2012
the FFmpeg developers
built on Feb 27 2012 14:55:47 with gcc 4.6.2
configuration: --enable-gpl --enable-version3
--disable-w32threads --enable-runtime-cpudetect
--enable-avisynth --enable-bzlib --enable-frei0r
--enable-libopencore-amrnb --enable-libopencore-amrwb
--enable-libfreetype --enable-libgsm --enable-libmp3lame
--enable-libopenjpeg --enable-librtmp
--enable-libschroedinger --enable-libspeex
--enable-libtheora --enable-libvo-aacenc
--enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx
--enable-libx264 --enable-libxavs --enable-libxvid
--enable-zlib
libavutil 51. 41.100 / 51. 41.100
libavcodec 54. 4.100 / 54. 4.100
libavformat 54. 1.100 / 54. 1.100
libavdevice 53. 4.100 / 53. 4.100
libavfilter 2. 62.101 / 2. 62.101
libswscale 2. 1.100 / 2. 1.100
libswresample 0. 7.100 / 0. 7.100
libpostproc 52. 0.100 / 52. 0.100
[h264 @ 00000000003FF840] Increasing reorder buffer to 1
Input #0, mpeg, from 'short-clip.vob':
Duration: 00:02:00.03, start: 0.999967, bitrate: 23204
kb/s
Stream #0:0[0x1e0]: Video: h264 (High), yuv420p,
1920x1080 [SAR 1:1 DAR 16:9], 59.96 fps, 59.94 tbr, 90k
tbn, 59.94
tbc
Stream #0:1[0x80]: Audio: ac3, 48000 Hz, stereo, s16,
256 kb/s
Running a ffprobe -formats yields the relevant line "DE
mpeg MPEG-1 System format," which suggests that
I am not, in fact, getting an MPEG-2 Program Stream
container format. How do I do that? Obviously, I would
need to select the right codecs, but I am not that far
yet, although suggestions would be appreciated.
Alternatively, if I ought to be using MPEG-1 as the
container format, what audio and video codecs ought I to
use with it? I'm looking to retain the large resolution,
bitrate, etc., until the final downmix.
As I am trying to automate this process (clips get
transcoded, concatenated, transcoded more, all without
human eyes looking at them), I think I need be more aware
of potential problems with timestamps but I do not know
where to begin there and how my choice of concatenation
format will or will not affect that.
More information about the ffmpeg-user
mailing list