You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
As far as I can see the rtmp fallback assumes an mp4 file with an identical filename in an identical filesystem (bucket) layout as the http url. There is no way to specify an rtmp filename.
This will fail in a lot of circumstances for a lot of reasons. For instance:
that's the location of RTMP server. Then there is the file name which is given with src attribute an prefixed with "mp4:". How should I change the logic?
Allow full rtmp addresses in a new config option. Like data-rtmpurl="rtmp://stream.blacktrash.org/cfxt/st/mp4:ccc which overrides data-rtmp. Similarly how giving a full rtmp address in clip.url in fp3 overrides the rtmp plugin's netConnectionUrl. - I also might want to play a flv file in rtmp mode, the syntax varies among rtmp servers, CDNs etc. etc.
But yes, I think there should also be an option to configure an independent clip url for flash - automatisms are nice, but getting caught in them is not.
As I want to avoid additional options as much as you do, how about this:
leave rtmp option as is (corresponding to fp3's netConnectionUrl
introduce something like data-flashurl or data-flashsrc or whatever which, when given, overrides the mp4 source, or, analogous to your proposal: source type=flash src="whatever"
This would even take care of e.g. cloudfront signed urls which alternate between http for html5 and rtmp for flash - if I were to introduce html5 for this demo: http://flowplayer.blacktrash.org/cfxsigned.php, the signatures for http and rtmp would differ completely.
We don't need 2 flash urls, imho. You either serve mp4 or flv.
Those were just possible examples of configuring the flashurl with the <source/> tag. No need for two source tags if you only want to provide mp4 file for example. I also want to avoid additional options and the source tag would do exactly that - no additional options, just use the standard mechanism for providing additional sources for different kind of types.
We have mp4 videos served with cloudfront.
The html5 engine needs a non encoded url and the flash engine an encoded url. We need both to make the video work on most browsers.
@mickey - unfortunately codec support detection does not work reliably, at least according to my experiments e.g. to fail over to baseline profile for small iOS devices.
@tero - one simple example is: For flash I deploy a different file with a different filename than for html5 to profit from the fact that flash allows reliably high encoding profiles for h.264, I therefore get better quality at lower bitrate in flash.
Thanks @mickey and @blacktrash. So I'll implement following
<video><!-- for html --><sourcetype="video/mp4" src="bauhaus/foo.mp4"/>
<!-- for flash, overrides html/mp4 --><sourcetype="video/mp4/flash" src="bauhaus/foo-xyz.mp4"/>
</video>
I don't know why you want to specify mp4, why not just video/flash. The flash video might also be in a different bucket or on a different server. It just has to play in Flash. Just take a full url as value.
If data-rtmp is given it's the url minus the netConnection - no format guessing. Sometime prefixes are needed, sometimes not, depending on the server.
Original issue link: #9 rtmp stream location guess too clever
phloxic commented on Oct 1, 2012
As far as I can see the rtmp fallback assumes an mp4 file with an identical filename in an identical filesystem (bucket) layout as the http url. There is no way to specify an rtmp filename.
This will fail in a lot of circumstances for a lot of reasons. For instance:
or in case of a different rtmp directory/bucket or filename layout etc. etc.
An option to configure the actual rtmp stream location is needed for the cases where the deriving logic is not applicable.
tipiirai commented on Oct 3, 2012
So now you can configure for example:
rtmp: 'rtmp://s3b78u0kbtx79q.cloudfront.net/cfx/st'
that's the location of RTMP server. Then there is the file name which is given with
src
attribute an prefixed with "mp4:". How should I change the logic?Thanks
phloxic commented on Oct 3, 2012
Allow full rtmp addresses in a new config option. Like
data-rtmpurl="rtmp://stream.blacktrash.org/cfxt/st/mp4:ccc
which overrides data-rtmp. Similarly how giving a full rtmp address in clip.url in fp3 overrides the rtmp plugin's netConnectionUrl. - I also might want to play a flv file in rtmp mode, the syntax varies among rtmp servers, CDNs etc. etc.tipiirai commented on Oct 3, 2012
How do I know which part of the URL is the netConnectionUrl and which part is the file ?
tipiirai commented on Oct 3, 2012
Impossible to know netConnectionUrl from this for example:
rtmp://stream.blacktrash.org/cfxt/st/bauhaus/foo.flv
The goal is to make it easy to configure both HTML5 and RTMP urls.
phloxic commented on Oct 3, 2012
Perhaps ask the AS3 cracks how they handle this in fp3? Otherwise you can't use rtmp in many real world scenarios.
phloxic commented on Oct 3, 2012
Related: http://flowplayer.org/forum/#!/moot/594 - although I hope to solve this for fp3, see:flowplayer/flash#21 - I simply just did not have the time for it.
But yes, I think there should also be an option to configure an independent clip url for flash - automatisms are nice, but getting caught in them is not.
tipiirai commented on Oct 4, 2012
I think this would be rather nice way to configure it:
phloxic commented on Oct 4, 2012
As I want to avoid additional options as much as you do, how about this:
source type=flash src="whatever"
This would even take care of e.g. cloudfront signed urls which alternate between http for html5 and rtmp for flash - if I were to introduce html5 for this demo: http://flowplayer.blacktrash.org/cfxsigned.php, the signatures for http and rtmp would differ completely.
We don't need 2 flash urls, imho. You either serve mp4 or flv.
tipiirai commented on Oct 4, 2012
Those were just possible examples of configuring the
flashurl
with the<source/>
tag. No need for two source tags if you only want to provide mp4 file for example. I also want to avoid additional options and the source tag would do exactly that - no additional options, just use the standard mechanism for providing additional sources for different kind of types.mickey commented on Oct 4, 2012
+1 on having the option to configure a different url for flash in fp5. It's currently a hassle to handle cloudfront urls.
tipiirai commented on Oct 4, 2012
Sure Mickey, will do. Just discussing how. I personally prefer to use additional
<source/>
tag for that.tipiirai commented on Oct 9, 2012
@mickey can you describe your use case so I can provide a good fix here
mickey commented on Oct 9, 2012
We have mp4 videos served with cloudfront.
The html5 engine needs a non encoded url and the flash engine an encoded url. We need both to make the video work on most browsers.
We're currently using this hack to make it work:
HTML:
JS:
I guess flowplayer has his own browser video support detection. So ideally I would transform my code to this:
phloxic commented on Oct 9, 2012
@mickey - unfortunately codec support detection does not work reliably, at least according to my experiments e.g. to fail over to baseline profile for small iOS devices.
@tero - one simple example is: For flash I deploy a different file with a different filename than for html5 to profit from the fact that flash allows reliably high encoding profiles for h.264, I therefore get better quality at lower bitrate in flash.
tipiirai commented on Oct 9, 2012
Thanks @mickey and @blacktrash. So I'll implement following
Does that work for you?
mickey commented on Oct 9, 2012
Perfect, makes sense to have it directly here.
phloxic commented on Oct 9, 2012
I don't know why you want to specify mp4, why not just
video/flash
. The flash video might also be in a different bucket or on a different server. It just has to play in Flash. Just take a full url as value.If data-rtmp is given it's the url minus the netConnection - no format guessing. Sometime prefixes are needed, sometimes not, depending on the server.
tipiirai commented on Oct 9, 2012
Because I suggested something. Will use
video/flash
.tipiirai commented on Oct 9, 2012
@blacktrash do we need
rtmp
configuration at all?tipiirai commented on Oct 9, 2012
Ignore my last question; we need it so we know which part of the url belongs to Flash netConnection
tipiirai commented on Oct 9, 2012
Done. Here is a demo:
http://example.flowplayer.org/basics/rtmp.html
flash engine now understands "video/flash" the order of the
the URL determination is now dummy. no wisdom. just given directly to the play() method
phloxic commented on Oct 9, 2012
As long as the probably "illegal" html5 source type does not cause problems: good.
But the "video does not play through" issue is back with rtmp. Stops at 36 or 37 seconds here.
tipiirai commented on Oct 9, 2012
It has actually been there always but haven't been debugged with RTMP before. Now also fixed from RTMP.
phloxic commented on Oct 9, 2012
I know it had always been there, but did not want to get on your nerves ;-)
tipiirai commented on Oct 9, 2012
heh, thanks... with this speed I think we're getting close to 5.1
phloxic commented on Oct 12, 2012
I can't get rtmp to work anymore - with or without video/flash:
http://flowplayer.blacktrash.org/fp5/mp4only.html
tipiirai commented on Oct 12, 2012
Your example does not really try to configure rtmp.
Please follow this demo:
http://example.flowplayer.org/basics/rtmp.html
phloxic commented on Oct 12, 2012
What's wrong with:
???
phloxic commented on Oct 12, 2012
btw, I tried with data-* attributes first actually - failed as well.
phloxic commented on Oct 12, 2012
AHA - only works with
video/flash
type as the first source!The text was updated successfully, but these errors were encountered: