I'm trying to reencode a video containing h264/ac3/pgssub to mpeg2video/ac3/dvdsub. During the reencode, I scale the video from 1920x1080 to 1280x720.

The video scales just fine, but the subtitles (0:2) don't scale at all going from pgssub to dvdsub.

In addition, the subtitles don't disappear, each subtitle is displayed over the last subtitle without removing the previous one.

How do I scale the subtitle stream to match the video stream?

And how do I make sure the subtitles are wiped when they should be?


$ ffmpeg -probesize 10M -i sample.m2ts -map 0:0 -map 0:1 -map 0:2 -codec:v 
mpeg2video -b:v 16384k -bufsize 4096k -maxrate 30000k -vf scale=-1:720 -codec:a 
copy -codec:s dvdsub -f vob sample.mpg
ffmpeg version N-78949-g6f5048f Copyright (c) 2000-2016 the FFmpeg developers
  built with gcc 4.9.2 (GCC) 20150212 (Red Hat 4.9.2-6)
  configuration: --enable-gpl --enable-version3 --enable-nonfree 
--disable-static --enable-shared --disable-debug --enable-libass 
--enable-libfdk-aac --enable-libfreetype --enable-libmp3lame --enable-libopus 
--enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 
--enable-libx265 --enable-x11grab --disable-ffplay --disable-ffserver
  libavutil      55. 19.100 / 55. 19.100
  libavcodec     57. 27.101 / 57. 27.101
  libavformat    57. 28.100 / 57. 28.100
  libavdevice    57.  0.101 / 57.  0.101
  libavfilter     6. 39.100 /  6. 39.100
  libswscale      4.  0.100 /  4.  0.100
  libswresample   2.  0.101 /  2.  0.101
  libpostproc    54.  0.100 / 54.  0.100
Input #0, mpegts, from 'sample.m2ts':
  Duration: 00:00:45.28, start: 11.650667, bitrate: 19543 kb/s
  Program 1
    Stream #0:0[0x1011]: Video: h264 (High) (HDMV / 0x564D4448), yuv420p, 
1920x1080 [SAR 1:1 DAR 16:9], 23.98 fps, 23.98 tbr, 90k tbn, 47.95 tbc
    Stream #0:1[0x1100]: Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, stereo, 
fltp, 320 kb/s
    Stream #0:2[0x1200]: Subtitle: hdmv_pgs_subtitle ([144][0][0][0] / 0x0090), 
1920x1080
    Stream #0:3[0x1201]: Subtitle: hdmv_pgs_subtitle ([144][0][0][0] / 0x0090), 
1920x1080
    Stream #0:4[0x1202]: Subtitle: hdmv_pgs_subtitle ([144][0][0][0] / 0x0090), 
1920x1080
    Stream #0:5[0x1203]: Subtitle: hdmv_pgs_subtitle ([144][0][0][0] / 0x0090), 
1920x1080
    Stream #0:6[0x1204]: Subtitle: hdmv_pgs_subtitle ([144][0][0][0] / 0x0090), 
1920x1080
Output #0, vob, to 'sample.mpg':
  Metadata:
    encoder         : Lavf57.28.100
    Stream #0:0: Video: mpeg2video (Main), yuv420p, 1280x720 [SAR 1:1 DAR 
16:9], q=2-31, 16384 kb/s, 23.98 fps, 90k tbn, 23.98 tbc
    Metadata:
      encoder         : Lavc57.27.101 mpeg2video
    Side data:
      cpb: bitrate max/min/avg: 30000000/0/16384000 buffer size: 4096000 
vbv_delay: -1
    Stream #0:1: Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, stereo, 320 kb/s
    Stream #0:2: Subtitle: dvd_subtitle (dvdsub), 1920x1080
    Metadata:
      encoder         : Lavc57.27.101 dvdsub
Stream mapping:
  Stream #0:0 -> #0:0 (h264 (native) -> mpeg2video (native))
  Stream #0:1 -> #0:1 (copy)
  Stream #0:2 -> #0:2 (hdmv_pgs_subtitle (pgssub) -> dvd_subtitle (dvdsub))
Press [q] to stop, [?] for help
[vob @ 0x25ee700] buffer underflow st=2 bufi=16179 
size=17232trate=14724.7kbits/s speed=2.63x
    Last message repeated 25 times
[vob @ 0x25ee700] packet too large, ignoring buffer limits to mux it
[vob @ 0x25ee700] buffer underflow st=2 bufi=16179 size=17232
frame= 1085 fps= 68 q=2.0 Lsize=   74094kB time=00:00:45.28 
bitrate=13405.0kbits/s speed=2.84x
video:71276kB audio:1788kB subtitle:127kB other streams:0kB global headers:0kB 
muxing overhead: 1.232867%
_______________________________________________
ffmpeg-user mailing list
[email protected]
http://ffmpeg.org/mailman/listinfo/ffmpeg-user

Reply via email to