ale*_*lex 11 ubuntu ffmpeg video-streaming http-live-streaming ios
我刚刚意识到Apple需要HTTP Live Streaming才能在iPhone应用中查看视频.我之前没有意识到这一点......我现在正在努力了解这涉及到什么,所以我可以决定是否要做这项工作并在3G中提供视频或限制视频播放给与Wi-Fi连接的用户.
我阅读了Apple提供的概述,现在明白我的服务器需要对媒体文件进行分段和索引.我也明白,我不必托管内容以便能够流式传输(我可以指向其他地方托管的视频,对吧?).
在这一点上我不清楚的是在我的服务器上实现什么(Ubuntu Hardy)来实时进行实际的分段和索引(再一次,我没有主持我想要服务的视频).
我找到了一个解释如何安装FFmpeg和X264 的链接,但我不知道这是否是最好的解决方案(因为我有一个Ubuntu服务器,我不能使用Apple Live Streaming工具,它是否正确?).另外,我不明白我的服务器知道视频需要转换并开始工作......
任何反馈可以帮助我理解在服务器端做什么,以便能够在我的iPhone应用程序中流式传输视频,这将非常感谢!(哦,只是它有所不同,我的应用程序后端是在Rails中)
Rom*_*man 13
有几种竞争技术,但今天如果你想要任何文件兼容Apple设备(iPhone,iPad等)上的流媒体,那么HLS就是你要走的路.顺便提一下,大多数浏览器和Android也支持它,所以不是一个糟糕的起点.但请注意,尽管名称不适合流媒体直播内容.
除非你想要直播视频,否则你真的不需要red5或wowza或fms或类似的东西.HLS基本上是一组以不同比特率编码的短视频片段(例如每个5分钟),以及您在浏览器中为基于Flash或HTML5的播放器提供的m3u播放列表.您可以自行决定段长度或编码方式.
这是我见过的有关如何选择分辨率,比特率,分段大小等的最佳文章:http://www.streamingmedia.com/Articles/Editorial/Featured-Articles/Adaptive-Streaming-in-the-Field- 73017.aspx
从那里你只是创建一个目录结构,例如
/data/video/video_id/original.mp4 /data/video/video_id/quality1/chunk1.mp4 /data/video/video_id/quality1/chunk2.mp4 /data/video/video_id/quality2/chunk1.mp4 etc..
然后你需要为所有的块和质量生成一个m3u播放列表,这取决于播放器本身实现质量之间的切换和播放下一个文件(大多数现代玩家已经拥有).
我还强烈建议您查看:https://developer.apple.com/resources/http-streaming/ - Apple提供了一系列免费工具来为HTTP Live Streaming准备视频和播放列表.
如果您想从网络摄像头流式传输实时内容:FMLE(flash media live encoder)
如果要流静态内容(电影):ffmpeg&xuggle
RED5:
您的媒体服务器可能是red5(开源和免费)或FMS或wowza.但我只使用red5,我不知道其他人.你可以在这里找到red5 .
您的服务器可以在任何地方,但您需要打开一些端口(至少1938表示rtmp),5080表示"管理面板",您可以在列表中看到9999.(查看文档)Red5是java中的媒体服务器,因此您需要java jdk> = 1.6.
可以在这里找到Red5 1.0 RC .你可以找到windows,osx或linux的版本.我使用了tarball版本.解压缩并运行"red5.sh".您应该能够访问http:// localhost:5080 /的管理员,并且您还应该看到正在显示的视频.如果不是,那就错了,在这个工作之前你不能再进一步了.
使用ffmpeg流:
你可以找到xuggle 在这里,你可以找到更多这方面的信息在这里
ffmpeg -i your_file.flv -re -acodec copy -vcodec copy -f flv rtmp://localhost_or_yourred5serverip/live/livestream
Run Code Online (Sandbox Code Playgroud)
请记住,如果你想在网上流媒体只有flv和mp4可以在flash播放器中播放(我认为).一旦它流式传输,你应该可以在这里的"管理面板"中看到它.连接到您的服务器(rtmp:// localhost/live /)并转到视图选项卡并输入"livestream".您可以使用mplayer rtmp:// localhost/live/livestream来查看您的视频.
在Flash播放器中流:
您可以使用flowplayer(使用rtmp插件)或jwplayer.
| 归档时间: |
|
| 查看次数: |
18773 次 |
| 最近记录: |