Alternative way to play streams


Streams are usually streamed using retarded Adobe RTMP protocol, which no one player understands. But there is now a working workaround using rtmpdump. For example:

rtmpdump -r rtmp://fms5.visionip.tv/live/RT_3 -v -e -o - | vlc -

This command makes rtmpdump to download and output stream to stdout, and "vlc -" means "read stream from stdin". This example would work with any player that support reading stream from stdin. What also could work is saving stream into a file and playing this file at the same time.

rtmpdump is also available as library, meaning you only have to make thought about how to forward stream to a player.

Using players other than f§$%/!n flash have obvious advantages like possibility to correct brightness, contrast, make volume higher as 100% (in case you are using laptop loudspeakers normal volume can be not enough), probably saving stream while playing. They are also much faster that $$$G* flash (i really hope flash player will die someday).

file attachments


brnkhy wrote Mar 1, 2012 at 11:49 AM

Hey there!

Sounds interesting as I didn't know about rtmpdump libraries before and never considered such a way to play streams. Currently we're just using a WPF browser and a webpage to embed the stream.

It would be great to get rid of costly WPF browser but I have no idea how to make it happen. Not sure if I can route and render it on something/somewhere else.

also for your information, scc is discontinued for a long time now and we're working on a new version. Even the new version uses the same old browser trick though and even though I would love to get rid of it, I dont think I can without help as I dont have time to explore this new possibility.

If you can somehow make it happen ( on c# & WPF ) or help me further, please contact me brnkahyaoglu@gmail.com

xpeh wrote Mar 1, 2012 at 4:13 PM

Where can i see your new version?
I dont have time to explore this new possibility
Hm. I don't think i can help you with programming. Have you said you only need WPF for playing streams? Then you'll don't need anymore with this feature.
What you always can do is just execing the command above so the stream will open in an external player. Don't know how it'll work with exec and pipe but it shouldn't be so hard to explore.
It should be also proven if streams can be downloaded with rtmpdump w/o problems. I've read that some sites have introduced some kind of protection against downloading their streams.

brnkhy wrote Mar 2, 2012 at 9:19 AM

send me you email address ( brnkahyaoglu@gmail.com ) and I'll invite you to our currently private repository. It's a .NET 4 / WPF app and repository is hosted on bitbucket.

yea I need to play the video/stream in a WPF application, I can't rely on external media players and obviously there are a lot more I can do when I have the full control of the player.

also talking about protection, obviously I cant make a stream player against justin/own3d term of use. It must be something they would accept. and considering this would kill their ad income, I dont think that they'll be OK with it.

xpeh wrote Mar 2, 2012 at 1:52 PM

I'm not familiar with .Net technologies - what is WPF, what is a WPF browser?

It's probably a better choise to leave both possibilities and let the user choose what player he wants to use.

Regarding TOS - i haven't read them, but if an external player will violate them, then tools like Replay Media Catcher will do it too, but they still exist. And even when, do you think you'll got sued? Tools like AdBlock Plus do ad blocking too. So it will be more technical protection you could have to deal with.

Tnud wrote Mar 2, 2012 at 2:34 PM

You can read about barans progress with ScC and the upcoming version codenamed "Towel".
At the bottom there are even some screens!
As for the player yea, it's iffy enough as it is since we promote the use of host file editing. THey'll block us completely if we "download" the stream I'd think. It's a nice idea though! I can't believe that ppl still use ScC =O

brnkhy wrote Mar 2, 2012 at 5:07 PM

WPF is just another abstraction layer like webforms.

and users can always use 3rd party players as they want, our player should be under our control. where is the fun otherwise?

when you break the rules and violate the TOS, you cant just defend yourself saying "others do it as well!" As you said, no one cares about some 3rd party tool coded in god knows where violating the TOS but I want to do this legitimate way. I wont hide behind anonymity ( also users can always do host file changes to block ads. %100 legal , %100 user based solution )

I'll send you repository invite asap

xpeh wrote Mar 2, 2012 at 7:51 PM

and users can always use 3rd party players as they want, our player should be under our control. where is the fun otherwise?
Hm... Wut?
I meant to replace flash player with external player, not your whole program.

THey'll block us completely if we "download" the stream I'd think.
I doubt both they can do it technically and that you (at least YOU as programmer) violate some TOS. In your place i would see first if you really violate something before you panic - otherwise a question should be asked, on what side are you actually? :)
brnkhy, why do you think downloading streams or playing it in external player violates TOS and blocking ads with hosts file don't?
To continue this discussion we should read TOS instead of assuming, what they "probably like" and what "probably dislike".

So are you going to implement this as far as you get how to do it or not at all?