Reviving this old thread with new information.

I use a 60 second MP4 clip for testing, no audio stream in the file. OSG
3.2 branch is used with the FFMPEG plug-in. The FFMPEG version is 2.5.4
stable (I tried GPL and LGPL builds). This is on Windows 7.

After about 49 seconds, the value returned by imagestream->getCurrentTime()
wraps around to 0... instead of returning the expected 49...60 seconds.
This can be verified visually with the osgmultiplemovies player using the
-e FFMPEG command line option and passing an MP4 file containing no audio
stream. It will show the bad timestamps just before the end of the MP4 file
is reached.

imagestream->getCurrentTime() internally calls getAudioTime() on the
FFmpegClocks object. Here are the member variable printouts before and
after the unexpected wraparound

m_audio_buffer_end_pts (0.000000) + m_audio_timer.time_s() (46.598209) -
m_pause
_time (0.009297) - m_audio_delay (0.000000) - m_seek_time (-2.752658)
FFmpegClocks::getAudioTime() returns 49.341741

m_audio_buffer_end_pts (0.000000) + m_audio_timer.time_s() (0.041314) -
m_pause_
time (0.000000) - m_audio_delay (0.000000) - m_seek_time (0.000000)
FFmpegClocks::getAudioTime() returns 0.041579

What I find interesting is that m_seek_time is reset, as well as
m_audio_timer.time_s().
This might be triggered due to a wraparound of the decoder which already
rewinds and starts decoding the start of the file again, in my case 11
seconds before playout of the entire file is finished.

Christian


2014-12-09 15:03 GMT+01:00 Christian Buchner <[email protected]>:

> Thanks for weighing in,
>
> I guess I will have to try various combinations of operating system and
> FFMPEG releases to get to the bottom of this.
>
> As a last resort I could imagine myself editing the ffmpeg plug-in source
> code. I would also try to add variable speed playback (without audio, as
> this would require audio resampling)
>
> Christian
>
>
> 2014-12-09 14:52 GMT+01:00 Robert Osfield <[email protected]>:
>
>> Hi Christian,
>>
>> I have just tried your video with osgmultiplemovies with svn/trunk but it
>> comes out black.  I run the same movie in osgmovie it comes out fine
>> though.  No stats though so doesn't reveal any particular problem.
>>
>> I'm not the author of the ffmpeg plugin so I can't provide any particular
>> insights off the top of my head.
>>
>> Robert.
>>
>> On 9 December 2014 at 13:31, Christian Buchner <
>> [email protected]> wrote:
>>
>>> Hi,
>>>
>>> the OSG 3.2 seems to have a problem with reported timestamps while
>>> replaying movies. I haven't tested never OSG development versions yet. The
>>> issue occurs close to the end of an MP4 file.
>>>
>>> The timestamp wraps around back to 0 before the end of the file is
>>> played out. There are also side effects, like the playout stopping
>>> temporarily until the wrapped around timestamps has caught up.
>>>
>>> I suspect this is due to ffpmeg having pre-buffered all data to the end
>>> of the file, and wrapping back around to 0 to re-buffer from the start of
>>> the file. But at that point the playout of the file hasn't finished yet,
>>> but the plug-in already reports timestamps of 0.
>>>
>>> I have a short 40 frame file (all I-frames) of 1.333 seconds duration
>>> that demonstrates the effect.
>>>
>>>
>>> https://www.dropbox.com/s/dzolh5kf2xk8zpa/overlay_iot_applications.mp4?dl=0
>>>
>>> osgmultiplemovies -e FFMPEG overlay_iot_applications.mp4
>>>
>>> would demonstrate the problem. Instead of playing out and looping
>>> smoothly, it interrupts playback at half the duration, only to resume later
>>> when the wrapped-around timestamp has caught up. This is bizarre.
>>>
>>> The ffmpeg version I've been testing with is the GPL'ed version
>>> ffmpeg-20140924-git-3bc0361-win64-shared
>>>
>>> Christian
>>>
>>>
>>> _______________________________________________
>>> osg-users mailing list
>>> [email protected]
>>> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
>>>
>>>
>>
>> _______________________________________________
>> osg-users mailing list
>> [email protected]
>> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
>>
>>
>
_______________________________________________
osg-users mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to