[FFmpeg-user] Subtitle stream added to QT MOV format even when -snswitch used
Evan Scanlan
evan.m.scanlan at gmail.com
Sun Aug 14 02:03:15 CEST 2011
>>
>> Thanks for the response!
>>
>> It mainly bothers me because it makes it so that Quicktime cannot
>> manipulate the file. So I cannot save the file from Quicktime nor can
>> I use other programs like iFlicks (which I think uses Quicktime API)
>> when the subtitle stream is present. On other converted mov
>> containers (without subtitle stream) iFlicks and Quicktime work fine.
>
> This i don't understand.
> A subtitle track should be a custom formatted text file pasted in QT,
> has nothing to do with Quicktime being able to manipulate the file or not.
> (actually, QT player can be used to strip the track...)
> No idea about QT on Linux though, but this is the case on Win and Mac.
>
Thanks again for helping with this.
If I had to guess (and this is a 100% guess) I would say that there is
not actually a subtitle
track there at all -- instead maybe something in the mov container
header (is there such a thing)
that incorrectly marks an additional subtitle track when converting
from mkv file? Then maybe
when QT reads the file it sees the incorrect header and does not
manipulate file correctly -- this
is just a pure guess though -- I am curious if you do a conversion
from mkv to mov whether you
get this same outcome?
>>> (i mean, does it show on playback?)
No - does not show on playback (grayed out in QT Player)
>>> If so, can't you get rid of it in the second pass with mapping? (it
>>> appears
>>> as a seperate stream...)
>>> (or perhaps map the first pass, or pipe the second pass...)
>>
>> I tried that... running on the mov file again with -vocdec copy
>> -acodec copy -sn -f mov ... does not get rid of the subtitle stream.
>> It stays there and I cannot get rid of it no matter what I have tried.
>> Any suggestions on how to trick ffmpeg into removing the stream would
>> be great!
>
> Well, did you try -map instead of -sn ?
Yes - happens equally if I use -map 0:0 -map 0:1 ... here is the
result of running on the test.mov file that I used in
my original post -- second run shows that subtitle track is still there...
[evan at linux]$ ffmpeg -i test.mov -map 0:0 -map 0:1 -vcodec copy
-acodec copy -sn -f mov test2.mov
ffmpeg version 0.7-rc1, Copyright (c) 2000-2011 the FFmpeg developers
built on Jun 11 2011 21:15:16 with gcc 4.4.4 20100630 (Red Hat 4.4.4-10)
configuration: --prefix=/usr --libdir=/usr/lib64
--shlibdir=/usr/lib64 --mandir=/usr/share/man --enable-shared
--enable-runtime-cpudetect --enable-gpl --enable-version3
--enable-postproc --enable-avfilter --enable-pthreads --enable-x11grab
--enable-vdpau --disable-avisynth --enable-libopencv
--enable-libdc1394 --enable-libdirac --enable-libgsm
--enable-libmp3lame --enable-libnut --enable-libopencore-amrnb
--enable-libopencore-amrwb --enable-libopenjpeg --enable-librtmp
--enable-libschroedinger --enable-libspeex --enable-libtheora
--enable-libvorbis --enable-libx264 --enable-libxavs --enable-libxvid
--extra-cflags='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2
-fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64
-mtune=generic -fPIC' --disable-stripping
libavutil 50. 40. 1 / 50. 40. 1
libavcodec 52.120. 0 / 52.120. 0
libavformat 52.108. 0 / 52.108. 0
libavdevice 52. 4. 0 / 52. 4. 0
libavfilter 1. 77. 0 / 1. 77. 0
libswscale 0. 13. 0 / 0. 13. 0
libpostproc 51. 2. 0 / 51. 2. 0
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'test.mov':
Metadata:
major_brand : qt
minor_version : 512
compatible_brands: qt
creation_time : 1970-01-01 00:00:00
encoder : Lavf52.108.0
Duration: 00:00:05.06, start: 0.000000, bitrate: 1052 kb/s
Chapter #0.0: start 0.000000, end 5.000000
Metadata:
title : Chapter 00
Stream #0.0(eng): Video: vc1 (Advanced), yuv420p, 1920x1080 [PAR
1:1 DAR 16:9], 734 kb/s, 23.98 fps, 23.98 tbr, 24k tbn, 23.98 tbc
Metadata:
creation_time : 1970-01-01 00:00:00
Stream #0.1(eng): Audio: mp3, 48000 Hz, 2 channels, s16, 320 kb/s
Metadata:
creation_time : 1970-01-01 00:00:00
Stream #0.2(eng): Subtitle: text / 0x74786574, 0 kb/s
Metadata:
creation_time : 1970-01-01 00:00:00
Output #0, mov, to 'test2.mov':
Metadata:
major_brand : qt
minor_version : 512
compatible_brands: qt
creation_time : 1970-01-01 00:00:00
encoder : Lavf52.108.0
Chapter #0.0: start 0.000000, end 5.000000
Metadata:
title : Chapter 00
Stream #0.0(eng): Video: vc-1 / 0x312D6376, yuv420p, 1920x1080
[PAR 1:1 DAR 16:9], q=2-31, 734 kb/s, 24k tbn, 23.98 tbc
Metadata:
creation_time : 1970-01-01 00:00:00
Stream #0.1(eng): Audio: libmp3lame, 48000 Hz, 2 channels, 320 kb/s
Metadata:
creation_time : 1970-01-01 00:00:00
Stream mapping:
Stream #0.0 -> #0.0
Stream #0.1 -> #0.1
Press [q] to stop encoding
frame= 120 fps= 0 q=-1.0 Lsize= 651kB time=5.00 bitrate=1064.9kbits/s
video:449kB audio:198kB global headers:0kB muxing overhead 0.621834%
[evan at linux]$ ffmpeg -i test2.mov
ffmpeg version 0.7-rc1, Copyright (c) 2000-2011 the FFmpeg developers
built on Jun 11 2011 21:15:16 with gcc 4.4.4 20100630 (Red Hat 4.4.4-10)
configuration: --prefix=/usr --libdir=/usr/lib64
--shlibdir=/usr/lib64 --mandir=/usr/share/man --enable-shared
--enable-runtime-cpudetect --enable-gpl --enable-version3
--enable-postproc --enable-avfilter --enable-pthreads --enable-x11grab
--enable-vdpau --disable-avisynth --enable-libopencv
--enable-libdc1394 --enable-libdirac --enable-libgsm
--enable-libmp3lame --enable-libnut --enable-libopencore-amrnb
--enable-libopencore-amrwb --enable-libopenjpeg --enable-librtmp
--enable-libschroedinger --enable-libspeex --enable-libtheora
--enable-libvorbis --enable-libx264 --enable-libxavs --enable-libxvid
--extra-cflags='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2
-fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64
-mtune=generic -fPIC' --disable-stripping
libavutil 50. 40. 1 / 50. 40. 1
libavcodec 52.120. 0 / 52.120. 0
libavformat 52.108. 0 / 52.108. 0
libavdevice 52. 4. 0 / 52. 4. 0
libavfilter 1. 77. 0 / 1. 77. 0
libswscale 0. 13. 0 / 0. 13. 0
libpostproc 51. 2. 0 / 51. 2. 0
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'test2.mov':
Metadata:
major_brand : qt
minor_version : 512
compatible_brands: qt
creation_time : 1970-01-01 00:00:00
encoder : Lavf52.108.0
Duration: 00:00:05.06, start: 0.000000, bitrate: 1052 kb/s
Chapter #0.0: start 0.000000, end 5.000000
Metadata:
title : Chapter 00
Stream #0.0(eng): Video: vc1 (Advanced), yuv420p, 1920x1080 [PAR
1:1 DAR 16:9], 734 kb/s, 23.98 fps, 23.98 tbr, 24k tbn, 23.98 tbc
Metadata:
creation_time : 1970-01-01 00:00:00
Stream #0.1(eng): Audio: mp3, 48000 Hz, 2 channels, s16, 320 kb/s
Metadata:
creation_time : 1970-01-01 00:00:00
Stream #0.2(eng): Subtitle: text / 0x74786574, 0 kb/s
Metadata:
creation_time : 1970-01-01 00:00:00
At least one output file must be specified
[evan at linux]$
More information about the ffmpeg-user
mailing list