Opened 17 months ago
Last modified 17 months ago
#11534 new defect
Copying "dvd_subtitle" from MP4 to MP4 altered display size
| Reported by: | y2krankor | Owned by: | |
|---|---|---|---|
| Priority: | normal | Component: | avcodec |
| Version: | git-master | Keywords: | dvdsub |
| Cc: | MasterQuestionable | Blocked By: | |
| Blocking: | Reproduced by developer: | no | |
| Analyzed by developer: | yes |
Description
Summary of the bug:
When copying from an mp4 to another mp4 using -c copy, dvd subtitles are having their size reset to 720x480, regardless of the original size (I've tested this against subtitles that were 720x576 and 1920x1080). [This does not happen if the source file is an mkv.]
The input file shows this:
Stream #0:3[0x4](eng): Subtitle: dvd_subtitle (dvdsub) (mp4s / 0x7334706D), 720x576, 4 kb/s (default)
but the output is:
Stream #0:1(eng): Subtitle: dvd_subtitle (mp4s / 0x7334706D), 720x480, 4 kb/s (default)
Using -canvas_size doesn't make any difference. (I didn't necessarily expect that it would, but I tried it anyway.)
How to reproduce:
ffmpeg -i "tv_episode.mp4" -c copy -map 0:v -map 0:s:0 "tv_episode (first sub).mp4"
ffmpeg version N-118915-g8b2372cac7 Copyright (c) 2000-2025 the FFmpeg developers
built with gcc 14 (GCC)
configuration: --enable-nonfree --enable-shared --enable-static --disable-avisynth --enable-gpl --enable-libaom --enable-libass --enable-libbluray --enable-libfdk-aac --enable-libfontconfig --enable-libfreetype --enable-libharfbuzz --enable-libfribidi --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libx264 --enable-libx265 --enable-openssl --enable-version3 --enable-libxml2 --enable-libvpx --enable-libopenh264 --extra-ldflags='-L /usr/local/lib'
libavutil 59. 60.100 / 59. 60.100
libavcodec 61. 33.102 / 61. 33.102
libavformat 61. 9.107 / 61. 9.107
libavdevice 61. 4.100 / 61. 4.100
libavfilter 10. 9.100 / 10. 9.100
libswscale 8. 13.103 / 8. 13.103
libswresample 5. 4.100 / 5. 4.100
libpostproc 58. 4.100 / 58. 4.100
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x1f5729c0] Referenced QT chapter track not found
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'tv_episode.mp4':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2avc1mp41
encoder : Lavf61.9.106
Duration: 00:46:51.68, start: 0.000000, bitrate: 1097 kb/s
Chapters:
Chapter #0:0: start 0.000000, end 22.160000
Metadata:
title :
Chapter #0:1: start 22.160000, end 850.960000
Metadata:
title :
Chapter #0:2: start 850.960000, end 1666.560000
Metadata:
title :
Chapter #0:3: start 1666.560000, end 2318.160000
Metadata:
title :
Chapter #0:4: start 2318.160000, end 2811.680000
Metadata:
title :
Stream #0:0[0x1](und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(progressive), 720x576 [SAR 16:15 DAR 4:3], 825 kb/s, 50 fps, 50 tbr, 12800 tbn (default)
Metadata:
handler_name : VideoHandler
vendor_id : [0][0][0][0]
encoder : Lavc61.31.101 libx264
Stream #0:1[0x2](eng): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, 5.1, fltp, 128 kb/s (default)
Metadata:
handler_name : SoundHandler
vendor_id : [0][0][0][0]
Stream #0:2[0x3](fre): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 128 kb/s
Metadata:
handler_name : SoundHandler
vendor_id : [0][0][0][0]
Stream #0:3[0x4](eng): Subtitle: dvd_subtitle (dvdsub) (mp4s / 0x7334706D), 720x576, 4 kb/s (default)
Metadata:
handler_name : SubtitleHandler
Stream mapping:
Stream #0:0 -> #0:0 (copy)
Stream #0:3 -> #0:1 (copy)
Output #0, mp4, to 'tv_episode (first sub).mp4':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2avc1mp41
encoder : Lavf61.9.107
Chapters:
Chapter #0:0: start 0.000000, end 22.160000
Metadata:
title :
Chapter #0:1: start 22.160000, end 850.960000
Metadata:
title :
Chapter #0:2: start 850.960000, end 1666.560000
Metadata:
title :
Chapter #0:3: start 1666.560000, end 2318.160000
Metadata:
title :
Chapter #0:4: start 2318.160000, end 2811.680000
Metadata:
title :
Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(progressive), 720x576 [SAR 16:15 DAR 4:3], q=2-31, 825 kb/s, 50 fps, 50 tbr, 12800 tbn (default)
Metadata:
handler_name : VideoHandler
vendor_id : [0][0][0][0]
encoder : Lavc61.31.101 libx264
Stream #0:1(eng): Subtitle: dvd_subtitle (mp4s / 0x7334706D), 720x480, 4 kb/s (default)
Metadata:
handler_name : SubtitleHandler
Press [q] to stop, [?] for help
[out#0/mp4 @ 0x1fbabfc0] video:283283KiB audio:0KiB subtitle:1502KiB other streams:0KiB global headers:0KiB muxing overhead: 0.581792%
frame=140584 fps=9205 q=-1.0 Lsize= 286442KiB time=00:46:09.43 bitrate= 847.3kbits/s speed= 181x
Change History (2)
comment:1 by , 17 months ago
| Analyzed by developer: | set |
|---|---|
| Cc: | added |
| Component: | undetermined → avcodec |
| Keywords: | dvdsub added; dvb_subtitle removed |
| Summary: | Copying dvd subtitles from mp4 to mp4 alters size → Copying "dvd_subtitle" from MP4 to MP4 altered display size |
| Version: | unspecified → git-master |
comment:2 by , 17 months ago
It looks like this wasn't a problem for me until some time around January 16, 2025. I've been building ffmpeg locally, and don't have previous builds. I did test ffmpeg versions 7.0.2-4.fc41 and 7.1.1-3.fc41 from rpm-fusion-updates, and am getting the same result with both of those.



͏ Is it regression?
͏ Would you test old versions?
͏ https://github.com/search?type=commits&q=repo:FFmpeg/FFmpeg+avcodec/dvdsub+committer-date:*..2025-03-24&s=committer-date&o=desc