Opened 10 years ago
Last modified 8 years ago
#4344 new defect
XSUBs are too low in PAL video, on PS3
Reported by: | edumj | Owned by: | |
---|---|---|---|
Priority: | normal | Component: | undetermined |
Version: | unspecified | Keywords: | xsub |
Cc: | edumj | Blocked By: | |
Blocking: | Reproduced by developer: | no | |
Analyzed by developer: | no |
Description
Hi,
I'm making test with subtitles, and when I try to convert a PAL VOB to Xvid with embed subs (idx/sub to xsub) it looks ok in VLC, but stretched and off the screen in PS3.
It seems that only happens with videos with height over 480 pixels, because 720x480 subs are ok in PS3.
It's like the PS3 thinks the bitmap subtitle are 720x480 and stretches them to 720x576, so lower subs are off the screen.
Does the "-scodec xsub" encoder has any options?? I didn't find any info about xsub encoder, nor any parameters in FFMPEG documentation.
Are the bitmaps fullscreen or clipped? Is there a way to set position of subs?
It's like the bitmaps are 720x576 but marked somewhere as 720x480??
Summary of the bug:
How to reproduce:
ffmpeg -i input -scodec xsub output ffmpeg versión N-70148-g418be7c built with gcc 4.9.2 (GCC)
Attachments (1)
Change History (20)
comment:1 by , 10 years ago
comment:2 by , 10 years ago
I don't know if it's a bug of DivX subtitles, because I remember also happened with AVIAddXSubs, but it can change the Vertical Position of subtitles.
But, in the source code https://www.ffmpeg.org/doxygen/0.6/xsubenc_8c-source.html I think there are x, y, width and height parameters. It should be possible to change them, although subs may be higher in VLC, but they will look ok in PS3.
comment:3 by , 8 years ago
With DivXMux.exe the subs are Ok, and it always makes Subtitle Track of 640x480 with any video resolution (like 720x540). May be that's why subs are too low if ffmpeg takes 720x576 as the sub resolution, when xsubs should be always 640x480.
There should be some way of passing xsub_encode fuction width and height parameters (and not let it take video source resolution) or just make xsubs always 640x480 like DivXMux does.
PD: It doesn't happen only in PS3, also in TV's and DVD's.
comment:4 by , 8 years ago
Cc: | added |
---|---|
Keywords: | dxsb removed |
If you want to help with this ticket, please provide the FFmpeg command line that produces the incorrect output together with the complete, uncut console output (and point to the input sample) and, if possible, a "correct" output from the same source.
comment:5 by , 8 years ago
Ok, I will, but I found this sample in your samples directory https://samples.ffmpeg.org/sub/small.divx and they have the same problem: ok in VLC, but too low in TV (half off the screen).
comment:6 by , 8 years ago
Ok, I found this VOB in yours sample folder:
https://samples.ffmpeg.org/sub/starwarssub2.vob
It's PAL and has lots of Vobsubs.
I convert it to AVI, scaling video to 720x400 (with scale filter) and embeding XSUBs with this:
"ffmpeg.exe" -palette "000000,000000,000000,000000,000000,000000,000000,000000,000000,000000,000000,000000,000000,111111,ffffff,000000" -i "starwarssub2.vob" -map 0:v -map 0:a:0 -map 0:s:1 -scodec xsub -f avi -c:v libxvid -b:v 1500k -vtag XVID -c:a libmp3lame -b:a 128k -vf scale=720:400,setsar=sar=1/1 "starwarssub2 a xsub, scale 720x400.avi"
This is the output:
ffmpeg version N-81452-g01aee81 Copyright (c) 2000-2016 the FFmpeg developers built with gcc 5.4.0 (GCC) configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-dxva2 --enable-libmfx --enable-nvenc --enable-avisynth --enable-bzlib --enable-libebur128 -- enable-fontconfig --enable-frei0r --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libfreetype --enable-libgme -- enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenh264 --enable-libopenjpeg -- enable-libopus --enable-librtmp --enable-libschroedinger --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab -- enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable- libzimg --enable-lzma --enable-decklink --enable-zlib libavutil 55. 29.100 / 55. 29.100 libavcodec 57. 54.100 / 57. 54.100 libavformat 57. 48.100 / 57. 48.100 libavdevice 57. 0.102 / 57. 0.102 libavfilter 6. 54.100 / 6. 54.100 libswscale 4. 1.100 / 4. 1.100 libswresample 2. 1.100 / 2. 1.100 libpostproc 54. 0.100 / 54. 0.100 Input #0, mpeg, from 'starwarssub2.vob': Duration: 00:00:39.35, start: 2891.089167, bitrate: 7702 kb/s Stream #0:0[0x1e0]: Video: mpeg2video (Main), yuv420p(tv, bt470bg), 720x576 [SAR 64:45 DAR 16:9], 25 fps, 25 tbr, 90k tbn, 50 tbc Stream #0:1[0x28]: Subtitle: dvd_subtitle Stream #0:2[0x80]: Audio: ac3, 48000 Hz, 5.1(side), fltp, 448 kb/s Stream #0:3[0x81]: Audio: ac3, 48000 Hz, 5.1(side), fltp, 448 kb/s Stream #0:4[0x82]: Audio: ac3, 48000 Hz, stereo, fltp, 192 kb/s Stream #0:5[0x20]: Subtitle: dvd_subtitle Stream #0:6[0x21]: Subtitle: dvd_subtitle Stream #0:7[0x22]: Subtitle: dvd_subtitle Stream #0:8[0x23]: Subtitle: dvd_subtitle Stream #0:9[0x24]: Subtitle: dvd_subtitle Stream #0:10[0x25]: Subtitle: dvd_subtitle Stream #0:11[0x26]: Subtitle: dvd_subtitle Stream #0:12[0x27]: Subtitle: dvd_subtitle Stream #0:13[0x29]: Subtitle: dvd_subtitle Stream #0:14[0x2a]: Subtitle: dvd_subtitle Stream #0:15[0x2b]: Subtitle: dvd_subtitle Stream #0:16[0x2c]: Subtitle: dvd_subtitle Stream #0:17[0x2d]: Subtitle: dvd_subtitle Stream #0:18[0x2e]: Subtitle: dvd_subtitle Stream #0:19[0x2f]: Subtitle: dvd_subtitle [avi @ 051417c0] Using AVStream.codec to pass codec parameters to muxers is deprecated, use AVStream.codecpar instead. Last message repeated 2 times [null @ 049090e0] Using AVStream.codec to pass codec parameters to muxers is deprecated, use AVStream.codecpar instead. Last message repeated 1 times Output #0, avi, to 'starwarssub2 a xsub, scale 720x400.avi': Metadata: ISFT : Lavf57.48.100 Stream #0:0: Video: mpeg4 (libxvid) (XVID / 0x44495658), yuv420p, 720x400 [SAR 1:1 DAR 9:5], q=2-31, 1500 kb/s, 25 fps, 25 tbn, 25 tbc Metadata: encoder : Lavc57.54.100 libxvid Stream #0:1: Audio: mp3 (libmp3lame) (U[0][0][0] / 0x0055), 48000 Hz, stereo, fltp, delay 1105, padding 0, 128 kb/s Metadata: encoder : Lavc57.54.100 libmp3lame Stream #0:2: Subtitle: xsub (DXSB / 0x42535844) Metadata: encoder : Lavc57.54.100 xsub Output #1, null, to 'nul': Metadata: encoder : Lavf57.48.100 Stream #1:0: Video: wrapped_avframe, yuv420p, 720x576 [SAR 64:45 DAR 16:9], q=2-31, 200 kb/s, 25 fps, 25 tbn, 25 tbc Metadata: encoder : Lavc57.54.100 wrapped_avframe Stream #1:1: Audio: pcm_s16le, 48000 Hz, 5.1(side), s16, 4608 kb/s Metadata: encoder : Lavc57.54.100 pcm_s16le Stream mapping: Stream #0:0 -> #0:0 (mpeg2video (native) -> mpeg4 (libxvid)) Stream #0:2 -> #0:1 (ac3 (native) -> mp3 (libmp3lame)) Stream #0:5 -> #0:2 (dvd_subtitle (dvdsub) -> xsub (native)) Stream #0:0 -> #1:0 (mpeg2video (native) -> wrapped_avframe (native)) Stream #0:2 -> #1:1 (ac3 (native) -> pcm_s16le (native)) Press [q] to stop, [?] for help [ac3 @ 04e3ad60] frame sync error Error while decoding stream #0:2: Invalid data found when processing input [null @ 049090e0] Application provided invalid, non monotonically increasing dts to muxer in stream 1: 1536 >= 1536 [libmp3lame @ 05338960] Queue input is backward in time frame= 117 fps=0.0 q=3.0 q=-0.0 size= 230kB time=00:00:04.92 bitrate= 383.0kbits/s speed=9.81x frame= 234 fps=233 q=2.0 q=-0.0 size= 1781kB time=00:00:09.60 bitrate=1519.8kbits/s speed=9.57x frame= 345 fps=229 q=3.0 q=-0.0 size= 2902kB time=00:00:14.04 bitrate=1693.5kbits/s speed=9.33x frame= 460 fps=229 q=3.0 q=-0.0 size= 3434kB time=00:00:18.64 bitrate=1509.4kbits/s speed=9.28x frame= 574 fps=229 q=4.0 q=-0.0 size= 4818kB time=00:00:23.20 bitrate=1701.3kbits/s speed=9.25x frame= 692 fps=230 q=3.0 q=-0.0 size= 5492kB time=00:00:27.92 bitrate=1611.4kbits/s speed=9.27x frame= 809 fps=230 q=4.0 q=-0.0 size= 6280kB time=00:00:32.60 bitrate=1578.1kbits/s speed=9.29x frame= 916 fps=228 q=3.0 q=-0.0 size= 7452kB time=00:00:36.88 bitrate=1655.3kbits/s speed=9.19x [mpeg2video @ 04e3a4c0] ac-tex damaged at 9 31 [mpeg2video @ 04e3a4c0] Warning MVs not available [mpeg2video @ 04e3a4c0] concealing 225 DC, 225 AC, 225 MV errors in P frame [ac3 @ 04e3ad60] incomplete frame frame= 953 fps=228 q=3.0 Lq=-0.0 size= 7847kB time=00:00:38.36 bitrate=1675.8kbits/s speed=9.16x video:7509kB audio:22053kB subtitle:25kB other streams:0kB global headers:0kB muxing overhead: unknown
If I use the "-s" option to scale the video, like this:
"ffmpeg.exe" -palette "000000,000000,000000,000000,000000,000000,000000,000000,000000,000000,000000,000000,000000,111111,ffffff,000000" -i "starwarssub2.vob" -map 0:v -map 0:a:0 -map 0:s:1 -scodec xsub -f avi -c:v libxvid -b:v 1500k -vtag XVID -c:a libmp3lame -b:a 128k -s 720x400 "starwarssub2 a xsub, -s 720x400.avi"
This is the output:
ffmpeg version N-81452-g01aee81 Copyright (c) 2000-2016 the FFmpeg developers built with gcc 5.4.0 (GCC) configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-dxva2 --enable-libmfx --enable-nvenc --enable-avisynth --enable-bzlib --enable-libebur128 -- enable-fontconfig --enable-frei0r --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libfreetype --enable-libgme -- enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenh264 --enable-libopenjpeg -- enable-libopus --enable-librtmp --enable-libschroedinger --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab -- enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable- libzimg --enable-lzma --enable-decklink --enable-zlib libavutil 55. 29.100 / 55. 29.100 libavcodec 57. 54.100 / 57. 54.100 libavformat 57. 48.100 / 57. 48.100 libavdevice 57. 0.102 / 57. 0.102 libavfilter 6. 54.100 / 6. 54.100 libswscale 4. 1.100 / 4. 1.100 libswresample 2. 1.100 / 2. 1.100 libpostproc 54. 0.100 / 54. 0.100 Input #0, mpeg, from 'starwarssub2.vob': Duration: 00:00:39.35, start: 2891.089167, bitrate: 7702 kb/s Stream #0:0[0x1e0]: Video: mpeg2video (Main), yuv420p(tv, bt470bg), 720x576 [SAR 64:45 DAR 16:9], 25 fps, 25 tbr, 90k tbn, 50 tbc Stream #0:1[0x28]: Subtitle: dvd_subtitle Stream #0:2[0x80]: Audio: ac3, 48000 Hz, 5.1(side), fltp, 448 kb/s Stream #0:3[0x81]: Audio: ac3, 48000 Hz, 5.1(side), fltp, 448 kb/s Stream #0:4[0x82]: Audio: ac3, 48000 Hz, stereo, fltp, 192 kb/s Stream #0:5[0x20]: Subtitle: dvd_subtitle Stream #0:6[0x21]: Subtitle: dvd_subtitle Stream #0:7[0x22]: Subtitle: dvd_subtitle Stream #0:8[0x23]: Subtitle: dvd_subtitle Stream #0:9[0x24]: Subtitle: dvd_subtitle Stream #0:10[0x25]: Subtitle: dvd_subtitle Stream #0:11[0x26]: Subtitle: dvd_subtitle Stream #0:12[0x27]: Subtitle: dvd_subtitle Stream #0:13[0x29]: Subtitle: dvd_subtitle Stream #0:14[0x2a]: Subtitle: dvd_subtitle Stream #0:15[0x2b]: Subtitle: dvd_subtitle Stream #0:16[0x2c]: Subtitle: dvd_subtitle Stream #0:17[0x2d]: Subtitle: dvd_subtitle Stream #0:18[0x2e]: Subtitle: dvd_subtitle Stream #0:19[0x2f]: Subtitle: dvd_subtitle [avi @ 05013da0] Using AVStream.codec to pass codec parameters to muxers is deprecated, use AVStream.codecpar instead. Last message repeated 2 times [null @ 0500daa0] Using AVStream.codec to pass codec parameters to muxers is deprecated, use AVStream.codecpar instead. Last message repeated 1 times Output #0, avi, to 'starwarssub2 a xsub, -s 720x400.avi': Metadata: ISFT : Lavf57.48.100 Stream #0:0: Video: mpeg4 (libxvid) (XVID / 0x44495658), yuv420p, 720x400 [SAR 80:81 DAR 16:9], q=2-31, 1500 kb/s, 25 fps, 25 tbn, 25 tbc Metadata: encoder : Lavc57.54.100 libxvid Stream #0:1: Audio: mp3 (libmp3lame) (U[0][0][0] / 0x0055), 48000 Hz, stereo, fltp, delay 1105, padding 0, 128 kb/s Metadata: encoder : Lavc57.54.100 libmp3lame Stream #0:2: Subtitle: xsub (DXSB / 0x42535844), 720x400 Metadata: encoder : Lavc57.54.100 xsub Output #1, null, to 'nul': Metadata: encoder : Lavf57.48.100 Stream #1:0: Video: wrapped_avframe, yuv420p, 720x576 [SAR 64:45 DAR 16:9], q=2-31, 200 kb/s, 25 fps, 25 tbn, 25 tbc Metadata: encoder : Lavc57.54.100 wrapped_avframe Stream #1:1: Audio: pcm_s16le, 48000 Hz, 5.1(side), s16, 4608 kb/s Metadata: encoder : Lavc57.54.100 pcm_s16le Stream mapping: Stream #0:0 -> #0:0 (mpeg2video (native) -> mpeg4 (libxvid)) Stream #0:2 -> #0:1 (ac3 (native) -> mp3 (libmp3lame)) Stream #0:5 -> #0:2 (dvd_subtitle (dvdsub) -> xsub (native)) Stream #0:0 -> #1:0 (mpeg2video (native) -> wrapped_avframe (native)) Stream #0:2 -> #1:1 (ac3 (native) -> pcm_s16le (native)) Press [q] to stop, [?] for help [ac3 @ 05009e20] frame sync error Error while decoding stream #0:2: Invalid data found when processing input [null @ 0500daa0] Application provided invalid, non monotonically increasing dts to muxer in stream 1: 1536 >= 1536 [libmp3lame @ 055138a0] Queue input is backward in time frame= 117 fps=0.0 q=3.0 q=-0.0 size= 230kB time=00:00:04.92 bitrate= 383.0kbits/s speed=9.83x frame= 230 fps=230 q=3.0 q=-0.0 size= 1781kB time=00:00:09.44 bitrate=1545.6kbits/s speed=9.43x frame= 341 fps=227 q=3.0 q=-0.0 size= 2861kB time=00:00:13.88 bitrate=1688.5kbits/s speed=9.24x frame= 453 fps=226 q=3.0 q=-0.0 size= 3434kB time=00:00:18.36 bitrate=1532.4kbits/s speed=9.16x frame= 566 fps=226 q=4.0 q=-0.0 size= 4753kB time=00:00:22.91 bitrate=1699.5kbits/s speed=9.15x frame= 681 fps=226 q=4.0 q=-0.0 size= 5492kB time=00:00:27.48 bitrate=1637.2kbits/s speed=9.14x frame= 796 fps=227 q=4.0 q=-0.0 size= 6280kB time=00:00:32.08 bitrate=1603.7kbits/s speed=9.14x frame= 905 fps=226 q=3.0 q=-0.0 size= 6969kB time=00:00:36.44 bitrate=1566.8kbits/s speed=9.09x [mpeg2video @ 050095a0] ac-tex damaged at 9 31 [mpeg2video @ 050095a0] Warning MVs not available [mpeg2video @ 050095a0] concealing 225 DC, 225 AC, 225 MV errors in P frame [ac3 @ 05009e20] incomplete frame frame= 953 fps=225 q=3.0 Lq=-0.0 size= 7847kB time=00:00:38.36 bitrate=1675.8kbits/s speed=9.05x video:7509kB audio:22053kB subtitle:25kB other streams:0kB global headers:0kB muxing overhead: unknown
Appart from the fact that with "-s", setsar filter doesn't seem to work, the only difference I see in the output is:
with -s option:
Stream #0:2: Subtitle: xsub (DXSB / 0x42535844), 720x400
with scale filter:
Stream #0:2: Subtitle: xsub (DXSB / 0x42535844)
Does the -s option try to scale subtitles?
Because the subtitles looks the same (only looks different in VLC, and only if I don't scale video). But all of them looks the same and are too low (half off the screen) in TV.
PD: That doesn't happen with IDX/SUB createad with TXT2Vobsub, neither with NTSC DVDs, so it seems to happen only with PAL DVDs.
comment:8 by , 8 years ago
I made this with Divxmux starwarssub2 (.vob).divx but using different IDX/SUB, because without IFO the only way to extract Vobsub from a VOB, is with Mencoder, and with IDX/SUB extracted by Mencoder, DivxMux freezes!
If you want the exact subs, this is another test with a PAL DVD:
"%~dps0\ffmpeg" -palette "ffffff,000000,444444,ffffff,000000,000000,000000,000000,000000,000000,000000,000000,000000,000000,000000,000000" -i "%~1" -map 0:v -map 0:a:0 -map 0:s:2 -scodec xsub -t 60 -f avi -c:v libxvid -b:v 1500k -vtag XVID -c:a libmp3lame -b:a 128k "%~dps0\%~n1 720x576.avi"
And the output:
ffmpeg version N-81452-g01aee81 Copyright (c) 2000-2016 the FFmpeg developers built with gcc 5.4.0 (GCC) configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-dxva2 --enable-libmfx --enable-nvenc --enable-avisynth --enable-bzlib --enable-libebur128 -- enable-fontconfig --enable-frei0r --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libfreetype --enable-libgme -- enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenh264 --enable-libopenjpeg -- enable-libopus --enable-librtmp --enable-libschroedinger --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab -- enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable- libzimg --enable-lzma --enable-decklink --enable-zlib libavutil 55. 29.100 / 55. 29.100 libavcodec 57. 54.100 / 57. 54.100 libavformat 57. 48.100 / 57. 48.100 libavdevice 57. 0.102 / 57. 0.102 libavfilter 6. 54.100 / 6. 54.100 libswscale 4. 1.100 / 4. 1.100 libswresample 2. 1.100 / 2. 1.100 libpostproc 54. 0.100 / 54. 0.100 Input #0, mpeg, from 'H:\SEINFELD_BONUS_DISC\VIDEO_TS\VTS_01_1.VOB': Duration: 00:27:05.88, start: 0.049756, bitrate: 5283 kb/s Stream #0:0[0x1bf]: Data: dvd_nav_packet Stream #0:1[0x1e0]: Video: mpeg2video (Main), yuv420p(tv), 720x576 [SAR 16:15 DAR 4:3], 25 fps, 25 tbr, 90k tbn, 50 tbc Stream #0:2[0x80]: Audio: ac3, 48000 Hz, stereo, fltp, 192 kb/s Stream #0:3[0x25]: Subtitle: dvd_subtitle Stream #0:4[0x24]: Subtitle: dvd_subtitle Stream #0:5[0x23]: Subtitle: dvd_subtitle Stream #0:6[0x22]: Subtitle: dvd_subtitle Stream #0:7[0x21]: Subtitle: dvd_subtitle Stream #0:8[0x20]: Subtitle: dvd_subtitle [avi @ 05005cc0] Using AVStream.codec to pass codec parameters to muxers is deprecated, use AVStream.codecpar instead. Last message repeated 2 times [null @ 05004cc0] Using AVStream.codec to pass codec parameters to muxers is deprecated, use AVStream.codecpar instead. Last message repeated 1 times Output #0, avi, to 'E:\MISDOC~1\CONVER~1\_PACON~1\MEDIAI~1\FFD8CF~1\DVDAXS~1\CONDIV~1\\VTS_01_1 720x576 ffmpeg.avi': Metadata: ISFT : Lavf57.48.100 Stream #0:0: Video: mpeg4 (libxvid) (XVID / 0x44495658), yuv420p, 720x576 [SAR 16:15 DAR 4:3], q=2-31, 1500 kb/s, 25 fps, 25 tbn, 25 tbc Metadata: encoder : Lavc57.54.100 libxvid Stream #0:1: Audio: mp3 (libmp3lame) (U[0][0][0] / 0x0055), 48000 Hz, stereo, fltp, delay 1105, padding 0, 128 kb/s Metadata: encoder : Lavc57.54.100 libmp3lame Stream #0:2: Subtitle: xsub (DXSB / 0x42535844) Metadata: encoder : Lavc57.54.100 xsub Output #1, null, to 'nul': Metadata: encoder : Lavf57.48.100 Stream #1:0: Video: wrapped_avframe, yuv420p, 720x576 [SAR 16:15 DAR 4:3], q=2-31, 200 kb/s, 25 fps, 25 tbn, 25 tbc Metadata: encoder : Lavc57.54.100 wrapped_avframe Stream #1:1: Audio: pcm_s16le, 48000 Hz, stereo, s16, 1536 kb/s Metadata: encoder : Lavc57.54.100 pcm_s16le Stream mapping: Stream #0:1 -> #0:0 (mpeg2video (native) -> mpeg4 (libxvid)) Stream #0:2 -> #0:1 (ac3 (native) -> mp3 (libmp3lame)) Stream #0:5 -> #0:2 (dvd_subtitle (dvdsub) -> xsub (native)) Stream #0:1 -> #1:0 (mpeg2video (native) -> wrapped_avframe (native)) Stream #0:2 -> #1:1 (ac3 (native) -> pcm_s16le (native)) Press [q] to stop, [?] for help frame= 112 fps=0.0 q=5.0 q=-0.0 size= 712kB time=00:00:04.51 bitrate=1292.8kbits/s speed=9.02x frame= 207 fps=207 q=5.0 q=-0.0 size= 1772kB time=00:00:08.28 bitrate=1751.2kbits/s speed=8.28x frame= 296 fps=197 q=5.0 q=-0.0 size= 1772kB time=00:00:11.84 bitrate=1225.9kbits/s speed=7.87x frame= 392 fps=195 q=5.0 q=-0.0 size= 3389kB time=00:00:15.68 bitrate=1770.4kbits/s speed=7.81x frame= 486 fps=194 q=4.0 q=-0.0 size= 4150kB time=00:00:19.45 bitrate=1747.4kbits/s speed=7.75x frame= 583 fps=194 q=5.0 q=-0.0 size= 4184kB time=00:00:23.32 bitrate=1469.3kbits/s speed=7.75x frame= 701 fps=200 q=5.0 q=-0.0 size= 5763kB time=00:00:28.06 bitrate=1682.2kbits/s speed=7.99x frame= 812 fps=202 q=4.0 q=-0.0 size= 6638kB time=00:00:32.48 bitrate=1674.3kbits/s speed=8.09x frame= 924 fps=205 q=4.0 q=-0.0 size= 7215kB time=00:00:37.02 bitrate=1596.4kbits/s speed= 8.2x frame= 1038 fps=207 q=3.0 q=-0.0 size= 8353kB time=00:00:41.56 bitrate=1646.2kbits/s speed=8.29x frame= 1153 fps=209 q=4.0 q=-0.0 size= 9085kB time=00:00:46.12 bitrate=1613.7kbits/s speed=8.36x frame= 1270 fps=211 q=3.0 q=-0.0 size= 9628kB time=00:00:50.84 bitrate=1551.1kbits/s speed=8.45x frame= 1392 fps=214 q=3.0 q=-0.0 size= 10901kB time=00:00:55.68 bitrate=1603.8kbits/s speed=8.54x frame= 1500 fps=214 q=4.0 q=-0.0 size= 11791kB time=00:01:03.92 bitrate=1511.2kbits/s speed=9.11x frame= 1500 fps=199 q=4.0 q=-0.0 size= 11791kB time=00:01:45.56 bitrate= 915.1kbits/s speed= 14x frame= 1500 fps=187 q=4.0 q=-0.0 size= 11791kB time=00:02:20.20 bitrate= 689.0kbits/s speed=17.5x frame= 1500 fps=176 q=4.0 q=-0.0 size= 11791kB time=00:03:10.94 bitrate= 505.9kbits/s speed=22.4x frame= 1500 fps=166 q=4.0 q=-0.0 size= 11791kB time=00:04:01.08 bitrate= 400.7kbits/s speed=26.7x frame= 1500 fps=158 q=4.0 q=-0.0 size= 11791kB time=00:04:38.88 bitrate= 346.4kbits/s speed=29.3x frame= 1500 fps=150 q=4.0 q=-0.0 size= 11791kB time=00:05:27.28 bitrate= 295.1kbits/s speed=32.7x frame= 1500 fps=143 q=4.0 q=-0.0 size= 11791kB time=00:06:23.48 bitrate= 251.9kbits/s speed=36.4x frame= 1500 fps=136 q=4.0 q=-0.0 size= 11791kB time=00:07:03.44 bitrate= 228.1kbits/s speed=38.4x frame= 1500 fps=130 q=4.0 q=-0.0 size= 11791kB time=00:07:48.80 bitrate= 206.0kbits/s speed=40.7x frame= 1500 fps=125 q=4.0 q=-0.0 size= 11791kB time=00:08:27.60 bitrate= 190.3kbits/s speed=42.2x frame= 1500 fps=120 q=4.0 q=-0.0 size= 11791kB time=00:09:19.00 bitrate= 172.8kbits/s speed=44.6x frame= 1500 fps=115 q=4.0 q=-0.0 size= 11791kB time=00:10:11.61 bitrate= 157.9kbits/s speed= 47x frame= 1500 fps=111 q=4.0 q=-0.0 size= 11791kB time=00:11:05.36 bitrate= 145.2kbits/s speed=49.2x frame= 1500 fps=107 q=4.0 q=-0.0 size= 11791kB time=00:11:45.92 bitrate= 136.8kbits/s speed=50.3x frame= 1500 fps=103 q=4.0 q=-0.0 size= 11791kB time=00:12:27.74 bitrate= 129.2kbits/s speed=51.5x frame= 1500 fps=100 q=4.0 q=-0.0 size= 11791kB time=00:13:15.16 bitrate= 121.5kbits/s speed=52.9x frame= 1500 fps= 97 q=4.0 q=-0.0 size= 11791kB time=00:14:03.44 bitrate= 114.5kbits/s speed=54.3x frame= 1500 fps= 94 q=4.0 q=-0.0 size= 11791kB time=00:14:46.24 bitrate= 109.0kbits/s speed=55.3x frame= 1500 fps= 91 q=4.0 q=-0.0 size= 11791kB time=00:15:44.16 bitrate= 102.3kbits/s speed=57.1x frame= 1500 fps= 88 q=4.0 q=-0.0 size= 11791kB time=00:16:30.97 bitrate= 97.5kbits/s speed=58.2x frame= 1500 fps= 86 q=4.0 q=-0.0 size= 11791kB time=00:17:26.14 bitrate= 92.3kbits/s speed=59.7x frame= 1500 fps= 83 q=4.0 q=-0.0 size= 11791kB time=00:18:23.08 bitrate= 87.6kbits/s speed=61.2x frame= 1500 fps= 81 q=4.0 q=-0.0 size= 11791kB time=00:19:18.68 bitrate= 83.4kbits/s speed=62.6x frame= 1500 fps= 79 q=4.0 q=-0.0 size= 11791kB time=00:20:03.24 bitrate= 80.3kbits/s speed=63.2x frame= 1500 fps= 77 q=4.0 q=-0.0 size= 11791kB time=00:20:48.00 bitrate= 77.4kbits/s speed=63.9x frame= 1500 fps= 75 q=4.0 q=-0.0 size= 11791kB time=00:21:38.04 bitrate= 74.4kbits/s speed=64.8x frame= 1500 fps= 73 q=4.0 q=-0.0 size= 11791kB time=00:22:36.08 bitrate= 71.2kbits/s speed=66.1x frame= 1500 fps= 71 q=4.0 q=-0.0 size= 11791kB time=00:23:22.56 bitrate= 68.9kbits/s speed=66.7x frame= 1500 fps= 70 q=4.0 q=-0.0 size= 11791kB time=00:24:11.08 bitrate= 66.6kbits/s speed=67.4x frame= 1500 fps= 68 q=4.0 q=-0.0 size= 11791kB time=00:24:55.20 bitrate= 64.6kbits/s speed=67.9x frame= 1500 fps= 67 q=4.0 q=-0.0 size= 11791kB time=00:25:39.29 bitrate= 62.8kbits/s speed=68.3x frame= 1500 fps= 65 q=4.0 q=-0.0 size= 11791kB time=00:26:27.92 bitrate= 60.8kbits/s speed= 69x [mpeg2video @ 050c6d00] ac-tex damaged at 33 11 [mpeg2video @ 050c6d00] Warning MVs not available [mpeg2video @ 050c6d00] concealing 1125 DC, 1125 AC, 1125 MV errors in I frame [ac3 @ 050c7160] incomplete frame frame= 1500 fps= 64 q=4.0 Lq=-0.0 size= 12203kB time=00:27:05.88 bitrate= 61.5kbits/s speed=69.2x video:26342kB audio:305762kB subtitle:56kB other streams:0kB global headers:0kB muxing overhead: unknown
And the subs are bad:
VTS_01_1 720x576 ffmpeg.avi -> Bad! (ffmpeg+xsub)
But, if I extract Vobsubs with PgcDemux in .sup format, convert .sup to idx/sub with sup2vobsub and mux into .avi with DivxMux, the subs are Ok:
VTS_01_1 720x576 paDivxMux.avi -> AVI without subs (ffmpeg)
VTS_01_1 720x576 DivxMux.avi -> Ok! (ffmpeg+PgcDemux+sup2vobsub+divxmux)
Convert to AVI with ffmpeg (without subs):
"%~dps0\ffmpeg" -i "%~1" -map 0:v -map 0:a:0 -t 60 -f avi -c:v libxvid -b:v 1500k -vtag XVID -c:a libmp3lame -b:a 128k "%~dps0\%~n1 720x576 paDivxMux.avi"
Output from ffmpeg:
ffmpeg version N-81452-g01aee81 Copyright (c) 2000-2016 the FFmpeg developers built with gcc 5.4.0 (GCC) configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-dxva2 --enable-libmfx --enable-nvenc --enable-avisynth --enable-bzlib --enable-libebur128 -- enable-fontconfig --enable-frei0r --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libfreetype --enable-libgme -- enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenh264 --enable-libopenjpeg -- enable-libopus --enable-librtmp --enable-libschroedinger --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab -- enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable- libzimg --enable-lzma --enable-decklink --enable-zlib libavutil 55. 29.100 / 55. 29.100 libavcodec 57. 54.100 / 57. 54.100 libavformat 57. 48.100 / 57. 48.100 libavdevice 57. 0.102 / 57. 0.102 libavfilter 6. 54.100 / 6. 54.100 libswscale 4. 1.100 / 4. 1.100 libswresample 2. 1.100 / 2. 1.100 libpostproc 54. 0.100 / 54. 0.100 Input #0, mpeg, from 'H:\SEINFELD_BONUS_DISC\VIDEO_TS\VTS_01_1.VOB': Duration: 00:27:05.88, start: 0.049756, bitrate: 5283 kb/s Stream #0:0[0x1bf]: Data: dvd_nav_packet Stream #0:1[0x1e0]: Video: mpeg2video (Main), yuv420p(tv), 720x576 [SAR 16:15 DAR 4:3], 25 fps, 25 tbr, 90k tbn, 50 tbc Stream #0:2[0x80]: Audio: ac3, 48000 Hz, stereo, fltp, 192 kb/s Stream #0:3[0x25]: Subtitle: dvd_subtitle Stream #0:4[0x24]: Subtitle: dvd_subtitle Stream #0:5[0x23]: Subtitle: dvd_subtitle Stream #0:6[0x22]: Subtitle: dvd_subtitle Stream #0:7[0x21]: Subtitle: dvd_subtitle Stream #0:8[0x20]: Subtitle: dvd_subtitle [avi @ 04e95ee0] Using AVStream.codec to pass codec parameters to muxers is deprecated, use AVStream.codecpar instead. Last message repeated 1 times [null @ 0498ed60] Using AVStream.codec to pass codec parameters to muxers is deprecated, use AVStream.codecpar instead. Last message repeated 1 times Output #0, avi, to 'E:\MISDOC~1\CONVER~1\_PACON~1\MEDIAI~1\FFD8CF~1\DVDAXS~1\CONDIV~1\\VTS_01_1 720x576 paDivxMux.avi': Metadata: ISFT : Lavf57.48.100 Stream #0:0: Video: mpeg4 (libxvid) (XVID / 0x44495658), yuv420p, 720x576 [SAR 16:15 DAR 4:3], q=2-31, 1500 kb/s, 25 fps, 25 tbn, 25 tbc Metadata: encoder : Lavc57.54.100 libxvid Stream #0:1: Audio: mp3 (libmp3lame) (U[0][0][0] / 0x0055), 48000 Hz, stereo, fltp, delay 1105, padding 0, 128 kb/s Metadata: encoder : Lavc57.54.100 libmp3lame Output #1, null, to 'nul': Metadata: encoder : Lavf57.48.100 Stream #1:0: Video: wrapped_avframe, yuv420p, 720x576 [SAR 16:15 DAR 4:3], q=2-31, 200 kb/s, 25 fps, 25 tbn, 25 tbc Metadata: encoder : Lavc57.54.100 wrapped_avframe Stream #1:1: Audio: pcm_s16le, 48000 Hz, stereo, s16, 1536 kb/s Metadata: encoder : Lavc57.54.100 pcm_s16le Stream mapping: Stream #0:1 -> #0:0 (mpeg2video (native) -> mpeg4 (libxvid)) Stream #0:2 -> #0:1 (ac3 (native) -> mp3 (libmp3lame)) Stream #0:1 -> #1:0 (mpeg2video (native) -> wrapped_avframe (native)) Stream #0:2 -> #1:1 (ac3 (native) -> pcm_s16le (native)) Press [q] to stop, [?] for help frame= 97 fps=0.0 q=4.0 q=-0.0 size= 756kB time=00:00:03.90 bitrate=1586.0kbits/s speed=7.81x frame= 193 fps=192 q=5.0 q=-0.0 size= 1648kB time=00:00:07.72 bitrate=1749.0kbits/s speed= 7.7x frame= 287 fps=191 q=5.0 q=-0.0 size= 2459kB time=00:00:11.48 bitrate=1754.8kbits/s speed=7.62x frame= 380 fps=189 q=5.0 q=-0.0 size= 3280kB time=00:00:15.20 bitrate=1768.0kbits/s speed=7.57x frame= 473 fps=188 q=5.0 q=-0.0 size= 4029kB time=00:00:18.92 bitrate=1744.7kbits/s speed=7.54x frame= 571 fps=190 q=8.0 q=-0.0 size= 4833kB time=00:00:22.88 bitrate=1730.4kbits/s speed= 7.6x frame= 689 fps=196 q=5.0 q=-0.0 size= 5651kB time=00:00:27.56 bitrate=1679.9kbits/s speed=7.85x frame= 798 fps=199 q=4.0 q=-0.0 size= 6550kB time=00:00:31.93 bitrate=1680.2kbits/s speed=7.96x frame= 914 fps=202 q=3.0 q=-0.0 size= 7425kB time=00:00:36.60 bitrate=1661.6kbits/s speed=8.11x frame= 1025 fps=204 q=4.0 q=-0.0 size= 8336kB time=00:00:41.05 bitrate=1663.4kbits/s speed=8.19x frame= 1140 fps=207 q=3.0 q=-0.0 size= 9243kB time=00:00:45.66 bitrate=1658.2kbits/s speed=8.28x frame= 1259 fps=209 q=3.0 q=-0.0 size= 10174kB time=00:00:50.36 bitrate=1654.7kbits/s speed=8.37x frame= 1377 fps=211 q=3.0 q=-0.0 size= 11087kB time=00:00:55.10 bitrate=1648.3kbits/s speed=8.45x frame= 1495 fps=213 q=3.0 q=-0.0 size= 12020kB time=00:00:59.80 bitrate=1646.4kbits/s speed=8.52x frame= 1500 fps=199 q=4.0 q=-0.0 size= 12067kB time=00:01:41.32 bitrate= 975.6kbits/s speed=13.5x frame= 1500 fps=187 q=4.0 q=-0.0 size= 12067kB time=00:02:18.40 bitrate= 714.2kbits/s speed=17.3x frame= 1500 fps=176 q=4.0 q=-0.0 size= 12067kB time=00:03:06.11 bitrate= 531.1kbits/s speed=21.8x frame= 1500 fps=166 q=4.0 q=-0.0 size= 12067kB time=00:03:59.72 bitrate= 412.4kbits/s speed=26.6x frame= 1500 fps=158 q=4.0 q=-0.0 size= 12067kB time=00:04:39.64 bitrate= 353.5kbits/s speed=29.4x frame= 1500 fps=150 q=4.0 q=-0.0 size= 12067kB time=00:05:29.72 bitrate= 299.8kbits/s speed=32.9x frame= 1500 fps=143 q=4.0 q=-0.0 size= 12067kB time=00:06:27.40 bitrate= 255.2kbits/s speed=36.8x frame= 1500 fps=136 q=4.0 q=-0.0 size= 12067kB time=00:07:07.36 bitrate= 231.3kbits/s speed=38.8x frame= 1500 fps=130 q=4.0 q=-0.0 size= 12067kB time=00:07:52.57 bitrate= 209.2kbits/s speed= 41x frame= 1500 fps=125 q=4.0 q=-0.0 size= 12067kB time=00:08:32.08 bitrate= 193.0kbits/s speed=42.6x frame= 1500 fps=120 q=4.0 q=-0.0 size= 12067kB time=00:09:26.08 bitrate= 174.6kbits/s speed=45.2x frame= 1500 fps=115 q=4.0 q=-0.0 size= 12067kB time=00:10:19.68 bitrate= 159.5kbits/s speed=47.6x frame= 1500 fps=111 q=4.0 q=-0.0 size= 12067kB time=00:11:12.84 bitrate= 146.9kbits/s speed=49.8x frame= 1500 fps=107 q=4.0 q=-0.0 size= 12067kB time=00:11:53.82 bitrate= 138.5kbits/s speed=50.9x frame= 1500 fps=103 q=4.0 q=-0.0 size= 12067kB time=00:12:38.44 bitrate= 130.3kbits/s speed=52.2x frame= 1500 fps=100 q=4.0 q=-0.0 size= 12067kB time=00:13:26.84 bitrate= 122.5kbits/s speed=53.7x frame= 1500 fps= 97 q=4.0 q=-0.0 size= 12067kB time=00:14:11.52 bitrate= 116.1kbits/s speed=54.9x frame= 1500 fps= 94 q=4.0 q=-0.0 size= 12067kB time=00:14:56.80 bitrate= 110.2kbits/s speed= 56x frame= 1500 fps= 91 q=4.0 q=-0.0 size= 12067kB time=00:15:52.60 bitrate= 103.8kbits/s speed=57.7x frame= 1500 fps= 88 q=4.0 q=-0.0 size= 12067kB time=00:16:34.64 bitrate= 99.4kbits/s speed=58.4x frame= 1500 fps= 86 q=4.0 q=-0.0 size= 12067kB time=00:17:26.52 bitrate= 94.5kbits/s speed=59.7x frame= 1500 fps= 83 q=4.0 q=-0.0 size= 12067kB time=00:18:16.04 bitrate= 90.2kbits/s speed=60.8x frame= 1500 fps= 81 q=4.0 q=-0.0 size= 12067kB time=00:19:09.21 bitrate= 86.0kbits/s speed= 62x frame= 1500 fps= 79 q=4.0 q=-0.0 size= 12067kB time=00:19:48.41 bitrate= 83.2kbits/s speed=62.5x frame= 1500 fps= 77 q=4.0 q=-0.0 size= 12067kB time=00:20:34.56 bitrate= 80.1kbits/s speed=63.2x frame= 1500 fps= 75 q=4.0 q=-0.0 size= 12067kB time=00:21:19.24 bitrate= 77.3kbits/s speed=63.9x frame= 1500 fps= 73 q=4.0 q=-0.0 size= 12067kB time=00:22:11.90 bitrate= 74.2kbits/s speed=64.9x frame= 1500 fps= 71 q=4.0 q=-0.0 size= 12067kB time=00:22:58.88 bitrate= 71.7kbits/s speed=65.6x frame= 1500 fps= 70 q=4.0 q=-0.0 size= 12067kB time=00:23:48.76 bitrate= 69.2kbits/s speed=66.4x frame= 1500 fps= 68 q=4.0 q=-0.0 size= 12067kB time=00:24:31.26 bitrate= 67.2kbits/s speed=66.8x frame= 1500 fps= 67 q=4.0 q=-0.0 size= 12067kB time=00:25:19.36 bitrate= 65.1kbits/s speed=67.4x frame= 1500 fps= 65 q=4.0 q=-0.0 size= 12067kB time=00:26:08.60 bitrate= 63.0kbits/s speed=68.1x frame= 1500 fps= 64 q=4.0 q=-0.0 size= 12067kB time=00:26:49.68 bitrate= 61.4kbits/s speed=68.4x [mpeg2video @ 04f528e0] ac-tex damaged at 33 11 [mpeg2video @ 04f528e0] Warning MVs not available [mpeg2video @ 04f528e0] concealing 1125 DC, 1125 AC, 1125 MV errors in I frame [ac3 @ 04f52d40] incomplete frame frame= 1500 fps= 63 q=4.0 Lq=-0.0 size= 12142kB time=00:27:05.88 bitrate= 61.2kbits/s speed=68.6x video:26342kB audio:305762kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
comment:9 by , 8 years ago
Please run the following two command lines and test the output files:
$ ffmpeg -i VTS_01_1\ 720x576\ DivxMux.avi -scodec copy -acodec copy -vcodec copy out1.avi $ ffmpeg -i VTS_01_1\ 720x576\ DivxMux.avi -scodec xsub -acodec copy -vcodec copy out2.avi
How do they play compared with the input file?
comment:10 by , 8 years ago
They are Ok. XSUBs keep same size and position as the input file.
I supose ffmpeg always keeps xsub original size (640x480 re-scaled by DivMux), but if vobsub has an original size of 720x576 (PAL DVD Subpictures) without re-scaling, they are too big for a xsub.
I think XSUBs where made not thinking on PAL... and only right resolutions are 640x480 or 720x480, because NTSC DVDs look Ok!
comment:11 by , 8 years ago
One more strange thing:
With same IDX/SUB (made with Txt2Vobsub or extracted from NTSC DVDs) muxed with ffmpeg or divxmux, they look different in VLC (x and y position):
But in TV, only y position is different!
And they are the same size, even ffmpeg says they are 720x576:
Stream #0:2(es): Subtitle: xsub (DXSB / 0x42535844), 720x576 (default)
I don't know which size are really IDX/SUB made with TXT2Vobsub in .sub, but in .idx it says 720x576 (it's not reliable), and may be that's why ffmpeg says that?
ffmpeg:
"ffmpeg" -palette "000000,000000,ffffff,ffffff,000000,000000,000000,000000,000000,000000,000000,000000,000000,000000,000000,000000" -i "ccextractor.idx" -i "Starship_Troopers.vob" -f avi -c:v libxvid -b:v 1500k -vtag XVID -c:a libmp3lame -b:a 128k -c:s xsub "Starship_Troopers-ccextractor-xsub-ffmpeg.avi"
output:
ffmpeg version N-81452-g01aee81 Copyright (c) 2000-2016 the FFmpeg developers built with gcc 5.4.0 (GCC) configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-dxva2 --enable-libmfx --enable-nvenc --enable-avisynth --enable-bzlib --enable-libebur128 --enable-fontconfig --enable-frei0r --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libfreetype --enable-libgme --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenh264 --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libschroedinger --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-libzimg --enable-lzma --enable-decklink --enable-zlib libavutil 55. 29.100 / 55. 29.100 libavcodec 57. 54.100 / 57. 54.100 libavformat 57. 48.100 / 57. 48.100 libavdevice 57. 0.102 / 57. 0.102 libavfilter 6. 54.100 / 6. 54.100 libswscale 4. 1.100 / 4. 1.100 libswresample 2. 1.100 / 2. 1.100 libpostproc 54. 0.100 / 54. 0.100 Input #0, vobsub, from 'ccextractor.idx': Duration: N/A, bitrate: N/A Stream #0:0[0x0](es): Subtitle: dvd_subtitle, 720x576 (default) Input #1, mpeg, from 'Starship_Troopers.vob': Duration: 00:00:51.30, start: 1986.626100, bitrate: 4618 kb/s Stream #1:0[0x1e0]: Video: mpeg2video (Main), yuv420p(tv), 720x480 [SAR 32:27 DAR 16:9], Closed Captions, 29.97 fps, 59.94 tbr, 90k tbn, 59.94 tbc Stream #1:1[0x83]: Audio: ac3, 48000 Hz, stereo, fltp, 192 kb/s Stream #1:2[0x82]: Audio: ac3, 48000 Hz, stereo, fltp, 192 kb/s Stream #1:3[0x80]: Audio: ac3, 48000 Hz, stereo, fltp, 192 kb/s Stream #1:4[0x81]: Audio: ac3, 48000 Hz, 5.1(side), fltp, 384 kb/s Stream #1:5[0x20]: Subtitle: dvd_subtitle Stream #1:6[0x22]: Subtitle: dvd_subtitle [avi @ 053171c0] Using AVStream.codec to pass codec parameters to muxers is deprecated, use AVStream.codecpar instead. Last message repeated 2 times [null @ 02faa820] Using AVStream.codec to pass codec parameters to muxers is deprecated, use AVStream.codecpar instead. Last message repeated 1 times Output #0, avi, to 'Starship_Troopers-ccextractor-xsub-ffmpeg.avi': Metadata: ISFT : Lavf57.48.100 Stream #0:0: Video: mpeg4 (libxvid) (XVID / 0x44495658), yuv420p, 720x480 [SAR 32:27 DAR 16:9], q=2-31, 1500 kb/s, 29.97 fps, 29.97 tbn, 29.97 tbc Metadata: encoder : Lavc57.54.100 libxvid Stream #0:1: Audio: mp3 (libmp3lame) (U[0][0][0] / 0x0055), 48000 Hz, stereo, fltp, delay 1105, padding 0, 128 kb/s Metadata: encoder : Lavc57.54.100 libmp3lame Stream #0:2(es): Subtitle: xsub (DXSB / 0x42535844), 720x576 (default) Metadata: encoder : Lavc57.54.100 xsub Output #1, null, to 'nul': Metadata: encoder : Lavf57.48.100 Stream #1:0: Video: wrapped_avframe, yuv420p, 720x480 [SAR 32:27 DAR 16:9], q=2-31, 200 kb/s, 29.97 fps, 29.97 tbn, 29.97 tbc Metadata: encoder : Lavc57.54.100 wrapped_avframe Stream #1:1: Audio: pcm_s16le, 48000 Hz, 5.1(side), s16, 4608 kb/s Metadata: encoder : Lavc57.54.100 pcm_s16le Stream mapping: Stream #1:0 -> #0:0 (mpeg2video (native) -> mpeg4 (libxvid)) Stream #1:4 -> #0:1 (ac3 (native) -> mp3 (libmp3lame)) Stream #0:0 -> #0:2 (dvd_subtitle (dvdsub) -> xsub (native)) Stream #1:0 -> #1:0 (mpeg2video (native) -> wrapped_avframe (native)) Stream #1:4 -> #1:1 (ac3 (native) -> pcm_s16le (native)) Press [q] to stop, [?] for help [ac3 @ 050da280] frame sync error Error while decoding stream #1:4: Invalid data found when processing input [null @ 02faa820] Application provided invalid, non monotonically increasing dts to muxer in stream 1: 1891 >= 1891 [libmp3lame @ 050dc4c0] Queue input is backward in time frame= 92 fps=0.0 q=6.0 q=-0.0 size= 667kB time=00:00:11.61 bitrate= 470.4kbits/s speed=23.2x frame= 181 fps=180 q=6.0 q=-0.0 size= 1284kB time=00:00:11.61 bitrate= 906.0kbits/s speed=11.6x frame= 268 fps=178 q=8.0 q=-0.0 size= 1982kB time=00:00:11.61 bitrate=1398.4kbits/s speed=7.71x [mpeg @ 02f8b300] New subtitle stream 1:7 at pos:8497166 and DTS:1999.51s frame= 374 fps=186 q=4.0 q=-0.0 size= 2731kB time=00:00:22.48 bitrate= 994.7kbits/s speed=11.2x frame= 475 fps=189 q=8.0 q=-0.0 size= 3512kB time=00:00:22.48 bitrate=1279.3kbits/s speed=8.97x frame= 574 fps=191 q=9.0 q=-0.0 size= 4270kB time=00:00:30.76 bitrate=1137.2kbits/s speed=10.2x frame= 677 fps=193 q=9.0 q=-0.0 size= 5012kB time=00:00:30.76 bitrate=1334.6kbits/s speed=8.75x frame= 782 fps=195 q=4.0 q=-0.0 size= 5588kB time=00:00:35.93 bitrate=1273.8kbits/s speed=8.94x frame= 891 fps=197 q=5.0 q=-0.0 size= 6297kB time=00:00:38.90 bitrate=1325.9kbits/s speed=8.61x frame= 1001 fps=199 q=4.0 q=-0.0 size= 7041kB time=00:00:44.57 bitrate=1294.0kbits/s speed=8.88x frame= 1113 fps=202 q=5.0 q=-0.0 size= 7874kB time=00:00:47.24 bitrate=1365.2kbits/s speed=8.55x frame= 1220 fps=203 q=6.0 q=-0.0 size= 8371kB time=00:00:50.91 bitrate=1346.8kbits/s speed=8.45x [mpeg2video @ 050d9160] ac-tex damaged at 3 27 [mpeg2video @ 050d9160] Warning MVs not available [mpeg2video @ 050d9160] concealing 135 DC, 135 AC, 135 MV errors in I frame [ac3 @ 050da280] incomplete frame frame= 1229 fps=202 q=6.0 Lq=-0.0 size= 8749kB time=00:00:51.31 bitrate=1396.6kbits/s speed=8.45x video:8279kB audio:29601kB subtitle:29kB other streams:0kB global headers:0kB muxing overhead: unknown
ccextractor.idx:
# VobSub index file, v7 (do not modify this line!) # # To repair desyncronization, you can insert gaps this way: # (it usually happens after vob id changes) # # delay: [sign]hh:mm:ss:ms # # Where: # [sign]: +, - (optional) # hh: hours (0 <= hh) # mm/ss: minutes/seconds (0 <= mm/ss <= 59) # ms: milliseconds (0 <= ms <= 999) # # Note: You can' t position a sub before the previous with a negative value. # # You can also modify timestamps or delete a few subs you don' t like. # Just make sure they stay in increasing order. # Settings # Original frame size size: 720x576 # Origin, relative to the upper-left corner, can be overloaded by aligment org: 0, 0 # Image scaling (hor,ver), origin is at the upper-left corner or at the alignment coord (x, y) scale: 100%, 100% # Alpha blending alpha: 100% # Smoothing for very blocky images (use OLD for no filtering) smooth: OFF # In millisecs fadein/out: 0, 0 # Force subtitle placement relative to (org.x, org.y) align: OFF at LEFT TOP # for correcting non - progressive desync.(in millisecs or hh: mm: ss: ms) # Note: not effective in DirectVobSub, use "delay: ..." instead. time offset: 0 # on: displays only forced subtitles, OFF: shows everything forced subs: OFF # The original palette of the DVD palette: 80807F, 008080, FF807F, 1D6BFF, 000000, 000000, 000000, 000000, 000000, 000000, 000000, 000000, 000000, 000000, 000000, 000000 # Custom colors(transp idxs and the four colors) custom colors: ON, tridx: 1000, colors: 0000FF, FFFFFF, 000000, 808080 # Language index in use langidx: 0 # English id: es, index: 0 # Decomment next line to activate alternative name in DirectVobSub / Windows Media Player 6.x # alt: English # Vob/Cell ID: 1, 1 (PTS: 0) timestamp: 00:00:11:611, filepos: 000000000 timestamp: 00:00:14:982, filepos: 000001800 timestamp: 00:00:22:489, filepos: 000002800 timestamp: 00:00:30:764, filepos: 000003800 timestamp: 00:00:35:936, filepos: 000004800 timestamp: 00:00:38:906, filepos: 000006000 timestamp: 00:00:41:608, filepos: 000007000 timestamp: 00:00:44:577, filepos: 000008000 timestamp: 00:00:47:247, filepos: 000009000 timestamp: 00:00:49:283, filepos: 00000a000
So, nor divxmux neither ffmpeg resize subs? But some flag tells VLC to change position and size (sometimes they are stretched!), but PS3 or standalone players doesn't use them... and then why only changes vertical position??
PD: With PAL, it must be sup2vobsub who resizes PAL VobSubs to ???x???...
by , 8 years ago
Attachment: | VTS_01_1 720x576_fixed_res.avi added |
---|
comment:13 by , 8 years ago
No, I only see upper subtitles, lower gets cutted.
I'm pretty sure subtitles get cut at 480.
comment:14 by , 8 years ago
Does your TV only allow playback of PAL and NTSC mpeg4 asp in avi or also random resolutions?
comment:15 by , 8 years ago
Well, the PS3 allows AVIs with higher resolutions, I've tried with 1440x1080 and XSUBs, and the subs were very small... And any other resolutions (720x540, 700x400, 720x400, 640x... etc..)
I also tried with 2 LG DVD Players, and 3 different televisions (CRT, LCD, and 4K LG Smart TV) so, the problem it's not the TV nor the Standalone Players. It's something about XSUBs resolution specification.
Did you tested it in your TV? Mine are all PAL. Anyone can try if it happens also in NTSC Players?
I can make PS3 captures if you want.
Do you know how to extract bitmaps from .sub? Subrip doesn't seem to work very well with idx/sub, and I can't keep them full size (always cropped).
Also, I could author a NTSC DVD and a PAL DVD, and put 720x480 and 720x576 subpictures, for testing size or offset changes...
comment:17 by , 8 years ago
I wanted to ask you to test what happens if you put xsub subtitles into videos with both higher resolutions like 1440x1080 and much lower resolutions than pal or ntsc but I don't have command lines to test right now.
comment:18 by , 8 years ago
Ok, with lower video resolutions (like 320x480 and 640x480) they are also cutted, and look exaclty the same size as with 720x576.
Wiht higher resolutions (like 1440x1080 and 1920x1080) they are full but smaller, because they are scaled down and top-center aligned (if I made them with DivMux they also scaled down, but appear in an upper position because of their 480 height)
I can make some captures if you want.
Txt2VobSub makes 720x576 and 720x480 IDX/SUB (acoording to "size" in .idx file), but I found out that they really are 720x576 always and they just get cutted when .idx says "size: 720x480" (because the lower parts of the bitmaps are empty and it's ok to cut at 480). I mean, they must know that the max height for XSUB is 480 and they don't put subtitles lower tan that.
I'll try what happens with DivXMux and full height 720x576 VobSub extracted with Mencoder, because when I extract them with PGCDemux and convert to idx/sub with sup2vobsub, upper subs go down and I don't know if DivXMux scales down to 640x480 or just aling bottom (but then the upper subs should be cutted!?)
comment:19 by , 8 years ago
I've tested, and it seems that DivXMux does this:
1-Crop every bitmap (like SubRip).
2-Pad them to 640x480 (bottom center aligned).
VLC captures with a yellow drawbox to see subtitles full size:
DVD Subtitles extracted to IDX/SUB are 720x576:
IDX/SUB Subtitles converted to XSUB with DivXMux are 640x480:
You can see original upper subs go down with DivXMux because of the cropping an padding (but text is same size). They look not well bottom-centered in VLC, but ok in TV.
I don't know if ffmpeg can do this automatic cropping and padding to 640x480, but at least it could scale them down to 720x480 or 640x480 (or just "-1:480" to keep AR and because in TV they seem always top-centered, so no matter the width?).
Currently, FFmpeg has almost nothing to manipulate the contents of subtitles (either bitmap or text, for that matter). If your source had a certain resolution, then most likely the output file will have subtitles with the same resolution, and there are no options to change that.