找回密码
 开放注册
查看: 915|回复: 1

用于直播不错

[复制链接]
发表于 2006-4-7 21:45:24 | 显示全部楼层 |阅读模式
第一,关于文件直播。

可以分成两种情况。

1. 利用producer压缩来直播。

    这种情况源视频是producer里所支持的视频,通过第三方解码器还可以为VOB等其他格式文件。

    这种很多朋友都会了,跟电视直播相同,只是源不同而已,上面引用的那个贴子里也说得很明白了。

2.  SLTA(Simulated Live Transfer Agent) 文件的模拟直播。

     这种情况源视频只能是Helix Server支持的流文件 rm、rmvb、asf、wmv、mov、mp4…据我分析应该是这类的文件。

    这种方式可以看看下面的文字,也是这个论坛里转载的,不知出处,作者莫怪。这种方式本人也没有实践过,供大家参考。

   


[探讨]关于实现文件的模拟直播
使用Helix是趋势,所以是以此为基础的,先说说我的体会,然后请大家指教。

第一步目的,完成对文件的实时广播,为了简便都是用音乐文件作例子。完成文件的模拟直播采用Simulated Live Transfer Agent (SLTA) ,该程序位于 X:\Program Files\Real\Helix Server\Bin目录下,有slta.bat slta.exe 两个文件,使用slta.bat ,运行slta.bat /? 可以得到命令参数。

他有基本模式和高级模式两种,首先要弄清楚基本模式,所以现今仅仅探讨基本模式。进入Dos窗体,到 slta.bat的目录下,运行:

slta.bat IP Port User Pass l.rm r.rm

IP:  是你运行slta所在服务器的IP
Port:你安装Helix的http端口,我的是8080
User:你登录Helix管理的账号,我的是sa
Pass:密码,我的是 :)  :)
l.rm:你命名的直播文件,是个虚拟文件
r.rm:拷贝到当前目录需要广播的文件,你也可以指定具体的位于其它目录路径

运行后会出现:
SLTA.EXE - Live Broadcast Simulation Utility

Executing SLTA with
host=10.70.71.248, port=8080, userid=sa, password=******
live_file=l.rm, playlist_file=r.rm

SLTA (c) 2001-2002 RealNetworks, Inc. All rights reserved
Transmitting r.rm...
0----1----2----3----4----5----6----7----8----9----10
***************************************************
Transmitting r.rm...

说明正常了,现在在RealPlay中打入地址 rtsp://IP:8080/broadcast/l.rm 就能收到广播。
r.rm 可以是 mp3,mp4,wma等等,Helix的说明要求此刻,l.rm的扩展名也要相应变化,实际上我的测试是不变也一样。只是wma等微软的必须要用 mms在mediaplay里播放,但是路径不能是汉字,而rm的就可以是汉字(哎,没有办法,不知道其中的玄机)。

如果有多个文件循环,r.rm变成 r.txt,r.txt是你建立的文本文件,格式如下:

title: 广播测试
author: 网迷
copyright: 随便盗版
你的第1个文件路径?title="haha1"
你的第2个文件路径?title="haha1"
......

前3行可以省略,同样对media的不支持汉字路径。路径后面?以后部分是分别指定每个文件的标题,可以省略。

我的问题是不想使用8080的http端口,想使用4040口,可是Port改成4040就总是失败,提示:
Authentication/Connection with Server failed, please check username and password
.Done.
实际账号是有效的,怀疑是否因为没有配置接受服务器,但配置后还是不行,希望能得到大家的指点,这个问题如能解决,便想进入高级模式,简单试过高级模式,服务起来了,可是收不到广播,所以还是先把基本模式和主要概念弄清楚吧。 谢谢大家了!

中午睡过一觉,脑袋清醒了,又犯个糊涂错误,slta.bat IP Port User Pass l.rm r.rm中的Port可以是 554 7070 或 1755 即你定义过在Helix中使用的端口,用4040当然失败了,它不是播放的侦听端口呀。用554时,rtsp://IP/broadcast/l.rm 就可收听,1755时 mms 就可以收听。

把slta.exe, .bat拷贝过来,拷贝lib和plugins目录,然后可以在任意机器上运行。

基本模式,IP是Helix服务所在的机器,slta和Helix可以是不同的机器。
路径broadcast是Helix服务的广播加载点。
slta.bat 10.10.66.8 554 sa ******* l.rm r.rm
slta.bat 10.10.66.8 7070 sa ******* l.rm r.rm
slta.bat 10.10.66.8 8080 sa ******* l.rm r.rm
只要是设定的合法端口,用下面的路径均能成功接收。
rtsp://10.10.66.8/broadcast/l.rm

只要Real能识别的,都能这样广播,如:
slta.bat 10.10.66.8 554 sa ******* l.rm 365.mp3

wma,wmv需要media player播放,如:
slta.bat 10.10.66.8 554 sa ******* l.rm w.wma
slta.bat 10.10.66.8 7070 sa ******* l.rm w.wma
slta.bat 10.10.66.8 8080 sa ******* l.rm w.wma
mms://10.10.66.8:554/broadcast/l.rm
mms://10.10.66.8:7070/broadcast/l.rm
mms://10.10.66.8:8080/broadcast/l.rm

slta.bat 10.10.66.8 1755 sa ******* l.rm w.wma
mms://10.10.66.8/broadcast/l.rm

高级模式(推送广播):
首先要对Helix设置接收服务,在广播分发的接收服务器中,设置:
加载点:            /broadcast/
送服务器名 :       7ctv  (自己任意取名)
传送服务器地址:    是运行slta机器的IP,位于同一机可以用127.0.0.1
传送服务器子网掩码 :32(255.255.255.255)
端口范围:            30001 - 30020
传输方式 :           udp/unicast
其它都默认,不用设置

在slta所在目录建立文件tr.cfg,可以使用提供的slta.cfg模板,内容如下:
<List Name="BroadcastDistribution">             '不要更改此行,现在设置的是slta推广播
'定义名称,要与Helix设置的名称相同,如同时运行多个cfg配置,该名称不要同名
    <Var SourceName="7ctv"/>                    
    <List Name="Destinations">
        <List Name="TestReceiver">
            <Var PathPrefix="*"/>               '前缀是虚目录,选默认值。复杂的配置可以设定
            <Var PortRange="30001-30020"/>
            <Var AcquisitionDataInterval="30"/>
            <Var FECLevel="0"/>
            <Var SureStreamAware="0"/>
     <Var BufferlessTransport="1"/>
            <Var LocalAddress="0.0.0.0"/>       '设定本机使用的IP

            <Var Address="10.10.66.8"/>         'IP要指向Helix服务的IP
            <Var Protocol="udp/unicast"/>       '要与Helix的设置相同
            <Var TTL="16"/>
            <Var ResendSupported="0"/>
            <List Name="Security">              '设置是否需要密码认证  
                <Var Type="None"/>
            </List>
        </List>
'如果同时还想向其它Helix同时推送广播,拷贝一份设置段如下:
        <List Name="TestReceiver">
            <Var PathPrefix="*"/>               '前缀是虚目录,选默认值。复杂的配置可以设定
            <Var PortRange="30001-30020"/>
            <Var AcquisitionDataInterval="30"/>
            <Var FECLevel="0"/>
            <Var SureStreamAware="0"/>
     <Var BufferlessTransport="1"/>
            <Var LocalAddress="0.0.0.0"/>       '设定本机使用的IP

            <Var Address="10.10.66.6"/>         'IP要指向Helix服务的IP
            <Var Protocol="udp/unicast"/>       '要与Helix的设置相同
            <Var TTL="16"/>
            <Var ResendSupported="0"/>
            <List Name="Security">
                <Var Type="None"/>
            </List>
        </List>

    </List>
</List>
如果,多个Helix服务安装在同一台机器上了,只要依次对Helix进行相同的接收设置就可以了,
不用对slta这边进行多余的设置。
启动广播:
slta.bat -c tr.cfg l.rm r.rm
rtsp://10.10.66.8/broadcast/7ctv/l.rm
rtsp://10.10.66.6/broadcast/7ctv/l.rm
rtsp://10.10.66.6:555/broadcast/7ctv/l.rm 因为这上有2套Helix服务,其它端口如7071,8081都能播放

对于wma,wmv:
slta.bat -c tr.cfg l.rm w.wma
mms://10.10.66.8/broadcast/7ctv/l.rm ; mms://10.10.66.8:554/broadcast/7ctv/l.rm
mms://10.10.66.6/broadcast/7ctv/l.rm ; mms://10.10.66.6:554/broadcast/7ctv/l.rm
但是第二套服务不像rm那样,没有成功,原因不明,暂时也不想深究,此外效果也没有rm好,不知道是否恰好

网络状态不好,也不管了。
mms://10.10.66.6:1756/broadcast/7ctv/l.rm
mms://10.10.66.6:555/broadcast/7ctv/l.rm

参考:http://service.real.com/help/lib ... s/iqslta.htm#146995

关于拉广播的经验,有时间我试验后再说。 :)也许没有时间去试验,因为暂时我不需要。 :)
 楼主| 发表于 2006-4-7 21:45:24 | 显示全部楼层 |阅读模式
第一,关于文件直播。

可以分成两种情况。

1. 利用producer压缩来直播。

    这种情况源视频是producer里所支持的视频,通过第三方解码器还可以为VOB等其他格式文件。

    这种很多朋友都会了,跟电视直播相同,只是源不同而已,上面引用的那个贴子里也说得很明白了。

2.  SLTA(Simulated Live Transfer Agent) 文件的模拟直播。

     这种情况源视频只能是Helix Server支持的流文件 rm、rmvb、asf、wmv、mov、mp4…据我分析应该是这类的文件。

    这种方式可以看看下面的文字,也是这个论坛里转载的,不知出处,作者莫怪。这种方式本人也没有实践过,供大家参考。

   


[探讨]关于实现文件的模拟直播
使用Helix是趋势,所以是以此为基础的,先说说我的体会,然后请大家指教。

第一步目的,完成对文件的实时广播,为了简便都是用音乐文件作例子。完成文件的模拟直播采用Simulated Live Transfer Agent (SLTA) ,该程序位于 X:\Program Files\Real\Helix Server\Bin目录下,有slta.bat slta.exe 两个文件,使用slta.bat ,运行slta.bat /? 可以得到命令参数。

他有基本模式和高级模式两种,首先要弄清楚基本模式,所以现今仅仅探讨基本模式。进入Dos窗体,到 slta.bat的目录下,运行:

slta.bat IP Port User Pass l.rm r.rm

IP:  是你运行slta所在服务器的IP
Port:你安装Helix的http端口,我的是8080
User:你登录Helix管理的账号,我的是sa
Pass:密码,我的是 :)  :)
l.rm:你命名的直播文件,是个虚拟文件
r.rm:拷贝到当前目录需要广播的文件,你也可以指定具体的位于其它目录路径

运行后会出现:
SLTA.EXE - Live Broadcast Simulation Utility

Executing SLTA with
host=10.70.71.248, port=8080, userid=sa, password=******
live_file=l.rm, playlist_file=r.rm

SLTA (c) 2001-2002 RealNetworks, Inc. All rights reserved
Transmitting r.rm...
0----1----2----3----4----5----6----7----8----9----10
***************************************************
Transmitting r.rm...

说明正常了,现在在RealPlay中打入地址 rtsp://IP:8080/broadcast/l.rm 就能收到广播。
r.rm 可以是 mp3,mp4,wma等等,Helix的说明要求此刻,l.rm的扩展名也要相应变化,实际上我的测试是不变也一样。只是wma等微软的必须要用 mms在mediaplay里播放,但是路径不能是汉字,而rm的就可以是汉字(哎,没有办法,不知道其中的玄机)。

如果有多个文件循环,r.rm变成 r.txt,r.txt是你建立的文本文件,格式如下:

title: 广播测试
author: 网迷
copyright: 随便盗版
你的第1个文件路径?title="haha1"
你的第2个文件路径?title="haha1"
......

前3行可以省略,同样对media的不支持汉字路径。路径后面?以后部分是分别指定每个文件的标题,可以省略。

我的问题是不想使用8080的http端口,想使用4040口,可是Port改成4040就总是失败,提示:
Authentication/Connection with Server failed, please check username and password
.Done.
实际账号是有效的,怀疑是否因为没有配置接受服务器,但配置后还是不行,希望能得到大家的指点,这个问题如能解决,便想进入高级模式,简单试过高级模式,服务起来了,可是收不到广播,所以还是先把基本模式和主要概念弄清楚吧。 谢谢大家了!

中午睡过一觉,脑袋清醒了,又犯个糊涂错误,slta.bat IP Port User Pass l.rm r.rm中的Port可以是 554 7070 或 1755 即你定义过在Helix中使用的端口,用4040当然失败了,它不是播放的侦听端口呀。用554时,rtsp://IP/broadcast/l.rm 就可收听,1755时 mms 就可以收听。

把slta.exe, .bat拷贝过来,拷贝lib和plugins目录,然后可以在任意机器上运行。

基本模式,IP是Helix服务所在的机器,slta和Helix可以是不同的机器。
路径broadcast是Helix服务的广播加载点。
slta.bat 10.10.66.8 554 sa ******* l.rm r.rm
slta.bat 10.10.66.8 7070 sa ******* l.rm r.rm
slta.bat 10.10.66.8 8080 sa ******* l.rm r.rm
只要是设定的合法端口,用下面的路径均能成功接收。
rtsp://10.10.66.8/broadcast/l.rm

只要Real能识别的,都能这样广播,如:
slta.bat 10.10.66.8 554 sa ******* l.rm 365.mp3

wma,wmv需要media player播放,如:
slta.bat 10.10.66.8 554 sa ******* l.rm w.wma
slta.bat 10.10.66.8 7070 sa ******* l.rm w.wma
slta.bat 10.10.66.8 8080 sa ******* l.rm w.wma
mms://10.10.66.8:554/broadcast/l.rm
mms://10.10.66.8:7070/broadcast/l.rm
mms://10.10.66.8:8080/broadcast/l.rm

slta.bat 10.10.66.8 1755 sa ******* l.rm w.wma
mms://10.10.66.8/broadcast/l.rm

高级模式(推送广播):
首先要对Helix设置接收服务,在广播分发的接收服务器中,设置:
加载点:            /broadcast/
送服务器名 :       7ctv  (自己任意取名)
传送服务器地址:    是运行slta机器的IP,位于同一机可以用127.0.0.1
传送服务器子网掩码 :32(255.255.255.255)
端口范围:            30001 - 30020
传输方式 :           udp/unicast
其它都默认,不用设置

在slta所在目录建立文件tr.cfg,可以使用提供的slta.cfg模板,内容如下:
<List Name="BroadcastDistribution">             '不要更改此行,现在设置的是slta推广播
'定义名称,要与Helix设置的名称相同,如同时运行多个cfg配置,该名称不要同名
    <Var SourceName="7ctv"/>                    
    <List Name="Destinations">
        <List Name="TestReceiver">
            <Var PathPrefix="*"/>               '前缀是虚目录,选默认值。复杂的配置可以设定
            <Var PortRange="30001-30020"/>
            <Var AcquisitionDataInterval="30"/>
            <Var FECLevel="0"/>
            <Var SureStreamAware="0"/>
     <Var BufferlessTransport="1"/>
            <Var LocalAddress="0.0.0.0"/>       '设定本机使用的IP

            <Var Address="10.10.66.8"/>         'IP要指向Helix服务的IP
            <Var Protocol="udp/unicast"/>       '要与Helix的设置相同
            <Var TTL="16"/>
            <Var ResendSupported="0"/>
            <List Name="Security">              '设置是否需要密码认证  
                <Var Type="None"/>
            </List>
        </List>
'如果同时还想向其它Helix同时推送广播,拷贝一份设置段如下:
        <List Name="TestReceiver">
            <Var PathPrefix="*"/>               '前缀是虚目录,选默认值。复杂的配置可以设定
            <Var PortRange="30001-30020"/>
            <Var AcquisitionDataInterval="30"/>
            <Var FECLevel="0"/>
            <Var SureStreamAware="0"/>
     <Var BufferlessTransport="1"/>
            <Var LocalAddress="0.0.0.0"/>       '设定本机使用的IP

            <Var Address="10.10.66.6"/>         'IP要指向Helix服务的IP
            <Var Protocol="udp/unicast"/>       '要与Helix的设置相同
            <Var TTL="16"/>
            <Var ResendSupported="0"/>
            <List Name="Security">
                <Var Type="None"/>
            </List>
        </List>

    </List>
</List>
如果,多个Helix服务安装在同一台机器上了,只要依次对Helix进行相同的接收设置就可以了,
不用对slta这边进行多余的设置。
启动广播:
slta.bat -c tr.cfg l.rm r.rm
rtsp://10.10.66.8/broadcast/7ctv/l.rm
rtsp://10.10.66.6/broadcast/7ctv/l.rm
rtsp://10.10.66.6:555/broadcast/7ctv/l.rm 因为这上有2套Helix服务,其它端口如7071,8081都能播放

对于wma,wmv:
slta.bat -c tr.cfg l.rm w.wma
mms://10.10.66.8/broadcast/7ctv/l.rm ; mms://10.10.66.8:554/broadcast/7ctv/l.rm
mms://10.10.66.6/broadcast/7ctv/l.rm ; mms://10.10.66.6:554/broadcast/7ctv/l.rm
但是第二套服务不像rm那样,没有成功,原因不明,暂时也不想深究,此外效果也没有rm好,不知道是否恰好

网络状态不好,也不管了。
mms://10.10.66.6:1756/broadcast/7ctv/l.rm
mms://10.10.66.6:555/broadcast/7ctv/l.rm

参考:http://service.real.com/help/lib ... s/iqslta.htm#146995

关于拉广播的经验,有时间我试验后再说。 :)也许没有时间去试验,因为暂时我不需要。 :)
您需要登录后才可以回帖 登录 | 开放注册

本版积分规则

QQ|手机版|小黑屋|VBOL.cn ( 浙公网安备 33021202000496号 )

GMT+8, 2024-11-27 20:15 , Processed in 0.211550 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表