日期:2014-05-17  浏览次数:20818 次

(转载)用Windows Media 编码器实现现场直播的几点突破
看了很多文章,发现这篇写的很好,思路清晰。使我也对现场直播有了个更直观的认识。不过需要硬件和某些驱动的支持。直播测试暂时还没有做出来。先把这篇文章保存一下了。

一、用Windows Media编码器实现实况转播的原理:Windows Media 编码器以实况信息作为源信息,实况信息源是能够输入到音频或视频卡的任何设备,包括 CD 播放机、麦克风、 VCR 或摄影机。Windows Media编码器把从音频或视频卡中输入的音、视频内容转换为实况 ASF 流(Advanced Streaming Format (ASF) / 高级流格式,用于流式音频内容、视频内容、图象以及脚本命令的一种数据格式,以数据包的形式通过网络传输。ASF 内容可以是一个 .asf 文件或 Windows Media 编码器生成的实况流。处于通过网络传送过程中的 ASF 内容称为 ASF 流)。Windows Media 编码器将实况音频和视频内容转换成 ASF 流以后将其通过某个端口进行分发。我们在客户端浏览器中输入“mms://服务器IP地址”进行访问。

二、所需软硬件条件:服务器一台(或档次比较高一点的微机一台)、视频采集卡(如Osprey 多媒体采集卡)、摄像机一台。服务器最好安装Windows 2000 server操作系统。把采集卡安装到服务器的空闲插槽中,用音频线和视频线把摄像机的音视频信号分别接到视频采集卡的音视频输入上。为视频采集卡安装上驱动程序,安装完驱动程序后,在采集卡的控制面板中设置视频输入和视频模式。安装Windows Media编码器,如果没有,我们可以去微软网站http://www.microsoft.com/china/msdownload/media /default.asp去下载最新的Windows Media 编码器 9.0。

三、设置步骤:
1、启动Windows Media 编码器,弹出“新建会话”向导,选择“广播实况事件”;单击“确定”按钮出现向导的“设备选项”对话框,在此对话框的下拉列表中你可以选择所需要的视频和音频设备(如果你的采集卡不支持编码器的话,在视频下拉列表中就不会显示你的设备名称),此处我们选择Osprey,音频设备可以选择服务器自带的声卡也可以选择采集卡(如果你的采集卡视、音频输入都有);单击“下一步”按钮出现向导的“广播方法”对话框,我们选择“自编码器拉传递(服务器或播放机初始化连接)(U)”;单击“下一步”按钮出现向导的“广播连接”对话框,默认的Http端口为8080,我们一般不选用这一个,单击“查找可用端口”按钮,系统自动为我们设置了另一个端口,比如说是1203;单击“下一步”按钮出现向导的“编码选项”对话框,在“比特率”里面我们选择比较高的一个(因为是在局域网里面,带宽比较充足),比如选择“1128Kbps 25fps 384x288”;单击“下一步”按钮出现向导的“存档文件”对话框,如果你想把实况内容保存到硬盘上可以设置此项,如果不想保存到硬盘可以直接单击“完成”按钮,编码器开始工作(开始编码),此时如果你的摄像机如果打开,视音频线路如果连接正确,就会在Windows Media编码器视频窗口中显示出实况的内容,音频窗口中不断变化显示的是音频电平的高低。如果服务器的IP地址是172.20.1.1,此时我们可以在客户端浏览器中输入“mms://172.20.1.1: 1203”(注意不要忘了端口号),客户端自动启动Windows media player播放器,播放器首先从微软网站上下载编码解码器安装到系统里面,缓冲完毕以后即可收听和看到实况内容。
2.如果想调整实况转播的属性,我们可以先在Windows Media编码器窗口中点击“停止”按钮,编码起停止编码。点击“属性”按钮出现“会话属性”对话框,在“源”选项卡里面可以调整实况转播的名称,在“属性”选项卡里面可以调整实况转播的标题、作者、版权等信息,使其随实况一起转播出去。其它的选项卡可以在使用时根据需要自行设置,设置完毕重新点击“开始编码”,编码器即根据重新设置的属性开始工作。
以上列出了利用Windows Media编码器实现的一个简单的局域网内实况转播的过程,如果你想实现更加强大的功能,如网上电视台、视频点播等,你可以再深入的学习有关 Windows Media编码器和Windows Media 服务的内容。


转自:http://jileniao.net/Jileniao-Technology/20090516137/