I wrote a video streamer for Node a couple of months ago, which is here

https://github.com/meloncholy/vid-streamer

Having said that, it's not actually what you want, as it doesn't do live 
streaming at the moment. (I wanted to add it, but couldn't get any of the 
Apple live streaming sample videos to work in my browsers or ancient 
iPhone. If you want to work with me on this / can supply some sample 
interactions between browser and server so I can get this working, that 
would be great.) 

Another project that looks worth checking out is livestreaming-js.

https://github.com/mjrusso/livestreaming-js

I don't know how much you know about live streaming, so forgive me if this 
is terribly patronising. There are a number of different ways to live 
stream video, though the most popular are Flash and HTTP live streaming. 

Flash uses the RTMP protocol to send live streams, usually from the 
(expensive) Flash Media Server, though other implementations are available 
for various platforms (my knowledge here is very limited). Some Flash video 
players (e.g. JWPlayer) also support HTTP pseudostreaming (my streamer 
supports this too), though not (to my knowledge) for videos of 
indeterminate length. 

HTTP live streaming was pioneered by Apple for the iPhone, though is now 
pretty widely supported. It works by segmenting a large video file into 
small chunks (typically 10s long, though it can vary). When a user requests 
a video, she is sent a playlist that contains URLs for the next video 
segments, which she can then request in turn. If the server is live 
streaming, the playlist can be updated with new video segments as they are 
created. 

More on this from Apple

https://developer.apple.com/library/ios/#documentation/NetworkingInternet/Conceptual/StreamingMediaGuide/HTTPStreamingArchitecture/HTTPStreamingArchitecture.html#//apple_ref/doc/uid/TP40008332-CH101-SW2
https://developer.apple.com/library/ios/#documentation/networkinginternet/conceptual/streamingmediaguide/UsingHTTPLiveStreaming/UsingHTTPLiveStreaming.html#//apple_ref/doc/uid/TP40008332-CH102-SW1

If you're live streaming, you'll need to encode the video, segment it and 
finally stream it. Node is not going to be terribly good at encoding the 
video as maths is not its forte (livestream-js uses ffmpeg for this). I 
think segmenting should be fine in Node, as is (of course) making a 
streaming server. 

Hope that's useful. 

On Wednesday, 13 June 2012 07:35:42 UTC+1, Jason.桂林(Gui Lin) wrote:
>
> Hi darren, what should I know for streams.
>
> What is  "Microsoft MMSH video streams", What should I know for flash 
> video stream and html video stream up/down, and how IOS/android works for 
> video stream.
>
> 2012/6/13 darren <[redacted]@gmail.com>
>
>> You might find this interesting: https://github.com/orospakr/stream-pump/
>>
>>
>> On Tuesday, June 12, 2012 11:33:50 PM UTC-4, Jason.桂林(Gui Lin) wrote:
>>>
>>> I want to make a video live broadcast server, I don't know how to make 
>>> one, and I don't if nodejs is good to do this thing, I hope guys could give 
>>> me some suggestion.
>>>
>>> -- 
>>> Best regards,
>>>
>>> 桂林 (Gui Lin)
>>>
>>> guileen@twitter <https://twitter.com/#%21/guileen>
>>> 桂糊涂@weibo <http://weibo.com/guileen>
>>> guileen@github <https://github.com/guileen>
>>>
>>>  -- 
>> Job Board: http://jobs.nodejs.org/
>> Posting guidelines: 
>> https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
>> You received this message because you are subscribed to the Google
>> Groups "nodejs" group.
>> To post to this group, send email to [email protected]
>> To unsubscribe from this group, send email to
>> [email protected]
>> For more options, visit this group at
>> http://groups.google.com/group/nodejs?hl=en?hl=en
>>
>
>
>
> -- 
> Best regards,
>
> 桂林 (Gui Lin)
>
> guileen@twitter <https://twitter.com/#%21/guileen>
> 桂糊涂@weibo <http://weibo.com/guileen>
> guileen@github <https://github.com/guileen>
>
> 

-- 
Job Board: http://jobs.nodejs.org/
Posting guidelines: 
https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups "nodejs" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en

Reply via email to