有没有办法将 RTMP 实时流从 FMS 4.5 转换为 BlackBerry 应用程序的 RTSP?我部署了 FMS 4.5 服务器,希望通过本机应用程序向 BlackBerry 用户启用实时流媒体,根据 BlackBerry 文档,在 BlackBerry 设备上支持实时流媒体的唯一协议是 HTTP 和 RTSP。
问问题
805 次
1 回答
0
您可以在 cgi 中使用 rtmpdump 并写入标准输出,不会是 rtsp,只是 http。这就是我在没有 Flash 的情况下使用 NBC 播放 rtmp 流的方式。该脚本以 rtmp 流作为参数调用。如:
http://example.com/cgi-bin/nbc.cgi?nbcv=url-minus-domain/movie.mp4
#!/usr/bin/env python
import cgi
import subprocess
rtmpdump='/usr/local/bin/rtmpdump';
# use the quiet switch we are writing the video to stdout.
quiet='-q';
# swf verification
swfUrlswitch='-s';
swfUrl='http://www.nbc.com/assets/video/3-0/swf/NBCVideoApp.swf';
rtmpUrlswitch='-r';
rtmpbase= 'rtmp://cp81777.edgefcs.net/ondemand/';
# grab the argument
a=cgi.FieldStorage()
rtmpUrl=rtmpbase+a.getvalue('nbcv');
pargs=[rtmpdump,quiet,swfUrlswitch,swfUrl,rtmpUrlswitch,rtmpUrl]
# http headers
if rtmpUrl[-3:]=='mp4':
print 'Content-Type: video/x-mp4'
if rtmpUrl[-3:]=='flv':
print 'Content-Type: video/x-flv'
# make sure you print a blank line after the header.
print ''
# call rtmpdump
subprocess.Popen(pargs)
于 2013-07-06T11:03:26.860 回答