GNOME Bugzilla – Bug 674790
flv seeking issues with indexless files and http
Last modified: 2018-05-04 12:28:25 UTC
(note/disclaimer : I am putting the example with youtube for simplicity of testing, but applies to any index-less flv file served over a http server that allows range requests). How to test : Use totem with quvi support and point it to a youtube link (https://www.youtube.com/watch?v=dTUjcEDb6PQ) or use quvi command line tool to get the http address. Try to : seek beyond buffered region Problem : Can't figure out where to seek to in bytes. gst_flv_demux_handle_seek_pull:<flvdemux0> delaying seek to post-scan; index only up to 0:00:02.600000000 Due to the file not having an index, flvdemux needs to 'scan' the file to get to the requested position, and does so in an incremental fashion. While this works fine for local files ... it means one cannot seek beyond the buffered position for files stored remotely. The problem is that, due to not having an index, we'd need to be able to 're-sync' on tag headers (what is present at the beginning of video/audio buffers). Maybe some system by which we scan for 3 consecutive tags that validate each other through tag_sizes and tag types.
Someone knowledgeable about flv file format will need to tackle this. Moving to enhancement
The FLV file format specs are in Annex E of http://download.macromedia.com/f4v/video_file_format_spec_v10_1.pdf
Closing. Too niche and can be fixed by just remuxing.