最近研究了一下手机流媒体服务器的搭建,目的是实现通过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. Web前端开发笔试&面试_04_20161019MTBS

    1.运用CSS3 ,实现div 沿Y 轴上下循环运动的动画. 我写是:-webkit-animation:xz 3s linear 1s infinite //即XZ轴变化,Y轴不变 正确答案是: & ...

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

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

  3. PCA的数学原理

    PCA(Principal Component Analysis)是一种常用的数据分析方法.PCA通过线性变换将原始数据变换为一组各维度线性无关的表示,可用于提取数据的主要特征分量,常用于高维 数据的 ...

  4. hadoop spark学习笔记

    http://www.csdn.net/article/2015-06-08/2824889 hive:是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的sq ...

  5. Jfinal中定时器的初步探索(一)

    1.添加包引用:/jfinal_demo/WebContent/WEB-INF/lib/quartz-all-1.6.1.jar 注意版本号,这个版本是现在项目中使用的,已经有更高版本了,但这版比较稳 ...

  6. 图片上传,图片剪切jquery.imgareaselect

    ---恢复内容开始--- <%@ page language="java" contentType="text/html; charset=UTF-8" ...

  7. Centos Mysql 升级

    如何升级CentOS 6.5下的MySQL CentOS 6.5自带安装了MySQL 5.1,但5.1有诸多限制,而实际开发中,我们也已经使用MySQL 5.6,这导致部分脚本在MySQL 5.1中执 ...

  8. linux xargs参数

    xargs是给命令传递参数的一个过滤器,也是组合多个命令的一个工具.它把一个数据流分割为一些足够小的块,以方便过滤器和命令进行处理.通常情况下,xargs从管道或者stdin中读取数据,但是它也能够从 ...

  9. Android中Service的使用详解和注意点(LocalService)

    Android中Service的使用详解和注意点(LocalService) 原文地址 开始,先稍稍讲一点android中Service的概念和用途吧~ Service分为本地服务(LocalServ ...

  10. 基于spring-boot的web应用,ckeditor上传文件图片文件

    说来惭愧,这个应用调试,折腾了我一整天,google了很多帖子,才算整明白,今天在这里做个记录和分享吧,也作为自己后续的参考! 第一步,ckeditor(本博文论及的ckeditor版本4.5.6)的 ...