最近研究了一下手机流媒体服务器的搭建,目的是实现通过3G手机看在线视频。

开始的时候研究了一下 Tudou手机版 ,可它哪并没有实现在线播放,因为视频地址是 http 协议的。参看了许多文章,终于了解到要用 RTSP 、MMS 这类。

RTSP 有一个来自 Apple 的开源项目:Darwin Streaming Server (DSS)

DSS 是跨平台的软件,可以在Linux、Mac OSX 或 Windows 等上面部署。

一、DSS Windows 安装教程

  • 从:http://dss.macosforge.org/downloads/DarwinStreamingSrvr5.5.5-Windows.exe (只有5.5的) 这里下载 DSS for Windows
  • 下载后解压,会看到一个 Install.bat 的文件,直接运行它就会安装到 C:\Program Files\Darwin Streaming Server 并还会在 系统服务里面加一个号 Darwin Streaming Server 的服务程序,这个就是 DSS 的 RTSP 服务器。
  • 接下来你要安装 Perl 解释器,可以从 http://www.perl.org/get.html 这里下载到,然后安装
  • 装好 Perl 后就可以在 CMD 下面使用 perl **.pl 来运行程序了
  • 接下来在CMD下面做如下操作:
1
2
3
4
5
# 根据提示创建 WebAdmin 的账号和密码
C:\Program Files\Darwin Streaming Server> perl WinPasswdAssistant.pl
# 运行 WebAdmin 管理器
C:\Program Files\Darwin Streaming Server> perl streamingadminserver.pl
# 现在可以打开 http://127.0.0.1:1220/ 来对 DSS 服务器进行管理了
  • 在 DSS WebAdmin 里面修改 General Settings -> Media Directory ,将它改为你的 Media 目录,当然也可以使用默认的,把自已的视频文件放到 C:\Program Files\Darwin Streaming Server\Movies 里面
  • 现在你可以使用 QuickTimeVLC 打开 rtsp://127.0.0.1:554/sample_100kbit.mp4来测试视频了,(注 sample_100kbit.mp4 是 DSS 5.5.5 自带的视频)

二、如何将自己的视频转换为流媒体格式?

研究这个东西费了我好大的劲,一开始不知道视频还有专门针对流媒体的,以为只要用 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 ,用它在命令行下面运行

1
C:\Program Files\Darwin Streaming Server\Movies> mp4box mymovie.mp4 -hint

出现结果:

1
2
3
4
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

流媒体视频就转换好了,现在文件大小就会有变动,变大了一些。

然后,再用 VLC 或  QuickTime 打开 rtsp://127.0.0.1:554/mymovie.mp4 试试能否播放吧!如果你有3G手机,可以直接用手机打开这个地址试一下。

三、附加资源

http://huacnlee.com/blog/deploy-mobile-streaming-server-by-dss/

DSS 搭建手机流媒体服务器的更多相关文章

  1. Windows环境搭建Red5流媒体服务器指南

    Windows环境搭建Red5流媒体服务器指南 测试环境:Windows 7 一.   下载安装程序 red5-server 下载地址 https://github.com/Red5/red5-ser ...

  2. Windows环境搭建Red5流媒体服务器指南(转)

    Windows环境搭建Red5流媒体服务器指南 Windows环境搭建Red5流媒体服务器指南 测试环境:Windows 7 一.   下载安装程序 red5-server 下载地址 https:// ...

  3. Windows环境搭建Red5流媒体服务器

    Windows环境搭建Red5流媒体服务器指南 测试环境:Windows 7 一.   下载安装程序 red5-server 下载地址 https://github.com/Red5/red5-ser ...

  4. (转)CentOS6.5安装Darwin Streaming Server搭建RTSP流媒体服务器

    参考: 1,CentOS6.5安装Darwin Streaming Server搭建RTSP流媒体服务器 http://www.yimiju.com/articles/567.html

  5. 搭建手机web服务器-----内网穿透(无需Root)

    搭建手机web服务器-----内网穿透(无需Root) 一.内网穿透部分 前言: 网上内网穿透的方法很多,像花生壳.Ngrok.Frp等等,但是大多都需要获取手机root权限 本文使用的软件是Term ...

  6. 使用Nginx搭建本地流媒体服务器

    Mac搭建nginx+rtmp服务器 1.打开终端,查看是否已经安装Homebrew,直接输入命令 man brew 如果Mac已经安装了, 会显示一些命令的帮助信息. 此时输入Q退出即可, 直接进入 ...

  7. 开源代码Window下搭建rtmp流媒体服务器

    合肥程序员群:49313181. 合肥实名程序员群:128131462 (不愿透露姓名和信息者勿加入) Q Q:408365330 E-Mail:egojit@qq.com 综合:有这样需求,将摄像头 ...

  8. nginx上搭建HLS流媒体服务器

    http://blog.csdn.net/cjsafty/article/details/7922849 简介:HTTP Live Streaming(缩写是 HLS)是一个由苹果公司提出的基于HTT ...

  9. 利用CocoaHttpServer搭建手机本地服务器

    原理 使用CocoaHTTPServer框架,在iOS端建立一个本地服务器,只要电脑和手机连入同一热点或者说网络,就可以实现通过电脑浏览器访问iOS服务器的页面,利用POST实现文件的上传. 实现 1 ...

随机推荐

  1. Python中的lambda函数

    今天在看书的时候,看到了这样的一条语句: if isinstance(value,int) or isinstance(value,float): split_function=lambda row: ...

  2. svg中改变class调用的线条颜色

    <style type="text/css"><![CDATA[ .kV220 {stroke:rgb(255,0,0);fill:none} .kV22 {st ...

  3. python3.0_day9_scoket基础之篇

    一.socket简单介绍 socket通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄,应用程序通常通过"套接字"向网络发出请求或者应答网络请求 ...

  4. asp.net中Cookie的用法【转】

    比如建立一个名为aspcn,值为灌水小鱼的cookie HttpCookie cookie = new HttpCookie["aspcn"];cookie.Value = &qu ...

  5. C# toString()转换详细(转)

    文章转自:http://blog.csdn.net/xiaoguang44/article/details/6988418 字符型转换为字符串 // C 货币 2.5.ToString("C ...

  6. Message,MessageQueue,Looper,Handler详解+实例

    Message,MessageQueue,Looper,Handler详解+实例 原文地址 Android的Handler使用(这篇简单介绍Handler的使用) 一.几个关键概念 1.Message ...

  7. smarty变量调节器案例

    要求: 如下图,有内容的每一行,当鼠标放上去显示灰色区域,当鼠标离开灰色区域消失

  8. [转]何为C10K问题

    我在学习网络编程的时候经常看到C10K问题,那么究竟什么是C10K问题呢?我看到了一篇好文章就转了过来,原文地址为:c10k问题 所谓c10k问题,指的是服务器同时支持成千上万个客户端的问题,也就是c ...

  9. UI-动画

    // ------------------UIImageView的动画------------------ // ------------------UIView的动画---------------- ...

  10. vs 添加坚竖虚线(垂直虚线、肾虚线 by 我的Y韬)

    Indent Guides https://visualstudiogallery.msdn.microsoft.com/e792686d-542b-474a-8c55-630980e72c30 vs ...