今天自己也弄了一下,本来想记录一下过程的,发现这个博客写的挺清楚的,呵呵,直接copy一下了。
拷贝自 : http://huacnlee.com/blog/deploy-mobile-streaming-server-by-dss DSS 是跨平台的软件,可以在Linux、Mac OSX 或 Windows 等上面部署。 一、DSS Windows 安装教程:
二、如何将自己的视频转换为流媒体格式?研究这个东西费了我好大的劲,一开始不知道视频还有专门针对流媒体的,以为只要用 MediaCoder 将视频转换成合适的格式,如:MPEG4 + AAC + MP4 / MPEG4 + AAC + 3GP 就可以放了,反复放到服务器上面去测试,VLC 和 QuickTime 都没法打开。于是又用工具打开 DSS 自带的几个示例视频看它们的格式,反复转换试不同的视频和音频编码和外壳,还是不行...郁闷死我了 在 DSS 的邮件列表里面找了找相关的文章,发现有讲好像要用特别的工具对视频 hint 一下,然后就可以在 RTSP 上面用了,说可以用 QuickTime Pro 或 VLC 来转换,我用 VLC 试了一下,文件菜单一个叫“流(s)”的功能,但试了还是不行,没看到文件有变动过。 于是再沿着 Hint 关键词在 Google 上面找文章,找到了 Nokia 论坛里面,看到这篇文章:http://discussion.forum.nokia.com/forum/showthread.php?t=125540 里面有说可以使用 Mp4box 对视频进行 hint 于是我在 http://www.videohelp.com/tools/mp4box 这里下载到了mp4box (不用下载GUI的,直接用命令行操作就好了,只用一条命名) 下载到到解压出后会有个叫 mp4box.exe ,用它在命令行下面运行 C:\Program Files\Darwin Streaming Server\Movies>mp4box mymovie.mp4 -hint 出现结果: Hinting file with Path-MTU 1450 Bytes 流媒体视频就转换好了,现在文件大小就会有变动,变大了一些。 然后,再用 VLC 或 QuickTime 打开 rtsp://127.0.0.1:554/mymovie.mp4 试试能否播放吧!如果你有3G手机,可以直接用手机打开这个地址试一下。
近由于公司做的一个Android项目,需要上传视频到服务器,实现上下传以及播放,涉及到视频的手机终端播放流媒体视频,所以本人搭配了一个达尔文流媒体服务器,本文还参考了:
百度文库:http://wenku.baidu.com/view/eca0cd5c3b3567ec102d8aef.html,以及网址http://www.devdiv.com/home.php?mod=space&uid=74824&do=blog&id=3491, http://www.cnblogs.com/zhangweia/archive/2010/08/27/1810030.html A。首先安装 DDS,即达尔文流媒体服务器: 1.从:http://dss.macosforge.org/downloads/DarwinStreamingSrvr5.5.5-Windows.exe (只有5.5的) 这里下载 DSS for Windows 2.下载后解压,会看到一个 Install.bat 的文件,直接运行它就会安装到 C:\Program Files\Darwin Streaming Server\ 并还会在 系统服务里面加一个号 Darwin Streaming Server 的服务程序,这个就是 DSS 的 RTSP 服务器。 3.接下来你要安装 Perl 解释器,可以从 http://www.perl.org/get.html 这里下载到,然后安装 4.装好 Perl 后就可以在 CMD 下面使用 perl **.pl 来运行程序了 5.接下来在CMD下面做如下操作: o# 根据提示创建 WebAdmin 的账号和密码 oC:\Program Files\Darwin Streaming Server>perl WinPasswdAssistant.pl o# 运行 WebAdmin 管理器 oC:\Program Files\Darwin Streaming Server>perl streamingadminserver.pl o# 现在可以打开 http://127.0.0.1:1220/ 来对 DSS 服务器进行管理了 6.在 DSS WebAdmin 里面修改 General Settings -> Media Directory ,将它改为你的 Media 目录,当然也可以使用默认的,把自已的视频文件放到 C:\Program Files\Darwin Streaming Server\Movies 里面 7.现在你可以使用 QuickTime 或 VLC 打开 rtsp://127.0.0.1:80/sample_100kbit.mp4 来测试视频了,(注 sample_100kbit.mp4 是 DSS 5.5.5 自带的视频) B。将自己的视频转换为流媒体格式 一开始,我安装了流媒体之后,弄了很久,发现播放DDS自带的测试视频可以播放正常,但是发现只要是自己用手机拍摄的视频放到流媒体服务器上,即使是同样的后缀格式(如同是.3gp,.mp4)都播放不了,这可急了我了,网上查了很多,都没找到相关的解释,后来想想是不是视频的编码不相同,后来使用了视频编码查看器来对比了下,发现也没什么不同,最后找到了上面第三个参考网址里有解释是因为流媒体服务器只识别包含RTSP信息头的视频,需要在视频的头部加入了RTSP信息之后才可以被DSS识别,所以要使用工具把自己的视频转化为带 RTSP信息头的视频格式;下面使用mp4box.exe来转化 下载到到解压出后会有个叫 mp4box.exe ,用它在命令行下面运行 C:\Program Files\Darwin Streaming Server\Movies>mp4box mymovie.mp4 -hint 出现结果: Hinting file with Path-MTU 1450 Bytes Hinting track ID 201 - Type "mp4v:mp4v" (MP4V-ES) - BW 33 kbps Hinting track ID 101 - Type "mp4a:mp4a" (mpeg4-generic) - BW 64 kbps Saving mymovie.mp4: 0.500 secs Interleaving 然后,再用KMPlayer.exe 打开 rtsp://127.0.0.1:80/test.mp4 播放!用智能手机,可以直接用手机打开这个地址试一下。 在java代码中可以直接使用代码调用mp4box.exe来转化,需要把 mp4box.ex相关工具文件直接放到流媒体服务器中的视频目录下,相关转化代码如下: /** * 转化为RTSP格式的视频 * * @param fileName */ public void changeToRtsp(String fileName) { Runtime rn = Runtime.getRuntime(); Process p = null; try { p = rn.exec("D:\\tomcat\\webapps\\vmadmin\\vedios\\MP4box.exe D:\\tomcat\\webapps\\vmadmin\\vedios\\" + fileName + " -hint"); BufferedReader bufferedReader = new BufferedReader( new InputStreamReader(p.getInputStream())); String str; while ((str = bufferedReader.readLine()) != null) System.out.println(str); int result = p.waitFor(); System.out.println("thread run result ------------------ : " + result); } catch (Exception e) { System.out.println("Error exec notepad "); } finally{ p.destroy(); } } 其中fileName即为流媒体服务器视频目录中的文件名称,转化后就可以使用手机终端调用系统视频播放器输入:rtsp://127.0.0.1:80/****.mp4类似地址来播放了。 |
darwin server搭建的过程
darwin server搭建的过程
2009-12-18 17:29
猜你喜欢
转载自hongtaq.iteye.com/blog/1536872
今日推荐
周排行