You will recieve your password to this address. Address is not made public.

Your preferred username that is used when logging in.

pseudo streaming plugin available for h.264 / mp4 Created Feb 4, 2009

This thread is solved

Views: 46126     Replies: 73     Last reply 4 weeks and 4 days ago  
You must login first before you can use this feature

khaled33

Posts: 14

Registered:
Jan 14, 2009

pseudo streaming plugin available for h.264 / mp4

Posted: Feb 4, 2009

Hi,

I have been in contact with the people athttp://www.code-shop.com with regards to being able to pseudo stream h.264/mp4 videos in flowplayer and using lighttpd.

In anycase, it took them (Arjen) no time at all to whip up this demo along with a plugin:
http://h264.code-shop.com/trac/wiki/FlowPlayer

If anyone uses the plugin, please leave your feedback in this thread and if the flowplayer developers are interested in this plugin to add to their plugin page, please contact the good people at code-shop for details.

I'd like to thank Arjen at code-shop specifically for his willingness to help the community with this plugin and the speed at which he put this together considering that I first contacted him yesterday evening.

I sincerely believe that FlowPlayer is truly a remarkable player and V3 has definitely taken it to the next level and now with the possibility to pseudo stream h.264 it has just got even better.

Thank youhttp://www.flowplayer.com ANDhttp://www.code-shop.com

Joust
Dissapointed with noone to fix aac hanging bug.

Posts: 57

Registered:
Jan 23, 2009

» pseudo streaming plugin available for h.264 / mp4

Posted: Feb 4, 2009

Reply to: pseudo streaming plugin available for h.264 / mp4, from khaled
Now THAT'S what I call quick :) And I've just recoded all mp4 to flv container and went jogging.

I'll be testing and breaking it now.

btw: I wonder if it'll workaround the bug with AAC I posted onhttp://flowplayer.org/forum/8/14032.

khaled33

Posts: 14

Registered:
Jan 14, 2009

» » pseudo streaming plugin available for h.264 / mp4

Posted: Feb 4, 2009

Reply to: » pseudo streaming plugin available for h.264 / mp4, from Joust
http://space.projectvoyeur.com/video_tests/h264_test5.html

looks like the bug is still present ...

Joust
Dissapointed with noone to fix aac hanging bug.

Posts: 57

Registered:
Jan 23, 2009

Broke it! :-)

Posted: Feb 4, 2009

Reply to: pseudo streaming plugin available for h.264 / mp4, from khaled
There's a bug with keyframes and seeking. When we seek flowplayer moves the scrubber to the EXACT position where it was clicked (i.e. 15.42) but the buffering starts from nearest keyframe (i.e. 19.25). This cofuses the scrubber, breaks buffering meter and playback at very end of clip.

Explained step by step:
  • Keyframes are at positions: 10,30,60.
  • We click scrubber at position 17.92
  • Scrubber ball moves to 17.92, time is displayed as 00:17
  • Streaming plugin fetches video.mp4?start=30
  • Playback starts, buffering meter is confused, and 13 seconds before end of clip the scrubber hangs and playback stops

Pseudo-streaming FLV plugin WORKS BETTER. The following happens when using flowplayer.pseudostreaming-3.0.3.swf and MP4 inside FLV container
  • Keyframes are at positions: 10,30,60.
  • We click scrubber at position 17.92
  • Scrubber ball moves to 17.92 but streaming plugin knows that keyframe is later.
  • The scrubber jumps quickly to 00:30
  • Streaming plugin fetches video.mp4?start=30
  • .....

This is a bit jerky, but works even for very dispersed keyframes and is consistent with api (marks, events etc). I think h264 streaming plugin should implement the same logic.

arjen

Posts: 21

Registered:
Feb 4, 2009

» Broke it! :-)

Posted: Feb 4, 2009

Reply to: Broke it! :-), from Joust
Hi guys,

It actually does read the keyframe positions from the metadata and finds the closest keyframe and requests that from the server, but the scrubber is indeed off. I missed it as I have keyframes every other second. :)

If at all possible please post links to the test videos. It saves (me) a lot of time...

Regards,

-- here's the relevant snippet --

H264StreamProvider : finding cosest keyframe position, number of positions available 302, seekPosition 94.68718260836486

H264StreamProvider : finding cosest keyframe position, number of positions available 302, seekPosition 94.68718260836486

H264StreamProvider : doing server seek, urlhttp://h264.code-shop.com:8080/trailer2.mp4?start=95

org.flowplayer.controller::PlayTimeTracker : setting time to 94.68718260836486

arjen

Posts: 21

Registered:
Feb 4, 2009

Fixed it! :-)

Posted: Feb 4, 2009

Reply to: » Broke it! :-), from arjen
Hi,

There's a new version available (same file, different timestamp). I'd appreciate it if you could give it a test drive.

Regards,

Christian Ebert
Flowplayer support

Posts: 2803

Registered:
May 27, 2008

» Fixed it! :-)

Posted: Feb 5, 2009

Reply to: Fixed it! :-), from arjen
Hi Arjen,

Nice you're working on this.

Did you try it on videos with long duration? I tested it, and it takes ages to load the metadata (beach ball spinning on Mac). Also jumping in the scrubber is not reliable; sometimes the movie restarts at the beginning even though the timer says it's at eg. 58:00.

Will try to upload a test version tomorrow -- the mp4 I've up are inside flv containers for jerky, albeit quick, php pseudostreaming.

arjen

Posts: 21

Registered:
Feb 4, 2009

» » Fixed it! :-)

Posted: Feb 5, 2009

Reply to: » Fixed it! :-), from blacktrash
Hi,

I have some test videos on here:http://h264.code-shop.com:8080/testlist.html that I use for testing. There are a few videos that are about 50 minutes long and seeking only takes (a few) seconds.

There are video files of which the audio/video tracks are not properly interleaved and get out of sync more and more at the end of the video, this can cause long load times.

The followinghttp://h264.code-shop.com/trac/wiki/Encoding encoding settings work very well.

Christian Ebert
Flowplayer support

Posts: 2803

Registered:
May 27, 2008

» » » Fixed it! :-)

Posted: Feb 5, 2009

Reply to: » » Fixed it! :-), from arjen
Hi arjen,

Here's a comparison:

http://www.blacktrash.org/test/streamcomp.html

The video is always the same, encoded with ffmpeg + qt-faststart, only for php pseudostreaming (2nd example), it's wrapped in a flv container plus injected flv metadata.

Christian Ebert
Flowplayer support

Posts: 2803

Registered:
May 27, 2008

» » » » Fixed it! :-)

Posted: Feb 5, 2009

Reply to: » » » Fixed it! :-), from blacktrash
Ok, I additonally hinted the files with MP4Box and this makes "scrubbering" reliable.

But loading time for a 1 hour 50 min movie is still awfully long.

Will uplaod hinted movie to above mentioned test page tonight.

Christian Ebert
Flowplayer support

Posts: 2803

Registered:
May 27, 2008

flowplayer.h264.streaming.swf + long movie

Posted: Feb 5, 2009

Reply to: » » » » Fixed it! :-), from blacktrash
Nope; spoke too soon. Hinting doesn't help either. At least

http://www.blacktrash.org/test/streamcomp.html

does now; so you can compare.

khaled33

Posts: 14

Registered:
Jan 14, 2009

» flowplayer.h264.streaming.swf + long movie

Posted: Feb 5, 2009

Reply to: flowplayer.h264.streaming.swf + long movie, from blacktrash
so far i haven't had an issue with any videos but then again, none of my videos are that long. max time for most videos is about 20-30 mins and since the videos are user created and submitted, they aren't that huge. i will however at some point try and throw some massive videos at the system and see what happens ... maybe on my dev server rather than production (just in case).

All in all, I'm pleased with the h.264 streaming plugin and will obviously update whenever Arjen releases stuff with fixes in it. My requirements are quite basic; being able to stream files in a nice looking player :)

One thing I have noticed however is that is the source video is tiny in dimensions, say 240x130 or whatever, it plays to scale the entire player. This obviously makes the video look worse than it actually is. I was trying to figure out how youtube do their videos where the player itself is always the same size but the video in it is dynamic to the point that it sometimes take the full player, is sometimes in a letterbox format and is sometimes 320x240 or even smaller if the source video is smaller. Any tips on this would be awesome.

Regards to all ...

Christian Ebert
Flowplayer support

Posts: 2803

Registered:
May 27, 2008

» » flowplayer.h264.streaming.swf + long movie

Posted: Feb 5, 2009

Reply to: » flowplayer.h264.streaming.swf + long movie, from khaled
khaled33,


clip: {scaling: "fit"}

in your config should yield undistorted videos.

arjen

Posts: 21

Registered:
Feb 4, 2009

» flowplayer.h264.streaming.swf + long movie

Posted: Feb 5, 2009

Reply to: flowplayer.h264.streaming.swf + long movie, from blacktrash
Hi,

The good news first. Have a look at

http://h264.code-shop.com/demo/flowplayer/ccc.html

It's your very long MP4 file and seeking is quite fast (about a second / second and a half).

A few observations:

Are you sure you have the mod_h264_streaming plugin running on your Apache server, because it doesn't look like it? (I.e. it doesn't seek at all and always start at the beginning, and the content-type isn't set).

Adding hint tracks doesn't help, they are actually removed by the plugin to save on the size of the metadata. :) I'm talking about the actual added tracks, of course if MP4box adds more information/seekpoints etc... then it's still useful.

Regards,

Arjen

Christian Ebert
Flowplayer support

Posts: 2803

Registered:
May 27, 2008

» » flowplayer.h264.streaming.swf + long movie

Posted: Feb 5, 2009

Reply to: » flowplayer.h264.streaming.swf + long movie, from arjen
Hi Arjen,

How embarrassing: no I (or rather my provider) haven't the mod_h264_streaming plugin enabled :-( Apparently I was too excited and overlooked the requirement. Very sorry to have caused you trouble.

Thank you very much for testing and looking into this! And even setting up a demo! -- If you leave the movie there, could I ask you to put in the clip: {scaling: fit} parameter, otherwise it looks worse than it already is ;-)

But I think for our purposes the loading time is still too slow, as compared to rtmp or php pseudostreaming, so I probably wont ask my provider to install the Apache plugin.

Anyway, thank you very much, this has been very informative.

greener

Posts: 27

Registered:
Nov 4, 2008

» » » flowplayer.h264.streaming.swf + long movie

Posted: Feb 6, 2009

Reply to: » » flowplayer.h264.streaming.swf + long movie, from blacktrash
hi,
so I'm curious if you have both RTMP and http streaming available on longform content, why wouldn't you choose RTMPT? the load is much faster, the seek much smoother and the bandwidth checker is available on most of the servers (wowza, red 5) which is nice for multiple bitrate files.

The couple disadvantages I've heard are weaker security for RTMP and some problems getting past firewalls (but have never seen this).
Any others except for the licensing fees if going with an Adobe server?

best, rg

Christian Ebert
Flowplayer support

Posts: 2803

Registered:
May 27, 2008

» » » » flowplayer.h264.streaming.swf + long movie

Posted: Feb 6, 2009

Reply to: » » » flowplayer.h264.streaming.swf + long movie, from greener
a) I'm curious how it works
b) php streaming is the quickest to load and seek, so I was wondering whether "genuine" http streaming for h264 behaved the same
c) for rtmp I use simplecdn, and I'm still pondering whether a solution confined to our server might be better
d) to get on Arjen's nerves ;-)

arjen

Posts: 21

Registered:
Feb 4, 2009

» » » » » flowplayer.h264.streaming.swf + long movie

Posted: Feb 6, 2009

Reply to: » » » » flowplayer.h264.streaming.swf + long movie, from blacktrash
Hi,

Agreed. If you can use RTMP, use that, especially for long/live content.

The advantages of a server plugin are:

- it's quite easy to add, as odds are that you are already running lighttpd/apache/nginx.
- it's inexpensive
- it supports 'Virtual Video Clips'

So, it's a good question and the answer really depends on your needs. :)

Joust
Dissapointed with noone to fix aac hanging bug.

Posts: 57

Registered:
Jan 23, 2009

» » » » » » flowplayer.h264.streaming.swf + long movie

Posted: Feb 6, 2009

Reply to: » » » » » flowplayer.h264.streaming.swf + long movie, from arjen
PHP pseudostreaming is lame :) If you use Apache, use my mod_flvx module I've described here.

I am now using both plugins and degradating nicely on older Flash version (pre 9.115). Take a look at my config:

$f(container, "/flash/flowplayer-3.0.5.swf", {  
    clip: { 
        url: flashembed.isSupported([9, 115]) ? mp4Url : flvUrl , 
        provider: flashembed.isSupported([9, 115]) ? 'h264streaming' : 'lighttpd', 
        scaling: 'fit', 
        autoBuffering: true, 
        autoPlay: false, 
        bufferLength: 3 
    }, 
     
    plugins:  { 
        lighttpd: {   
            url: '/flash/flowplayer.pseudostreaming-3.0.3.swf' 
        }, 
        h264streaming: { 
            url: '/flash/flowplayer.h264streaming-3.0.5.swf' 
        }, 
    } 
}); 

esalado
FlyBusiness Multimedia Solutions

Posts: 3

Registered:
Oct 29, 2008

FLVTOOL2 with .mp4 files?

Posted: Feb 9, 2009

Reply to: » » » » » » flowplayer.h264.streaming.swf + long movie, from Joust
With the pseudostreaming plugin and mod_flvx Apache module, I need to use flvtool2 with the FLV files.

If I want to use this h264.pseudostreaming, Can I use the same flvtool2 with a MP4 file?

flvtool2 -U file.mp4?

Thank you and congratulation for your Plugin!!!

Joust
Dissapointed with noone to fix aac hanging bug.

Posts: 57

Registered:
Jan 23, 2009

» FLVTOOL2 with .mp4 files?

Posted: Feb 9, 2009

Reply to: FLVTOOL2 with .mp4 files?, from flybusiness
Nope. For mp4 use qt-faststart or similar. Take a look at:http://h264.code-shop.com/trac/wiki/Encoding

greener

Posts: 27

Registered:
Nov 4, 2008

» » » » » » flowplayer.h264.streaming.swf + long movie

Posted: Feb 6, 2009

Reply to: » » » » » flowplayer.h264.streaming.swf + long movie, from arjen
The one aspect of RTMP that I'm not sure and would love some input is on the cache store. On http streaming you have that store that is visible on the scrub bar (make sure you have some throttling so it doesn't suck down your bandwidth), is their also some cache store on RTMP? and is this adjustable? this is necessary for inconsistent connections on long form content. thanks...

btw, I also use SimpleCDN...
Randall

Christian Ebert
Flowplayer support

Posts: 2803

Registered:
May 27, 2008

» » » » » » » flowplayer.h264.streaming.swf + long movie

Posted: Feb 9, 2009

Reply to: » » » » » » flowplayer.h264.streaming.swf + long movie, from greener
No, flvtool2 is only for flv containers.

The mp4 metadata must be at the beginning of the file though.

Anssi
Flowplayer Flash & video streaming developer

Posts: 1194

Registered:
Jul 24, 2007

» » » » flowplayer.h264.streaming.swf + long movie

Posted: Feb 6, 2009

Reply to: » » » flowplayer.h264.streaming.swf + long movie, from greener
I just viewed the latest demo on Arjen's server (the blacktrash one) and there seems to be be a long delay when starting the clip and also when seeking to non-buffered areas. I guess in those occasions it reparses the keyframe data (or am I correct Arjen?). I can see the "beach ball of death" on my mac when it starts and when I seek.

Anyways it's great to have this plugin. So thanks Arjen! It seems to work perfectly on a bit smaller clips. I will work on integrating this code to our pseudostreaming plugin so that there would be only one plugin for pseudostreaming h.264 and FLV.

RTMP is good for long lasting content (large files). With SimpleCDN and Influxis it should be cost effective too. We've updated our streaming tutorial because we now have correct pricing info from Influxis. Check the changes in the site A and site B price comparisons, Influxis is now on par with SimpleCDN with their pricing. They also have servers in Europe and in US so the response times should be good.

With RTMP the file will not be stored on the browser's cache at all (to prevent people from downloading your videos). But you can control the buffering by modifying the bufferLength parameter per clip.

arjen

Posts: 21

Registered:
Feb 4, 2009

Some notes on metadata size and seektimes

Posted: Feb 6, 2009

Reply to: » » » » flowplayer.h264.streaming.swf + long movie, from Anssi
Hi,

Just to get an idea of the data it has to transfer. The size of the metadata of the nearly two hour long video-clip (ccc.mp4) is about 4.6MB. At the start of the video the plugin will send out metadata the size of 3.3MB.

The plugin tries to only write the necessary metadata, so when you seek towards the end of the file, it linearly goes down to about a few kilobytes. So seeking towards the end of the file is quicker. :)

Unfortunately 3.3MB is quite a chunk of data and depending on your connection this may take anything between a second and a lot of seconds. It also seems to vary wildly depending on the encoding settings used to transcode the video, but I really haven't had the time yet to try them all and do a quality/size comparison. :)

Regards,

arjen

Posts: 21

Registered:
Feb 4, 2009

"Beach ball of death"

Posted: Feb 8, 2009

Reply to: » » » » flowplayer.h264.streaming.swf + long movie, from Anssi
This is a known issue in Flash.

See:http://bugs.adobe.com/jira/browse/FP-794

'Flash Player freeze when reading metadata from 'a large mp4 file'

Christian Ebert
Flowplayer support

Posts: 2803

Registered:
May 27, 2008

» "Beach ball of death"

Posted: Feb 8, 2009

Reply to: "Beach ball of death", from arjen
Hi Arjen,

At least you found the culprit. But how annoying. Because even if the bug will be fixed, there'll be still a lot of buffy flash players around.

But it makes my decision to stay with rtmp streaming a bit easier ;-)

Thanks for your research!

P.S. In MacOS Classic it was called "SPOD", the Spinning Pizza Of Death, hehe.

niklas

Posts: 2

Registered:
Feb 7, 2009

» pseudo streaming plugin available for h.264 / mp4

Posted: Feb 7, 2009

Reply to: pseudo streaming plugin available for h.264 / mp4, from khaled
Is it possible to have the module to enable pseudostreaming on mp4 files which do not have an extension? Currently all my video files are located in the same folder, and have some random character names without any extensions. Could the pseudostreaming module for apache be used to accept all files from that specific folder to be interpreted as mp4 files (as all the files there were orginally with an mp4 extension)

arjen

Posts: 21

Registered:
Feb 4, 2009

» » pseudo streaming plugin available for h.264 / mp4

Posted: Feb 7, 2009

Reply to: » pseudo streaming plugin available for h.264 / mp4, from niklas
Hi Niklas,

Just a thought.

You could add a URL rewrite rule to your Apache config that adds an ".mp4" extension to every file in your video directory.

The rewrite guide:http://httpd.apache.org/docs/2.0/misc/rewriteguide.html

niklas

Posts: 2

Registered:
Feb 7, 2009

» » » pseudo streaming plugin available for h.264 / mp4

Posted: Feb 14, 2009

Reply to: » » pseudo streaming plugin available for h.264 / mp4, from arjen
that won't work if the files are passed through a php file?
In other words the flash player loads video files from a php file, which in turn loads them from the folder?

Joust
Dissapointed with noone to fix aac hanging bug.

Posts: 57

Registered:
Jan 23, 2009

» » pseudo streaming plugin available for h.264 / mp4

Posted: Feb 9, 2009

Reply to: » pseudo streaming plugin available for h.264 / mp4, from niklas
Module is triggered on file extension, so it doesn't try to stream your PNG or JS files :) It's a good design because it saves server a lot of thinking of what module to use. i.e. I use both FLV and MP4 streaming modules simultaneously, and they stream media according to extension.

chrisb

Posts: 3

Registered:
Feb 9, 2009

demo mp4 seeks - my files don"t

Posted: Feb 9, 2009

Reply to: pseudo streaming plugin available for h.264 / mp4, from khaled
hi guys,

my mp4 files are not seeking at all - when i jump forward on the slider, it continues moving from that point but the movie starts from the beginning

the demohttp://h264.code-shop.com:8080/trailer2.mp4
works fine so i'm pretty sure i've set up the code and plugins correctly

so what do i have to do/add to my mp4 files (and which software would you recommend) to get them seeking?

any help greatly appreciated,
chris

khaled33

Posts: 14

Registered:
Jan 14, 2009

» demo mp4 seeks - my files don"t

Posted: Feb 9, 2009

Reply to: demo mp4 seeks - my files don"t, from chrisb
Hi Chris,

are you converting your videos to mp4 on the server or locally on your PC? What software are you using to convert the videos?

http://h264.code-shop.com/trac/wiki/Encoding
The above page gives example of video conversion using fflpeg, mencoder an a few other tools. It is my understanding that using any one of those conversion methods inserts the required metadata into the output mp4 files that makes seeking possible.

arjen

Posts: 21

Registered:
Feb 4, 2009

» demo mp4 seeks - my files don"t

Posted: Feb 10, 2009

Reply to: demo mp4 seeks - my files don"t, from chrisb
Hi Chris,

I hope I'm not suggesting the obvious, but do you have the mod_h264_streaming plugin installed on your webserver (Apache/Lighttpd/Nginx) that serves the mp4 files?

chrisb

Posts: 3

Registered:
Feb 9, 2009

» » demo mp4 seeks - my files don"t

Posted: Feb 10, 2009

Reply to: » demo mp4 seeks - my files don"t, from arjen
thanks for the quick reply, guys

you're right, arjen. i have lighttpd 1.4.19 running on my NAS dns-323 that i set up using a funplug script, as per

http://wiki.dns323.info/howto:ffp

BUT i don't have the mod_h264_streaming module set up

i'm not well versed in linux so forgive me if these questions are silly but:

is it possible to download/add the .so file and change my lighttpd.conf file and restart lighttpd?

compiling it is a little beyond my knowledge but any suggestions would be greatly appreciated,

chris

Narayan

Posts: 22

Registered:
Feb 10, 2009

m4v files don't seek

Posted: Feb 15, 2009

Reply to: » demo mp4 seeks - my files don"t, from arjen
Hi,

I am also trying to get pseudostreaming working.
I have finally for it working with .mp4 files but not with .m4v files.
Should it work with .m4v? Do I need to encode them specially?

.m4v files will play but they are not seekable and just start playing from the beginning of the video where ever the playhead is placed.

Thanks

Anssi
Flowplayer Flash & video streaming developer

Posts: 1194

Registered:
Jul 24, 2007

h.264 capable pseudostreaming out now

Posted: Feb 11, 2009

Reply to: pseudo streaming plugin available for h.264 / mp4, from khaled
The code from Arjen is now integrated to our pseudostreaming plugin. Version 3.1.0 is out now!

khaled33

Posts: 14

Registered:
Jan 14, 2009

» h.264 capable pseudostreaming out now

Posted: Feb 11, 2009

Reply to: h.264 capable pseudostreaming out now, from Anssi
i get the following error:

301: Unable to load plugin: Unable to lod plugin using url "domain.com/flowplayer/flowplayer.pseudostreaming-3.1.0.swf": Error: 2036

is this a mistake i've made?

chrisb

Posts: 3

Registered:
Feb 9, 2009

» h.264 capable pseudostreaming out now

Posted: Feb 11, 2009

Reply to: h.264 capable pseudostreaming out now, from Anssi
thanks for the update, khaled33

i've added the flowplayer.pseudostreaming-3.1.0.swf plugin but i still can't get it working - mp4s will start from the beginning no matter where i seek

like i mentioned, i have lighttpd 1.4.19 running without the h264 module installed (flv module is installed) - and the way the new plugin is decribed, i don't have to?

my code (and forgive me if it's something obvious, guys)

flowplayer("player", "flowplayer-3.0.5.swf", {
clip: {
url: 'myFile.mp4',
provider: 'lighttpd'
},
plugins: {
lighttpd: {
url: 'flowplayer.pseudostreaming-3.1.0.swf'
},
controls: {
url: 'flowplayer.controls-3.0.3.swf',
play:false,
fullscreen:true,

// scrubber is a well known nickname to the timeline/playhead combination
scrubber: true
}
}
});

arjen

Posts: 21

Registered:
Feb 4, 2009

» » h.264 capable pseudostreaming out now

Posted: Feb 11, 2009

Reply to: » h.264 capable pseudostreaming out now, from chrisb
Hi Chris,

The mod_h264_streaming module for Lighttpd and the plugin for Flowplayer go hand it hand. You need both to allow seeking in not-yet-loaded areas.

I did my best describing how to download/build/install the module, but I can see as well that it's not necessarily the easiest thing in the world. Perhaps you can find someone to help you?

Regards,

maumau

Posts: 28

Registered:
Jan 19, 2009

Error using pseudostreaming-3.1.0

Posted: Feb 13, 2009

Reply to: h.264 capable pseudostreaming out now, from Anssi
hi
I have problems with the new flowplayer-pseudostreaming-plugin.

First error: when setting the scrubber a few seconds before the end, it stops streaming after a few seconds and the loading animation is shown.

Second error: when I click "stop" and restart the video, I can't pseudo-stream anymore.

Problems occur in Firefox3 and IE 7.

arjen

Posts: 21

Registered:
Feb 4, 2009

» Error using pseudostreaming-3.1.0

Posted: Feb 23, 2009

Reply to: Error using pseudostreaming-3.1.0, from maumau
I've got a simple fix though that solves most problems reported in the forum:

Add the line:

_seekDataStore.prevSeekTime = 0;

at PseudoStreamProvider.as (line 142), just after the '_seekDataStore = DefaultSeekDataStore.create(....) function.

This will fix:

http://www.flowplayer.org/forum/8/15231#post-15232 (click stop, restart) and
http://www.flowplayer.org/forum/8/15231#post-15253 (timer sticks at 0:00)

I've also mailed the developers, so expect this to be fixed soon.

Regards,

sbmmm

Posts: 5

Registered:
Feb 6, 2009

» » Error using pseudostreaming-3.1.0

Posted: Feb 25, 2009

Reply to: » Error using pseudostreaming-3.1.0, from arjen
Has this been incorporated into the plugin?

Anssi
Flowplayer Flash & video streaming developer

Posts: 1194

Registered:
Jul 24, 2007

» » » Error using pseudostreaming-3.1.0

Posted: Feb 25, 2009

Reply to: » » Error using pseudostreaming-3.1.0, from sbmmm
It's in the version control now. A new release 3.1.1 will be out tomorrow.

Anssi
Flowplayer Flash & video streaming developer

Posts: 1194

Registered:
Jul 24, 2007

pseudostreaming 3.1.1

Posted: Feb 25, 2009

Reply to: » » » Error using pseudostreaming-3.1.0, from Anssi
version 3.1.1 is out now with these fixes integrated

cheers,
Anssi

sydney

Posts: 2

Registered:
Jul 10, 2009

buffer overflow

Posted: Jul 13, 2009

Reply to: Error using pseudostreaming-3.1.0, from maumau
Hello.

I am testing version 3.1.1 and I think I've discovered a bug.
I am using the Apache Module version of the mod-h264-streaming (as described here :http://h264.code-shop.com/trac/wiki/Mod-H264-Streaming-Apache-Version2).
Problem : When I click on the "stop" button in the player, buffering continues till the end of the file. This is not wanted and is a pure waste of bandwidth since you cannot play the downloaded data again. I explain : if you hit "play", a new http query will occur and the player will download the data again.
And also, if you hit "stop", I think you mean... "stop", not pause.

Second problem, when I write some code to call stopBuffering when I click on stop, I got a popup saying me 'buffer overflow at line:0' after 2 seconds.

Sydney.

sydney

Posts: 2

Registered:
Jul 10, 2009

» buffer overflow

Posted: Jul 13, 2009

Reply to: buffer overflow, from sydney
As I can see from other posts, this bug is not new. I mean buffering continues even if you hit stop.

But I've seen nothing about the "buffer overflow".

This is my code (snip):

<script language="JavaScript">
flowplayer("player", "flowplayer-3.1.1.swf", {
playlist: [
{
url: 'logo.png',
scaling: 'fit'
},
{
url: 'video.mp4',
provider: 'h264streaming',
scaling: 'fit',
autoPlay: false
}
],
plugins: {
h264streaming: {
url: 'flowplayer.pseudostreaming-3.1.2.swf'
},
controls: {
url: 'flowplayer.controls-3.1.1.swf',
autoHide: 'always',
play:true,
fullscreen:true,
stop:true,
scrubber: true
}
},
onStop: function() {
this.stopBuffering()
}

});
</script>

borg

Posts: 4

Registered:
Nov 24, 2009

PHP streaming problem seeking in F4V videos

Posted: Nov 24, 2009

Reply to: pseudo streaming plugin available for h.264 / mp4, from khaled
I'm using the PHP streaming class found here:
http://richbellamy.com/wiki/Flash_Streaming_to_FlowPlayer_using_only_PHP

However it was written for FLV files rather than F4V and I need to know what data to pack() for an F4V in order to get seeking to work for F4V files.

Something like what's shown here for the FLV file format headers would be very useful:
http://osflash.org/flv#flv_header

I found this description of the F4V file format header, perhaps someone will the skill could use it to help?
http://www.scribd.com/doc/10911307/Video-File-Format-Spec-v10


# content headers
header("Content-Type: video/x-flv");
header("Content-Disposition: attachment; filename="" . $fileName . """);
			
# FLV file format header
if($seekPos != 0) 
{
	header("Content-Length: " . ($fileSize + 13));
	print('FLV');
	print(pack('C', 1));
	print(pack('C', 1));
	print(pack('N', 9));
	print(pack('N', 9));
}
else
{
	header("Content-Length: " . $fileSize);
}

Andy

Posts: 12

Registered:
Dec 2, 2009

Please help to find this issue

Posted: Dec 23, 2009

Reply to: pseudo streaming plugin available for h.264 / mp4, from khaled
Hi guys,

I used the same code (except the url of mp4.file) with this sample ofhttp://h264.code-shop.com/trac/wiki/FlowPlayer
The video still can't play from the clicked position and always play from the beginning. Please help and find the reason. Thanks.

The url ishttp://www.quranstudy.com/live/night5.html

adrian.galera

Posts: 1

Registered:
May 18, 2010

» Please help to find this issue

Posted: May 18, 2010

Reply to: Please help to find this issue, from pinnacle
Hello guys, this is my first post.

I'm trying to get h264 streaming with full seek support. But I can'get it to work.

I've installed an apache2 with mod_h264_streamign as described in codeshop. And it is working (i've checked with wget and modifying the start parameter).

Now the problem is in the integration with flowplayer.

Looking at Live HTTP Headers, flowplayer looks like make the HTTP request with the start parameter in seconds however the mod in apache2 looks like read this parameter in bytes.

Anybody has experienced the same? any solution?

The versions are:
flowplayer-3.2.1.swf
flowplayer.pseudostreaming-3.2.1.swf
X-Mod-H264-Streaming: version=2.2.7
Apache2: Server: Apache/2.2.9 (Debian)

The wget commands:

wget -S -O test.flvhttp://xxxx/SD/331.flv?start=43500010

I get 373M of video

wget -S -O test.flvhttp://xxx/SD/331.flv?start=0

I get 415M of video.

Here the HTTP Live Headers:


http://xxx/SD/331.flv?start=0

GET /SD/331.flv?start=0 HTTP/1.1
Host:xxx
User-Agent: Mozilla/5.0 (X11; U; Linux i686; ca; rv:1.9.1.9) Gecko/20100401 Ubuntu/9.10 (karmic) Firefox/3.5.9
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: ca,en-us;q=0.7,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Cookie: __utma=259152395.15452289.1268905575.1274167711.1274178052.33; __utmz=259152395.1268905575.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none)

HTTP/1.1 200 OK
Date: Tue, 18 May 2010 11:23:23 GMT
Server: Apache/2.2.9 (Debian)
X-Mod-H264-Streaming: version=2.2.7
Content-Length: 435098182
Last-Modified: Tue, 18 May 2010 09:44:24 GMT
Etag: "26149-19ef1246-486db2fc14e00;435098182"
Accept-Ranges: bytes
Keep-Alive: timeout=15, max=95
Connection: Keep-Alive
Content-Type: video/mp4

http://xxx/SD/331.flv?start=1718.45

GET /SD/331.flv?start=1718.45 HTTP/1.1
Host: xxx
User-Agent: Mozilla/5.0 (X11; U; Linux i686; ca; rv:1.9.1.9) Gecko/20100401 Ubuntu/9.10 (karmic) Firefox/3.5.9
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: ca,en-us;q=0.7,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Cookie: __utma=259152395.15452289.1268905575.1274167711.1274178052.33; __utmz=259152395.1268905575.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none)

HTTP/1.1 200 OK
Date: Tue, 18 May 2010 11:24:10 GMT
Server: Apache/2.2.9 (Debian)
X-Mod-H264-Streaming: version=2.2.7
Content-Length: 435096477
Last-Modified: Tue, 18 May 2010 09:44:24 GMT
Etag: "26149-19ef1246-486db2fc14e00;435096477"
Accept-Ranges: bytes
Keep-Alive: timeout=15, max=100
Connection: Keep-Alive
Content-Type: video/mp4

I guess the problem can be with the header accept-ranges: bytes.

BTW I'm experiencing the same problem as Andy, when I click on the timeline, it looks like seeking but the video starts from begining and the time is changed.

Thanks.

orangebus

Posts: 34

Registered:
Feb 5, 2009

using with limelight

Posted: Aug 4, 2010

Reply to: pseudo streaming plugin available for h.264 / mp4, from khaled
Recently I used this plugin with Limelight CDN. I had trouble finding out how to make it work, so I figured I'd post my findings here.

The feature you want to ask Limelight for is called "FLV Seek". http://blog.llnw.com/2008/01/flv-seek/ You want them to enable it for both flv video and f4v/m4v/mp4.

To make sure your videos are compatible, run one of these tools:

flvtool2 (for flv files)
http://rubyforge.org/projects/flvtool2/
command line: flvtool2 -U <filename>

mp4creator (for m4v files)
http://mp4creator.sourceforge.net/
command line: mp4creator -optimize <filename>

In javascript:


//for flv video
$f("player", "flowplayer-3.2.2.swf", {

  clip: {
    provider: 'flvseek',
    url: 'http://yourlimelighturl/video.flv',

    //test start & duration just to see that it works
    start: 30,
    duration: 45
  },

  plugins: {
    flvseek: {
      url: 'flowplayer.pseudostreaming-3.2.2.swf',

      //note the URL parameter is "fs"
      queryString: escape('?fs=${start}')
    }
  }
});


//for m4v video
$f("player", "flowplayer-3.2.2.swf", {

  clip: {
    provider: 'flvseek',
    url: 'http://yourlimelighturl/video.m4v',

    //test start & duration just to see that it works
    start: 30,
    duration: 45
  },

  plugins: {
    flvseek: {
      url: 'flowplayer.pseudostreaming-3.2.2.swf',

      //note the URL parameter is "ms"
      queryString: escape('?ms=${start}')
    }
  }
});

Hope this helps!

andrew_v

Posts: 6

Registered:
Nov 11, 2010

Building-in pseudostreaming to player

Posted: Jan 5, 2011

Reply to: pseudo streaming plugin available for h.264 / mp4, from khaled
Hi!
Did anyone tried to build in this plugin into the player?

My BuiltInConfig looks like this


package {
 import org.flowplayer.bwcheck.BwCheckPlugin;
 import org.flowplayer.pseudostreaming.*;
 public class BuiltInConfig {
   private var bwcheck:org.flowplayer.bwcheck.BitrateProvider;
   private var pseudostreaming:org.flowplayer.pseudostreaming.PseudoStreamProvider;
   plugins:{
		bwcheck:{
                    url: 'org.flowplayer.bwcheck.BitrateProvider',
		},
				
		pseudostreaming: {
	               url: 'org.flowplayer.psuedostreaming.PseudoStreamProvider'
		}
           }
        }
    }
}
Other plugins omitted in this sample.

When i'm trying to use player i get "ReferenceError: Error #1065". And if i load plugin via JS it works fine, as expected. Appearently i missing some, but what exactly?

cheermay
http://www.swftoaviconverter.net

Posts: 1

Registered:
Feb 9, 2011

swf to mp4 converter-convert swf video to mp4 format

Posted: Feb 9, 2011

Reply to: pseudo streaming plugin available for h.264 / mp4, from khaled
SWF to MP4 Converter is outstanding .SWF to MP4 converter software to convert .SWF to MP4 video format, which is widely used on iPod, iPhone, Apple TV, PSP, PS3, Zune, etc. So you can use this SWF to MP4 Converter to enjoy your favorite flash animation on mentioned devices.

http://www.swftoaviconverter.net/swf_to_mp4_converter.html

SWF to MP4 Converter supports converting .SWF to MP4 with MPEG-4 and H.264 codec. The video quality of output file is pretty good, and there's no frame lost. Get started quickly with this powerful SWF to MP4 Converter, and enjoy flash movies you like on portable devices!

bartels

Posts: 1

Registered:
Aug 1, 2011

flowplayer 3.2.7 + apache h264streaming + playlistplugin

Posted: Oct 5, 2011

Reply to: pseudo streaming plugin available for h.264 / mp4, from khaled
Hi there.
I was trying to get the pseudostreming with the h264streaming-plugin running, but it seem to cause some problems. i installed the streaming module on the apache and the suggested tests on the code-shop pages are working well. when i uploaded the example delivered with the streamingplugin and changed the paths to actual videos on my server, everything worked fine.
but if i am trying to add the plugin to my running setup with a playlist, the player doesnt start. no controls, nothing but the background-picture of the player. this is my basic setup so far:
$(function() {
	
				// setup player without "internal" playlists
				$f("player2", "player/flowplayer.commercial-3.2.7.swf", {
					key: '(ourcommercialkey)',
					clip: {scaling: 'fit',
							baseUrl: '{$player_base_url}', 
							autoPlay: false,
							provider: 'h264streaming'
					},
					plugins: {
						h264streaming: {
							url: 'player/flowplayer.h264streaming-3.0.5.swf'
						},
						controls: {
							url: 'player/flowplayer.controls-3.2.5.swf',
							play:true,
							fullscreen:true,
							scrubber:true
						}
					}
					
					
				// use playlist plugin. again loop is true
				}).playlist("table.playliststil", {loop:false});
				

can anybody guess whats wrong or had a similar problem? every little hint is deeply appreciated.
my guess is that the playlist-plugin is causing the problems, but it is essential for my whole project.
thank you so much in advance!

//EDIT: Found the problem, this setup is working fine with the pseudostreaming-plugin "flowplayer.pseudostreaming-3.2.7.swf."

sorry to have bothered you.


jk3us

Posts: 8

Registered:
Jul 29, 2008

» pseudo streaming plugin available for h.264 / mp4

Posted: Nov 12, 2011

Reply to: pseudo streaming plugin available for h.264 / mp4, from khaled
I got the h264 plugin working in Apache, but it seem like Apache is trying to use the module to serve files ending in '.mp4.jpg', which is how we name our video thumbnails. When trying to view one of these images, I get this message:

-----------------
Unsupported Media Type

The supplied request data is not in a format acceptable for processing by this resource.

Apache/2.2.9 (Debian) DAV/2 PHP/5.3.8-1~dotdeb.1 with Suhosin-Patch mod_ssl/2.2.9 OpenSSL/0.9.8g Server at www._SERVER_.org Port 80
-----------------

How can I make these files not get served through this module?