Ticket #1722 (closed defect: fixed)
PGS subtitles vanish/disappear immediately in m2ts
| Reported by: | skank | Owned by: | |
|---|---|---|---|
| Priority: | normal | Component: | avformat |
| Version: | git-master | Keywords: | pgssub |
| Cc: | Blocked By: | ||
| Blocking: | Reproduced by developer: | yes | |
| Analyzed by developer: | no |
Description
PGS subtitles vanish/disappear immediately after shown.. in m2ts files..
This is quite an urgent problems as none of the blurays with it, play subtitles well..
Its only an ffmpeg issue cause the same thing plays well on powerdvd, Total media theater, MPC-HC ,...
To test, you should use xbmcplayer or VLC player (as both are using ffmpeg) not something else
Sample file:
http://dl.dropbox.com/u/103661855/Sample%20of%20Subtitle%20Issue-.m2ts
Attachments
Change History
comment:1 Changed 8 months ago by Cigaes
- Priority changed from important to normal
- Status changed from new to open
- Version changed from unspecified to git-master
- Component changed from FFmpeg to avformat
- Reproduced by developer set
comment:2 Changed 8 months ago by skank
Yup
I just tried it with latest version of FFplay and same issue..
So for now:
Problems with xbmcplayer, vlcplayer, FFplay
No problems with: powerdvd, total media theater, mpc-hc (and standalone players like PCH or dune..)
Its indeed timing problems i think, it shows up the subs but immediately disappear
Since FFplay has it too, i really think its a ffmpeg issue...
comment:3 Changed 8 months ago by DoomBot
Same problem here the subtitles just flash on screen very fast and then their gone.
comment:4 Changed 8 months ago by cehoyos
- Keywords pgssub added; pgs subtitle disappear removed
Complete, uncut console output missing.
Analysis of the problem can be found in ticket #598:
https://ffmpeg.org/trac/ffmpeg/ticket/598#comment:18
comment:5 follow-up: ↓ 6 Changed 8 months ago by skank
Hi cehoyos...
What do you mean analysis can be found there... thats a different bug no?
This problem is shown by third party players and even ffplay(only not with mplayer)
Will there come a fix for this problem in the future?
Thank you for your time !
comment:6 in reply to: ↑ 5 Changed 8 months ago by cehoyos
Replying to skank:
What do you mean analysis can be found there... thats a different bug no?
It may be a different bug (I don't know) but since it manifests in exactly the same way - pgs subtitles only showing for one frame - I assume it is the same bug so I also assume the analysis (that may or may not be correct) applies.
Please add complete, uncut console output to make this a valid ticket.
comment:7 Changed 8 months ago by DoomBot
What command is needed for Complete, uncut console output,
and how do you do it?
comment:8 Changed 8 months ago by cehoyos
Run "ffplay Sample\ of\ Subtitle\ Issue-.m2ts", quit (using "q") after the first subtitle was shown (shortly) and post whatever was printed on the console together with the command line.
comment:9 Changed 8 months ago by skank
ffplay version N-44264-g070b0e1 Copyright (c) 2003-2012 the FFmpeg developers
built on Sep 7 2012 17:35:17 with gcc 4.7.1 (GCC)
configuration: --enable-gpl --enable-version3 --disable-pthreads --enable-runtime-cpudetect --enable-avisynth --enable-bzlib --enable-frei0r --enable-libass --enable-libcelt --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libfreetype --enable-libgsm --enable-libmp3lame --enable-libnut --enable-libopenjpeg --enable-librtmp --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libutvideo --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxavs --enable-libxvid --enable-zlib
libavutil 51. 72.100 / 51. 72.100
libavcodec 54. 55.100 / 54. 55.100
libavformat 54. 25.105 / 54. 25.105
libavdevice 54. 2.100 / 54. 2.100
libavfilter 3. 16.100 / 3. 16.100
libswscale 2. 1.101 / 2. 1.101
libswresample 0. 15.100 / 0. 15.100
libpostproc 52. 0.100 / 52. 0.100
Input #0, mpegts, from 'C:\Users\Gebruiker\Downloads\Sample of Subtitle Issue-.m2ts':
Duration: 00:00:18.09, start: 610.186000, bitrate: 23282 kb/s
Program 1
Stream #0:0[0x1011]: Video: h264 (High) ([27][0][0][0] / 0x001B), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], 23.98 fps, 23.98 tbr, 90k tbn, 47.95 tbc
Stream #0:1[0x1100]: Audio: dts (DTS-HD MA) ([134][0][0][0] / 0x0086), 48000 Hz, 5.1(side), s16, 1536 kb/s
Stream #0:2[0x1200]: Subtitle: hdmv_pgs_subtitle ([144][0][0][0] / 0x0090)
SDL_OpenAudio (6 channels): DirectSound CreateSoundBuffer: Invalid parameter
SDL_OpenAudio (4 channels): DirectSound CreateSoundBuffer: Invalid parameter
[h264 @ 046c0560] reference picture missing during reorder
[h264 @ 046c0560] Missing reference picture
[h264 @ 046c0560] reference picture missing during reorder
[h264 @ 046c0560] Missing reference picture
[h264 @ 046c0560] reference picture missing during reorder
[h264 @ 046c0560] Missing reference picture
[h264 @ 046c0560] reference picture missing during reorder449B f=0/0
[h264 @ 046c0560] Missing reference picture
610.34 A-V:-1347371930.665 fd= 0 aq=
Frame changed from size:0x0 to size:1920x1080
615.01 A-V: -0.008 fd= 40 aq= 2818KB vq=12541KB sq= 0B f=0/0 f=0/0
comment:10 Changed 8 months ago by skank
Is that ok?
comment:11 follow-up: ↓ 18 Changed 8 months ago by Cigaes
Can you try this patch series:
http://ffmpeg.org/pipermail/ffmpeg-devel/2012-September/130738.html
and see if it fixes things for you in the following situations:
- playback with ffplay;
- transcoding to a different sub codec (dvdsub; -fix_sub_duration is required, and -s:s 1920x1080 also if the subtitles arrive too late);
- hardcoding the subtitles on the video.
comment:12 Changed 8 months ago by skank
This is getting harder by the minute ;)
How do i download and apply this patch?
Then i can test playback with ffplay, that i can do
The other 2 points.. Are like chinees to me..
Not that im not willing to test this cause its really an annoying bug, but my knowdlegde stops herr.. Isnt it possible you or the devs test this or smth..
Thx for your time. I hope this will get fixed... In future release
comment:13 Changed 8 months ago by DoomBot
How do you even go about using a patch?
I would love to see if this patch even works.
comment:14 Changed 8 months ago by Cigaes
You need to build from source. Then you need to download the mails with the patches into a file or several. Once you have that, you use the git am command to apply them, and build the resulting sources.
The problem is getting the mails in a form that is not mangled by a mail archive system. I suggest you use a newsreader to connect to Gmane.
comment:15 follow-up: ↓ 16 Changed 8 months ago by skank
Im sorry but this is way out of my reach..
So WE actually have to fix a problem with YOUR product?
I thought this was a bug report site..
We did report it.. And although we would really want to fix it , this is way out of knowdledge...
comment:16 in reply to: ↑ 15 Changed 8 months ago by Cigaes
Replying to skank:
Im sorry but this is way out of my reach..
I am sorry to hear that.
So WE actually have to fix a problem with YOUR product?
FFmpeg is Free software, anyone can fix a bug and submit the fix for inclusion. And if you need something to be fixed, you must remember that the amount of support you are entitled to is directly related to how much you paid for the "product", i.e. nothing.
But no one is asking you to fix a bug. I was asking if a proposed fix actually solves your issues.
comment:17 Changed 8 months ago by skank
I understand ;) its not that i want to be rude its just that i want to get a fix for it (causr its been present for 2 years now...) and nobody seems to care (although i think its something important) or willing to test the patch if it fixes..
I will look further to see if someone is able to test the patch to see if it fixes the problem... Thank you...
comment:18 in reply to: ↑ 11 Changed 8 months ago by cehoyos
Replying to Cigaes:
Can you try this patch series:
http://ffmpeg.org/pipermail/ffmpeg-devel/2012-September/130738.html
and see if it fixes things for you in the following situations:
- playback with ffplay;
- transcoding to a different sub codec (dvdsub; -fix_sub_duration is required, and -s:s 1920x1080 also if the subtitles arrive too late);
- hardcoding the subtitles on the video.
All three situations are fixed with your patchset (attached), both for the sample here in this ticket, and the sample from ticket #598 (that needs the CRC-check in pat_cb() disabled)!
comment:19 Changed 8 months ago by skank
Cehoyos, so with the patch, the subs dont disappear anymore? That would rock!
Will the patch be built in next release of mmpeg then?
comment:20 Changed 8 months ago by DoomBot
Awesome news! thank you cehoyos and Cigaes for this excellent patch.
Now we need a new ffmpeg released with this new patch.
comment:21 Changed 8 months ago by skank
Cehoyos,
This patch works for ffplay but we need it to be able to be used in xbmc.. Therefore we need that patchEd right into libffmpeg itself.. Could you do that for us please? Thanks again..
comment:22 Changed 8 months ago by Cigaes
I just applied the patches to the official git repository. They will probably be part of the 0.12 release.
As for fixing xbmc, I am afraid that is not possible here. The problem was that the ffmpeg libraries were not providing the correct time at the logical place, therefore, applications based on ffmpeg would seek the value elsewhere, incorrectly. The ffmpeg libraries now provide the correct time at the logical place, but applications will probably still be using the incorrect one.
You will need to file bug reports to the applications you want fixed. You can point the following patch as an example:
http://git.videolan.org/?p=ffmpeg.git;a=blobdiff;f=ffplay.c;h=1c9a1414ca8928047865999e475abc48246eae8c;hp=42f03b860b5c6ce8e281bf3a59dd33641fefbe1d;hb=2939e258f9d1fff89b3b68536beb931b54611585;hpb=6d8b32633e843962d84fc63875bda909d9a36f46
comment:23 follow-up: ↓ 24 Changed 8 months ago by reimar
However I don't really understand why MPlayer happened to work without those changes, it too just uses the packet PTS values directly...
comment:24 in reply to: ↑ 23 Changed 8 months ago by cehoyos
- Status changed from open to closed
- Resolution set to fixed
Replying to reimar:
However I don't really understand why MPlayer happened to work without those changes, it too just uses the packet PTS values directly...
I can confirm that it still worked for today's svn head with several different samples both before and after your commit.
comment:25 Changed 8 months ago by reimar
I know it works in MPlayer before and after, I am just annoyed that I can't figure out what the difference between MPlayer and ffplay is that made ffplay not work before...
Particularly since it means I don't have a test-case for implementing support for using sub->pts in MPlayer.
comment:26 Changed 8 months ago by DoomBot
Wow i can't believe how fast this all got resolved!
Thanks again Cigaes excellent work can't wait for 0.12 release.




I am not sure I understand you correctly. You mean that:
is that it?
On the other hand, MPlayer, which is also ffmpeg-based, displays the subtitles correctly.
There are known problems with the PGS decoder, especially with timing.