将 FMS RTMP 直播流转换为 BlackBerry 的 RTSP

Posted

技术标签:

【中文标题】将 FMS RTMP 直播流转换为 BlackBerry 的 RTSP【英文标题】:Converting FMS RTMP Live stream to RTSP for BlackBerry 【发布时间】:2012-08-14 18:56:40 【问题描述】:

有没有办法将 RTMP 实时流从 FMS 4.5 转换为 BlackBerry 应用程序的 RTSP?我部署了 FMS 4.5 服务器,希望通过本机应用程序向 BlackBerry 用户启用实时流媒体,根据 BlackBerry 文档,可以在 BlackBerry 设备上支持实时流媒体的唯一协议是 HTTP 和 RTSP。

BlackBerry Support for media streaming

【问题讨论】:

你尝试了什么?第一次搜索给出了***.com/questions/4010019/rtsp-to-rtmp-streaming 这是 RTSP 到 RTMP 但很可能你会找到离你最近的答案。 【参考方案1】:

您可以在 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)

【讨论】:

以上是关于将 FMS RTMP 直播流转换为 BlackBerry 的 RTSP的主要内容,如果未能解决你的问题,请参考以下文章

无法使用 FMS 直播 H.264 视频

如何将实时 RTMP 视频转换为实时 mp3 Icecast 流

rtmp的媒体流直播能否转换成http,mms,rtsp直播?

FME突然无法连接FMS服务器

使用 FMS、Wowza 等的多个直播视频发布者?

使用Nginx+ffmpeg搭建直播点播服务器