[FFmpeg-trac] #4344(undetermined:new): XSUBs are too low in PAL video, on PS3
FFmpeg
trac at avcodec.org
Fri Sep 16 04:20:35 EEST 2016
#4344: XSUBs are too low in PAL video, on PS3
-------------------------------------+-------------------------------------
Reporter: edumj | Owner:
Type: defect | Status: new
Priority: normal | Component:
Version: unspecified | undetermined
Keywords: xsub | Resolution:
Blocking: | Blocked By:
Analyzed by developer: 0 | Reproduced by developer: 0
-------------------------------------+-------------------------------------
Comment (by edumj):
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.
--
Ticket URL: <https://trac.ffmpeg.org/ticket/4344#comment:6>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker
More information about the FFmpeg-trac
mailing list