Board logo

标题: [技术文章] 利用网络进行电视共享 [打印本页]

作者: shillan    时间: 2005-12-24 15:45     标题: 利用网络进行电视共享

  信息共享是网络时代的主旋律之一,什么文件共享了、打印机共享了以及其他软件资源的共享了,已经不在是什么新鲜事儿了,充分利用这些共享,人们可以极大地提高自己的办公效率。伴随着流媒体技术的逐步成熟,音频共享、视频共享的“脚步”也悄然走来,但对于电视节目共享不知大家有没有听说过,相信很少有用户尝试过对电视节目进行共享过,要是大家想感受一下的话,不妨看看下面的内容。在这里,笔者就以一张视频采集卡,来教大家自己去体验电视节目被共享的快乐。

  1、在进行共享之前,用户必须先准备一台性能高的、安装有windows 2000 server操作系统的计算机,因此呆会笔者就要将这台计算机作为电视节目共享访问时的服务器。

  2、选择合适型号的视频采集卡。笔者在这里以leadtek的winfast tv2000视频采集卡为例,因为该视频采集卡可运行在win98以上版本的各种操作系统环境中,工作时不大容易出现错误;要是选用其他型号的视频采集卡,可能会因系统兼容的问题让电视节目共享无法顺利实施。

  3、将事先准备好的视频采集卡正确地安装在服务器中。winfast tv2000视频采集卡的安装过程非常简单,安装时大家只要先关闭服务器的电源,接着将该视频卡直接插入到服务器的合适插槽中,插好卡后接通服务器的电源,稍后windows 2000可以自动识别出winfast tv2000视频采集卡,随后用户只要按照屏幕上的向导提示,来安装好视频采集卡的驱动程序和其他应用程序就可以了。

  4、为作为服务器的计算机准备一条有线电视线路。要想让作为服务器的计算机也能收到有线电视节目的话,除了要正确地安装好视频采集卡之外,还要另外准备一条有线电视线路,将有线电视线路的接口直接连接到视频卡的接口上,这样计算机这时候就能够通过相关软件来收看电视节目乃至收听收音机了。而winfast tv2000程序一旦运行之后,服务器系统就会自动进行频道搜索,以发现所有可播放的电视节目内容了。

  5、到这里为止,我们就已经完成了让服务器端计算机播放电视节目的任务了!不过要是希望局域网内的其他用户也能共享访问到服务器端计算机播放的电视节目的话,还要继续下面的设置步骤。

  6、下载windows media解码器9.0。为了能让服务器端计算机向其他客户端的计算机提供容易使用、高品质编码、增强的可程序化与管理的网络现场播放或需求播放服务,大家还必须在服务器中下载安装一款windows media解码器,尽管windows 2000 server有自带这种解码器的,不过它的版本较低,因此笔者建议使用windows media解码器最新的9.0版。大家可以直接到http://as.onlinedown.net/down/wmencoder.exe处去下载,文件大小为9.2m左右。

  7、在服务器端安装解码器。下载好windows media解码器9.0后,直接用鼠标双击安装文件,随后系统会打开标准的windows程序安装向导对话框,大家只要按提示进行操作,就能轻松完成该解码器的安装工作;不过在安装之前,大家应该确保服务器中安装有directx 8.1以上版本的程序,否则用户将无法正确安装windows media解码器9.0。

  10、完成安装后,我们还必须对windows media解码器9.0进行合适的配置,这样客户端的计算机才能正确访问到服务器中的电视节目。运行windows media编码器程序后,大家可以直接进入其参数设置窗口,在具体配置时,大家可以先单击“设备选项”标签,然后在这个标签页面中确保将“视频”和“音频”选为相应的设备。

  11、接着再用鼠标单击配置界面中的“广播连接”标签,在随后打开的标签页面中,大家要确保将可以所分配的http端口值(在缺省状态下端口号为8080),与其他访问端口不能发生冲突,不然的话,网内的其他用户就不能访问到电视节目了。

  12、返回到windows media编码器的配置界面,再用鼠标左键单击其中的“配置文件选择”标签,并在随后打开的配置窗口中将“局域网、电缆调制解调器及xdsl视频”选项选中;完成了上面几个主要参数的配置后,大家就能打开windows media编码器的主操作界面了;在该界面中,大家可以选择好要转播给客户端的电视节目,然后用鼠标单击主操作界面的“开始”按钮,这样服务器端的电视节目就被共享了。

  13、一旦服务器端的电视节目被共享后,局域网内的其他客户端机器就能够访问共享电视节目了;不过在正式访问之前,大家还必须在工作站中做一点小设置:首先在开始菜单中打开windows media player媒体播放器,并在该程序界面中依次执行“文件”/“打开”命令,在随后出现的打开对话框中直接输入服务器端的地址信息,其地址格式为“mms://xxx.xxx.xxx.xxx:8080”。

  14、在这里笔者建立的电视服务器的ip地址假设为“168.160.133.61”,那么大家就必须在打开对话框中输入“mms://168.160.133.61:8080”,输入完毕后单击“确定”按钮,这样客户端就能欣赏到服务器中共享的电视节目了。

  15、通过上面的步骤,我们就能轻松完成电视节目被网络共享的目的了;不过,这种共享方法有一点缺憾,那就是用户在客户端无法任意访问服务器中的电视节目,被访问的内容只能由服务器事先指定。
作者: shillan    时间: 2005-12-24 16:12

当需要在 intranet 上发布多媒体演示时,大多数开发人员都考虑预先录好内容,然后对其进行数字化处理,再将其以多媒体文件(比如 mp3)的方式交给大家。然而,1000个并发用户请求同一个文件会给网络带来很大的负担。

    使用 windows media 9 server,你可以将实况广播做成一个多播来提供服务。这意味着只有一个流为请求它的客户提供服务。实况广播的一个缺点是它们难于实现。但是,有了windows media encoder 9 series,这就简单了,而encoder 是一个可扩展组件,你可以通过编写脚本为广播员创建更具体解决方案。在这篇文章中,我将使用windows media encoder 9 引擎(encoder)从 web 页面创建一个实况多媒体广播。我还会创建一个客户页面来接收广播,以及自定义命令和字幕。

    encoder 是一个可从微软下载的批处理脚本组件;它还是一个单独运行的可执行文件。encoder 可以架设起实况广播服务器,还可以将负载推到一台windows media server。在这个例子中,我将在本地计算机上架设广播服务器。我的机器运行的是带 iis 5.0 的 windows xp professional。首先要做的事情是创建一个配置文件,这个配置文件是一个以 .wme 为扩展名的 xml 文件。

    为了减轻手工创建配置文件的负担,我启动 encoder 并按照其向导创建了一个实况广播。第一个屏幕询问视频和音频输入设备,我有一个 web 摄像头和一个麦克风,所以我从下拉列表中选择了摄像头并使用默认的音频设备。然后它询问你是想要将内容放到 windows media server 上,还是想让客户机连接到你的计算机获取内容。

    对于我的这个例子,我选择后者。我接受默认的 http 端口并继续。在接下来的屏幕上,你可以设置希望广播的音频和视频的质量。(请记住,质量越高,需要的带宽就越多。)视频我选择 live broadcast,音频我选择 voice quality。下一屏问你是否希望归档广播数据以备后用。如果你正在制作执行官的广播并希望存储文件的话,这个设备就显得十分重要。然而,在我的 pc 上,这样做会吃光我的硬盘空间,所以我跳过了归档选项。最后,跟随向导的屏幕直到最后并点击 finish。

    请检查你的摄像头,以确保它正在采集视频数据,然后从 view 菜单中选择 audio panel 确保你的麦克风正在采集音频数据。你应该看一下音量指示器,当你说话时它将上下变动。点击工具栏中的 properties 宾馆或者从 view 菜单中选择properties panel。在sources 选项卡中,选择“both device and file” source from选项。然后选中 script 复选框。(如果使用自定义命令,这将非常重要。)保存配置文件并将其部署到你的本地站点上。

    现在你已经有了配置文件,你可以通过脚本运行 encoder 引擎来创建一个更加具体的用户体验,并避免让广播员学习如何使用 encoder;然而,encoder 引擎必须在广播员的计算机上。

    下面是完成自定义广播的 html 页面:

    <html>
    <head>

    var g_objencoder = new activexobject("wmenceng.wmencoder");
    g_objencoder.load("http://localhost/config.wme");

    function start() {
        g_objencoder.start();
    }
    function stop() {
        g_objencoder.stop();
    }
    function sendurl(url) {
        g_objencoder.sendscript(0, "url", url + "&&frame2");
    }
    function sendcmd(cmd) {
        g_objencoder.sendscript(0, "text", cmd);
    }
    function sendcaption(msg) {
        g_objencoder.sendscript(0, "caption", msg);
    }
    </script>
    </head>
    <body>
    <button onfiltered="start()">begin broadcast</button>
    <button onfiltered="stop()">end broadcast</button><br>
    <input type="text" name="txturl" id="txturl" size="50"><br>
    <button onfiltered="sendurl(txturl.value)">go url</button><br>
    <textarea id="txtmsg" rows="5" cols="80" scroll="off"></textarea><br>
    <button onfiltered="sendcaption(txtmsg.value.replace(/\n/g, '<br>'))">send
     caption</button><br>
    <button onfiltered="sendcmd('showalert')">show alert box</button>
    </body>
    </html>

    将这做成一个 web 页面是为了简单。在 html 中快速设置用户界面要比创建自定义应用程序容易。为了使这个页面能够工作,必须允许不安全的 activex 控件初始化和运行,但是它会显示可用的功能。

    因为所有的配置信息都包含在配置文件中(该配置文件在 activex 组件被创建时被装载),广播员不需要配置广播环境。所有要做的只是开始和结束广播。

    前面的 html 创建一个具有两个按钮的页面,这两个按钮分别用于开始和停止广播。页面还有一个用于输入 url 的文本域和一个相应的按钮,这个按钮允许你从客户的浏览器导航到指定的 url。页面还有一个<textarea> 和一个相应的按钮,这个按钮允许广播员发送“字幕”给客户,还有一个按钮用于向客户发出命令,发出的命令由客户端 html 的jscript 块处理。

    在第二部分中,我将创建用于接收内容的客户端 html 页面。
作者: shillan    时间: 2005-12-24 16:17

当需要在 intranet 上发布多媒体演示时,大多数开发人员都考虑预先录好内容,然后对其进行数字化处理,再将其以多媒体文件(比如 mp3)的方式交给大家。然而,1000个并发用户请求同一个文件会给网络带来很大的负担。 使用 windows media 9 server,你可以将实况广播做成一个多播来提供服务。这意味着只有一个流为请求它的客户提供服务。实况广播的一个缺点是它们难于实现。但是,有了windows media encoder 9 series,这就简单了,而encoder 是一个可扩展组件,你可以通过编写脚本为广播员创建更具体解决方案。在这篇文章中,我将使用windows media encoder 9 引擎(encoder)从 web 页面创建一个实况多媒体广播。我还会创建一个客户页面来接收广播,以及自定义命令和字幕。 encoder 是一个可从微软下载的批处理脚本组件;它还是一个单独运行的可执行文件。encoder 可以架设起实况广播服务器,还可以将负载推到一台windows media server。在这个例子中,我将在本地计算机上架设广播服务器。我的机器运行的是带 iis 5.0 的 windows xp professional。首先要做的事情是创建一个配置文件,这个配置文件是一个以 .wme 为扩展名的 xml 文件。 为了减轻手工创建配置文件的负担,我启动 encoder 并按照其向导创建了一个实况广播。第一个屏幕询问视频和音频输入设备,我有一个 web 摄像头和一个麦克风,所以我从下拉列表中选择了摄像头并使用默认的音频设备。然后它询问你是想要将内容放到 windows media server 上,还是想让客户机连接到你的计算机获取内容。 对于我的这个例子,我选择后者。我接受默认的 http 端口并继续。在接下来的屏幕上,你可以设置希望广播的音频和视频的质量。(请记住,质量越高,需要的带宽就越多。)视频我选择 live broadcast,音频我选择 voice quality。下一屏问你是否希望归档广播数据以备后用。如果你正在制作执行官的广播并希望存储文件的话,这个设备就显得十分重要。然而,在我的 pc 上,这样做会吃光我的硬盘空间,所以我跳过了归档选项。最后,跟随向导的屏幕直到最后并点击 finish。 请检查你的摄像头,以确保它正在采集视频数据,然后从 view 菜单中选择 audio panel 确保你的麦克风正在采集音频数据。你应该看一下音量指示器,当你说话时它将上下变动。点击工具栏中的 properties 宾馆或者从 view 菜单中选择properties panel。在sources 选项卡中,选择“both device and file” source from选项。然后选中 script 复选框。(如果使用自定义命令,这将非常重要。)保存配置文件并将其部署到你的本地站点上。 现在你已经有了配置文件,你可以通过脚本运行 encoder 引擎来创建一个更加具体的用户体验,并避免让广播员学习如何使用 encoder;然而,encoder 引擎必须在广播员的计算机上。 下面是完成自定义广播的 html 页面: var g_objencoder = new activexobject("wmenceng.wmencoder"); g_objencoder.load("http://localhost/config.wme"); function start() { g_objencoder.start(); } function stop() { g_objencoder.stop(); } function sendurl(url) { g_objencoder.sendscript(0, "url", url + "&&frame2"); } function sendcmd(cmd) { g_objencoder.sendscript(0, "text", cmd); } function sendcaption(msg) { g_objencoder.sendscript(0, "caption", msg); }




将这做成一个 web 页面是为了简单。在 html 中快速设置用户界面要比创建自定义应用程序容易。为了使这个页面能够工作,必须允许不安全的 activex 控件初始化和运行,但是它会显示可用的功能。 因为所有的配置信息都包含在配置文件中(该配置文件在 activex 组件被创建时被装载),广播员不需要配置广播环境。所有要做的只是开始和结束广播。 前面的 html 创建一个具有两个按钮的页面,这两个按钮分别用于开始和停止广播。页面还有一个用于输入 url 的文本域和一个相应的按钮,这个按钮允许你从客户的浏览器导航到指定的 url。页面还有一个