lima Asked: 2010-02-07 20:56:30 +0800 CST2010-02-07 20:56:30 +0800 CST 2010-02-07 20:56:30 +0800 CST 实时流式传输外部 FLV 文件 772 我想从我创建的播放列表中播放实时视频,但实际的视频文件(.flv)存储在一些我无法管理的外部文件托管中,但它目前允许使用 Flash 播放器播放其内容(逐步)。 哪个是最好的解决方案?我可以使用我当前的网络服务器(Debian w/Apache)还是应该使用一些特定的服务器软件?我读过一些名字,如 Red5 和 Wowza,但我不知道这些是否是我实际问题的解决方案,或者我应该如何使用它们。此外,该项目的成本应尽可能低。 streaming video flash 2 个回答 Voted Valery Viktorovsky 2010-02-08T02:29:10+08:002010-02-08T02:29:10+08:00 您可以将 CDN 与 RTMP 和 RTMPT Flash Streaming 一起使用,例如Amazon CloudFront、 SimpleCDN等。 geocar 2010-04-30T13:19:39+08:002010-04-30T13:19:39+08:00 使用 flvstreamer 和ffserver。 flvstreamer 做它听起来的样子,而 ffserver 带有 ffmpeg,它可以让您从任何可以输入 ffmpeg 的内容中流式传输实时视频,如下所示: flvstreamer url | ffmpeg -i - http://127.0.0.1:8090/feed1.ffm ffserver 可以“输出”一个 flash 流——一个你会访问的 URL,比如http://site/video.swf或者你可以提供其他格式(比如 asf 或 mpg),ffmpeg 可以对其进行转码——如果你的计算机足够快的话- 实时。 然后你的“播放列表”本质上是一个flvserver|ffmpeg...命令列表,添加更多或添加更多流非常容易。 下面是我使用的配置文件。需要注意的一些事情:feed1.ffm 是一个“缓冲区”,而“最大大小”本质上是滞后的事情可以得到的程度。删除所有FileMaxSize记录,让您也可以对视频进行时移。 Port 8090 BindAddress 0.0.0.0 MaxClients 200 MaxBandwidth 4000000 <Feed feed1.ffm> File tmp/feed1.ffm FileMaxSize 10M ACL allow 127.0.0.1 </Feed> <Stream video.swf> Feed feed1.ffm VideoBitRate 500 VideoBufferSize 40 VideoGopSize 10 Format swf VideoSize 640x480 VideoFrameRate 10 VideoQMin 1 VideoQMax 4 VideoHighQuality NoAudio PreRoll 0 StartSendOnKey </Stream>
您可以将 CDN 与 RTMP 和 RTMPT Flash Streaming 一起使用,例如Amazon CloudFront、 SimpleCDN等。
使用 flvstreamer 和ffserver。
flvstreamer 做它听起来的样子,而 ffserver 带有 ffmpeg,它可以让您从任何可以输入 ffmpeg 的内容中流式传输实时视频,如下所示:
ffserver 可以“输出”一个 flash 流——一个你会访问的 URL,比如http://site/video.swf或者你可以提供其他格式(比如 asf 或 mpg),ffmpeg 可以对其进行转码——如果你的计算机足够快的话- 实时。
然后你的“播放列表”本质上是一个
flvserver|ffmpeg...
命令列表,添加更多或添加更多流非常容易。下面是我使用的配置文件。需要注意的一些事情:feed1.ffm 是一个“缓冲区”,而“最大大小”本质上是滞后的事情可以得到的程度。删除所有
FileMaxSize
记录,让您也可以对视频进行时移。