流媒体相关技术了解入门

来源:互联网 发布:qt5开发及实例 源码 编辑:程序博客网 时间:2024/05/22 15:46

最近在做直播相关业务,也是经常和流媒体打交道。虽然不是那么的直接,但总还是想了解下,有助于和其他部门同事沟通。


一句话,其实就是,不管直播,还是视频播放,都需要对视频进行转码,然后放到流媒体服务器上,通过播放器去请求流媒体服务器,按一定协议,这样来实现我们经常使用的直播或者是视频播放。比如优酷,酷狗繁星。


开源的流媒体服务器技术,java看到主要是一个叫   RED5 的流媒体服务器。开源的。


http://www.ibm.com/developerworks/cn/opensource/os-cn-Red5/index.html

这篇文章对red5解释入门非常详细。

red5的github地址

https://github.com/Red5/red5-server

还有一些其他的流媒体服务器,

以下:


1 Flash流媒体服务器 Red5
2 Darwin Streaming Server
3 流媒体服务器 Open Streaming Server
4 MPEG4IP
5 开源流媒体平台 FreeCast
6 流媒体服务器 Yass
7 开源流媒体平台 Stream-2-Stream
8 Flumotion 流媒体服务器
9 icecast
10 WEB自动点唱机 netjukebox
11 流媒体解决方案 live555
12 Helix DNA Platform
13 电视流媒体服务器 Tvheadend
14 OpenAMF
15 【商业】流媒体服务器 xmoovStream
16 Java流媒体服务器 JRoar
17 webcamFLV
18 【商业】流媒体服务器软件 Helix Server
19 Free UPnP Entertainment Service
20 流媒体服务器 Tunapie
21 pulpTunes
22 流媒体服务器 TivoServer
23 m3w网站的流媒体服务器 m3w
24 m9u
25 音频流记录器 DarkIce
26 Java实现的RTMP Flazr


关于播放器,以下这个问题会有帮助:

http://bbs.51cto.com/thread-686809-1.html


内容也复制过来,防止以后链接失效


补充资料

我需要做一个视频观看的网页,jsp的!实现的效果就像土豆,优酷那种,可以缓冲、播放、暂停、下载、可以支持多种视频文件的。我在网上找了很多关于页面插入视频的代码,但是都是不支持广泛的,只适合某种特定的视频文件。
不知道有没有人可以告诉我他们的实现方式和原理,谢谢了,最好能写一小段代码,或者做一个Demo,本人万分感谢!
最佳答案 ( 回答者: 阿汐 )
7款Flash和javascript网页视频播放器。梦想中的视频播放器是这样的: 支持所有格式,兼容所有主流视频网站,支持播放列表、视频缩略图、全屏播放、画面调节、预加载、体积贼小,功能贼多……. 也许你的要求并没有这么高,找找下面有没有你满意的!
1. Videobox
Videobox是一个只有6k大小的脚本,用于在页面中显示视频。Videobox使用swfobject来嵌入Flash。视频可以来自Youtube、Metacafe、Google Video、iFilm和自己设置的Flash。
2. Panda
Panda是一个开源的视频平台,能够处理视频的uploading、encoding与streaming。所有处理过程都通过REST API完成。Panda设计运行在云计算平台中,利用Amazon的Web服务群来实现。因此你需要有Amazon Web Services账号。Panda使用SimpleDB来存储所有视频数据和账号。Panda支持Flash的FLV、h264格式和iphone格式等。Panda使用
3. OpenVideoPlayer
采用Adobe Flash与Microsoft Silverlight开发的开源Web视频播放器。

4. Xe-VideoGalV3 FX
Xe-VideoGalV3 FX是一个开源的Flash视频播放器。该播放器能够展示多部电影中某一画面的缩略图,供用户选择播放。支持在视频上添加一个透明的消息提示框。下载FLV文件。调整播放器屏幕大小等。
5. ToobPlayer
ToobPlayer是一个轻量级(大约14-8KB)FLV播放器组件。支持图像预览,播放窗口大小调整,全屏播放模式,加载状态条提醒,支持鼠标滚轮播放进度/播放声音高低,自动重播,时间缓冲。
6. FlowPlayer
FlowPlayer是一个开源的Flash视频播放器。提供所有你可能需要的功能并且这些功能都可以通过JavaScript按你的实际需求进行配置。提供良好的用户体验,支持预加载,长时间播放,播放列表,全屏播放模式等。
7. JCPlayer (演示地址)
JCPlayer是一个免费的Flash视频文件播放器。该播放器支持全屏播放,并且所有功能都完全可自定义包括默认可用的皮肤。

发起人
无悔这一生
论坛详细资料
 
初级工程师
 
Rank: 4
 
开始时间
2010-4-13 16:06

QQ

采纳率
-  /  -
结帖率
9帖  /  100%
帖子
654 
精华
无忧币
0  
在线时间
98 小时 
注册时间
2009-10-30 
最后登录
2010-12-7 

 
  • 返回列表
 发新话题
  • 主题回复
:loveliness: 
不懂!!!!
呵呵!!!
学习中。。。。。。
不太懂。楼主网上没找到吗?
版主,好多英文,不懂!播放flv格式的播放器是否可以播放MP3呢?
1:这7个你可以直接下载下来研究.
2:既然是FLV格式的播放器,又怎么用来播放MP3呢。
优酷他们的做法是将用户上传的视频或者音频进行了转码,统一转换成FLV再进行播放。要想支持所有的视频格式,不是不行,用flash制作一个视频播放器甚至连adobe flash软件自身都提供了一个样例,但是flash仅仅是个壳,要对不同的视频解码还是要依赖于用户的计算机环境。所以网上很多视频分享类的网站,为了让所有的人能够正常浏览,强制会规定必须是flv格式的。
我只是想做成像优酷那样,可以进行观看,下载,不知道怎么实现的?
要按照优酷那样做?这会涉及到很多方面。
第一:提供用户上传格式的视频
第二:服务端后台驻留程序对上传的视频进行压片,转换格式等等,优酷在视频加上水印也是在这个时候。
第三:自己设计的一款FLV播放器对压缩转换后的视频进行播放(参照我在1楼给出的7个播放器)
第四:你为什么对下载这么耿耿于怀呢?我都不用管优酷他是怎么下载的,我想告诉你的是,你花点时间去了解一下通过Response.ContentType再去考虑怎么提供下载。
谢谢版主的解答!
还有这个:


http://www.oschina.net/question/82801_144189



请问类似优酷网的视频分段播放,是如何实现的?原理是怎样的?

如图:进度条有一些进度控制白点,鼠标移动到白点上,还可以出现该播放点的文字介绍

(视频不需要分段,只要进度条上又白点控制就行。)


programticprogramtic
发帖于 2年前
9回/1719阅
标签: <无>
  • 举报 
  • | 分享到
0收藏(1)

按票数排序  显示最新答案  


共有9个答案 (最后回答: 2年前 )

    0
  • pikeman_ff
    应该是前端js加后端视频截图吧,没做过,纯属猜测。
    --- 共有 1 条评论 ---
    • 傲罗那个是flash内部的,跟js应该没啥关系 (2年前)  
    评论(1)| 引用此答案| 举报| 来自 Android (2014-02-20 23:00)
    0
  • 冬瓜1
    应该是有js截图
    评论(0)| 引用此答案| 举报 (2014-02-21 07:49)
    0
  • CorsAirs
    flash写的吧,可能初始化请求的时候,flash接收到这个视频要分多少段,每段截图图片地址等,等用户触碰到这个点就去加载这个图片,视频本身加载和这个是异步;我个人猜想。
    评论(0)| 引用此答案| 举报 (2014-02-21 09:07)
    0
  • OSC首席键客
    中间还插播广告!卧槽!
    评论(0)| 引用此答案| 举报 (2014-02-21 09:08)
    0
  • 南湖船老大
    这个你得反编译他的flash
    评论(0)| 引用此答案| 举报 (2014-02-21 09:14)
    0
  • Zoker
    跟js没关系吧,你鼠标移上去不只是图片图片,还会在小框播放,关于那个介绍,肯定是编辑的事情咯,应该是flash 实现的
    --- 共有 1 条评论 ---
    • programtic对,确实是flash实现的,熟悉flash开发的话,应该比较容易实现。 (2年前)  
    评论(1)| 引用此答案| 举报| 来自 Android (2014-02-21 09:16)
    0
  • darkmi
    该技术被称为视频切片。通过时间轴信息和切片信息进行关联。另外还有视频打点,添加的是文本描述。
    --- 共有 1 条评论 ---
    • programtic谢谢, (2年前)  
    评论(1)| 引用此答案| 举报 (2014-02-21 09:37)
    0
  • moli
    程序自动切割好,播放器配合好。其实也是省宽带。既要保证用户观看体验,又要防止宽带用了,视频没看完就关了。
    评论(0)| 引用此答案| 举报| 来自 iPhone (2014-02-21 09:43)
    0
  • -卓然-

    界面上白点是界面显示相关的,分段播放可以用HLS实现,

    查看介绍 http://zh.wikipedia.org/zh/HTTP_Live_Streaming

    M3U8文件生成参考

    http://www.camnpr.com/archives/943.html

    http://blog.leepood.com/production-of-multi-bitrate-the-hls-m3u8-list

    http://www.cnblogs.com/haibindev/archive/2013/01/30/2880764.html

    --- 共有 1 条评论 ---
    • programtic非常感谢。 (2年前)  

请问类似优酷网的视频分段播放,是如何实现的?原理是怎样的?

如图:进度条有一些进度控制白点,鼠标移动到白点上,还可以出现该播放点的文字介绍

(视频不需要分段,只要进度条上又白点控制就行。)


programticprogramtic
发帖于 2年前
9回/1719阅
标签: <无>
  • 举报 
  • | 分享到
0收藏(1)

按票数排序  显示最新答案  

0 0
原创粉丝点击