Hello,
I want to watch files (.flv) from the net, but the problem is that if I do so there is no seek option in either MPC-HC nor WMP or my custom build video player, progress bar dont move and only what I can see is buffer % (video plays OK thought).
I use K-Lite Codec Pack 6.1 Full because it uses Gabest FLV splitter and some on7 codecs for the VP6/VP6F codec that allow me to play flv's. I know that ffdshow, based on the ffmpeg, do the job and allow me to seek but I need codec that uses DirectShow or some splitter that will actually allow me to seek.
So my question is: can I achieve seek in MPC/WMP with K-Lite? (maybe my settings are wrong) or is it impossible and only option is ffdshow?
Thanx in advance for any information.
Best regards
+ Reply to Thread
Results 1 to 9 of 9
-
-
I'd start by getting rid of KLite.
But try enabling MPCHC's internal FLV splitter and VP6 decoder. -
I tested that before posting (and after reading Your post, to be 100% sure), same story.
I tried to disable VP6/F support in ffdshow, but same thing buffer shows up and no video.
What codec combination would You suggest to play FLV's?
PS. FLV videos plays fine from the HDD, they can be seek'ed etc. Described problem only occurs when I watch in video player video directly from the web.Last edited by jenova; 12th Jul 2010 at 23:32.
-
Sorry that I wasn't clear from the beginning.
FLV's can be seeked (with currently installed codec - K-Lite 6.1) from the HDD (and other streaming formats also). But when I open movie that's on the web server seek don't work, only buffer % show up.
Random example from google:
http://www.mifos.org/product/demo-the-software/test_demo4.flv
MPCHC/WMP6/WMP9 no seek only buffer % - also no movie length information.
Ok. Additional some more oddities:
http://www.linux-video.net/Samples/Mpeg1/TheMatrixReloaded.mpg
File load in MPCHC, I can seek but buffer don't "jump" to actual position. So I need to wait "long time" until buffer reaches my seek place.
I.e. I run movie, buffer is lets say 2%, then I seek to 80% of the movie, buffer is 3,4,5,6,7...%, don't jump to the seek place. This actually is not the problem, I can live with that behaviour.
Another example:
http://www.puppylinux.com/test/media-test-video/TSS_Lindows.rm
I can seek and buffer "catch up" to the location that was seek'ed to. Everything is OK here.
Yet another example:
http://chipdalf.gotdns.org/downloads/Fun-stuff/mpg/Non%20scippate%20la%20nonnetta2.wmv
MPCHC works fine. WMP no seek.
I care mostly about FLV's, because seek should work on streaming media and is not working for me.
It seams to me that splitter don't download file length information and ignore seek information, that are present in the file. Only reads file by fixed chunks of data, until entire file is downloaded.
Any idea and suggestions are more then welcome. -
FLV's have to be prepared with metadata to stream properly in order to allow seeking. They also need keyframe placement - you cannot seek to any place except keyframes
True streaming is different than HTTP progressive download. The site has to support RTSP protocol which is more expensive . Most sites use progressive download, so you cannot seek (the file has to be downloaded first - once it's downloaded it's essentially on your HDD, that's why you can seek when they are on your HDD). There is an intermediate solution called psuedostreaming - this is in between and what vimeo and youtube use. -
Thank You for reply, but I know that already. Also it is posible to seek with broken index. YT and Vimeo uses AS3 - Flash function seek() that sends "HTTP Get" request (from Your browser) with timestemp and server receive, seek to timestemp location (AS seek()) and sends back data from the server HDD to You, from seek location, no magic or intermediate solution there (seek starts from the key frame as You wrote). Difference between RTSP/MMS and HTTP are that aside from the GET/PUT/POST and bunch of other types of request they (MMS/RTSP) have PAUSE/STOP/PLAY for media stream. NO magic here, just different data handling and functionality.
I want to ask, why on my Linux box (Ubuntu/Debian) I can SEEK ANY FLV File from the web (HTTP, no MMS/RTSP) (witch ffmpeg and bunch of "ugly" codecs), and on my Windows can't (witch K-Lite and DirectShow codec's. If I remember correctly with ffdshow codec I could seek in past, but due to personal reason I'm looking for something that uses DXShow or some wrapper to do the container parsing)?
In addition VLC, that uses libvlc can seek FLV (libvlc is based on the ffmpeg and they did they own VP6 implementation)
FlashPlayer uses ON2 proprietary codec so ... no problem there.
What I'm looking for is not ffdshow filter but actual decoder or maybe wrapper that can handle VP6/VP6F compression.
And currently I don't know if there is an error in K-Lite Gabest parser that don't read index information or maybe somewhere else that's why I ask. -
The flv example you gave is an http download , are you saying you can seek in linux embedded in a browser before it's downloaded?
Most flv's on the web are played through flash , how are you using your own player while streaming (not downloaded locally)? Flash doesn't use directshow, ffmpeg or ffdshow . -
Yes, and I don't use embedded players like Flash PLayer, but external players. How do You think it works? in sites like YT? As said before, player can request, through HTTP request, data from the server, but data DON'T need to be IN "particular" order. So I can request, in my first HTTP request, data from position 0, then I receive data from 0 to EOF (End Of File), but in time between EOF I can request another data and "close current connection" (it's not necessary, simply change GET Request Header). So when I have 1 min of the video data buffered I can, let's say, request data from the 2min to EOF (skipping 1min of the video data). So how Player knows what part of the data request? Simple calculation BITRate*TIME(ms) = new video data beginning at the TIME position. This situation can be applied to any data (But who wants 50% of the Image?). When You do request, i.e. 2min -> EOF, data is stored in local buffer and player seek to first keyframe and plays from that position until EOF (actually depending on the coding algorithm data is played when frame is ready). This will works only on the so called Streaming media that have embedded frame index between actual frame data, FLV-WMV-MPEG etc...
The reason why most FLV Videos are played through Flash (are "embedded") is that Flash is MULTI-PLATFORM, it works on WIN/*NIX/Mac/Embedded devices. If You are owner of YT You would want to gave ALL Computer users ability to play FLV's.
Also FLV has proprietary codec, VP5-VP6-VP6f-VP7-VP8 ... developed by ON2. And the reason why ppl use embedded player is SO THERE IS NO QUESTION LIKE THE ONE THAT I ASK HERE RIGHT NOW(actually it's due $ and close source of the codec).
On my linux of course not all videos are seek-able the way I want them to be. Some seek between received data, i.e. 0-1min, others seek like FlashPlayer. That's depends on the player and the codec used. But the bottom line here is that they can be seek'ed.
Little example from my application in linux:
true true 150828 <- I seek'ed from here
true true 228593 <- to here
true true 229093
this is ms from the file beginning. Seek took me about 500ms(actually the time needed to receive proper amount of the data that contains actually encoded frame), and I seek'ed like 70sec or so. So there is no way the data is in the buffer.
Of course I could use libvlv to my need's but I don't want to go with GPL license, so I'm looking for already existing codec on the Win that will allow me to do what I want.
PS. On Win, Use VLC go to: Media->Open Network Stream -> past flv URL, posted before ->push Play button.
Although it doesn't work like Flash Player (VLC actually download data, and wait at seek time, so depending on the connection speed it can take variable amount of the time) but the functionality is similar to the one that I need.Last edited by jenova; 13th Jul 2010 at 21:05.
Similar Threads
-
CUDA seek time
By coolxal in forum Software PlayingReplies: 2Last Post: 9th Sep 2011, 22:03 -
Problem with WMV replay, erratic fast seek, what's the cause?
By J-E-T-S in forum Newbie / General discussionsReplies: 3Last Post: 13th Dec 2008, 11:51 -
[mencoder] to flv seek problem
By Jeje in forum Newbie / General discussionsReplies: 3Last Post: 21st Jul 2008, 01:38 -
Seek Failed
By zeke1312 in forum Video ConversionReplies: 1Last Post: 20th Mar 2008, 06:59 -
Installed ffdshow, computer STILL can't find FLV1
By timmus in forum Video ConversionReplies: 3Last Post: 7th May 2007, 01:21