开发者

Chopping media stream in HTML5 websocket server for webbased chat/video conference application

We are currently working on a chat + (file sharing +) video conference application using HTML5 websockets. To make our application more accessible we want to implement Adaptive Streaming, using the following sequence:

  1. Raw audio/video data client goes to server
  2. Stream is split into 1 second chunks
  3. Encode stream into varying bandwidths
  4. Client receives manifest file describing available segments
  5. Downloads one segment using normal HTTP
  6. Bandwidth next segment chosen on performance of previous one
  7. Client may select from a number of different alternate streams at a variety of data rates

So.. How do we split our audio/video data in chunks with Python?

We know Microsoft already build the Expression Encoder 2 which enables Adaptive Streaming, but it only supports Silverlight and that's not what we want.

Edit:

There's also an solution called FFmpeg (and for Python a PyFFmpeg wrapper), but 开发者_Go百科it only supports Apple Adaptive streaming.


I think ffmpeg is the main tool you'll want to look at. It's become most well supported open source media manipulator. There is a python wrapper for it. Though it is also possible to access the command line through the subprocess module.


I've found some nice articles about how other people build a stream segmenter for other platforms, so now we know how to build one in Python.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜