OS:ubuntu 12.04
ffmpeg:N-47141-g4063bb2
x264:0.133.2334 a3ac64b
目标:
使用ffserver建立流媒体服务器
使用ffmpeg对本地文件流化(x264编码器)
使用ffplay播放

ffserver.conf配置

1 Port 8090  #访问端口
2 RTSPPort 554 #rtsp端口
3 BindAddress 0.0.0.0 #服务器地址绑定
4 MaxHTTPConnections 2000 #允许的最大连接数
5 MaxClients 1000 #最大的客户数
6 MaxBandwidth 10000
7 CustomLog -
8  
9 <Feed feed1.ffm>
10 File /tmp/feed1.ffm
11 FileMaxSize 1G
12 ACL allow 127.0.0.1 #只允许本地连接
13 </Feed>
14  
15 ################ asf ################
16  
17 <Stream test.asf>
18 Feed feed1.ffm
19 Format asf #流媒体格式
20 VideoCodec libx264 #编码格式
21 VideoFrameRate 25 #桢率
22 VideoSize 1024x768 #播放大小
23 VideoBitRate 2M #码率
24 VideoBufferSize 10000000
25 VideoGopSize 24
26 StartSendOnKey
27 Preroll 5
28 #使用x264编码时必须有下面的4个参数
29 VideoQMin 3
30 VideoQMax 31
31 AVOptionVideo flags +global_header
32 AVOptionAudio flags +global_header
33 NOAudio
34 </Stream>
35  
36 ################ flv ################
37  
38 <Stream test.flv>
39  
40 Feed feed1.ffm
41 Format flv
42  
43 NoAudio
44 #AudioBitRate  32 
45 #AudioChannels 2
46 #AudioSampleRate  44100
47 #AVOptionAudio flags +global_header
48 #AudioCodec libmp3lame
49  
50 #NoVideo
51 VideoBitRate  1024
52 VideoFrameRate  40 
53 VideoSize 1280x720
54 VideoBufferSize 1000000
55 VideoCodec libx264
56  
57 VideoQMin 3
58 VideoQMax 31 
59  
60 VideoBitRateTolerance 100
61 VideoGopSize 12 
62 StartSendOnKey
63  
64 AVOptionVideo qmin 3
65 AVOptionVideo qmax 31
66 #AVOptionVideo quality good
67 #AVOptionVideo cpu-used 0
68 AVOptionVideo flags +global_header
69 #AVOptionVideo keyint_min 25
70 #AVOptionVideo qcomp 0.6
71 AVOptionVideo qdiff 4
72 #AVOptionVideo me_range 16
73 #Preroll 15
74 </Stream>
75  
76 ################ rtsp ################
77  
78 <Stream live.h264>
79 Format rtp
80 Feed feed1.ffm
81 VideoCodec libx264
82 #VideoFrameRate 7
83 VideoBitRate 300
84 #VideoSize 480x272
85 VideoSize 352x288
86 #AVPresetVideo default
87 AVPresetVideo superfast
88 AVOptionVideo flags +global_header
89  
90 PixelFormat yuv420p
91 AVOptionVideo me_range 4
92 AVOptionVideo qdiff 4
93 AVOptionVideo qmin 2
94 AVOptionVideo qmax 51
95  
96 #MulticastAddress 224.124.0.1
97 #MulticastPort 5000
98 #MulticastTTL 1
99  
100 NoAudio
101 #AudioCodec libfaac
102 #AudioBitRate 32
103 #AudioChannels 2
104 #AudioSampleRate 22050
105 #AVOptionAudio flags +global_header
106 </Stream>
107  
108 ################ html ################
109  
110 <Stream stat.html>
111 Format status
112 # Only allow local people to get the status
113 ACL allow localhost
114 ACL allow 192.168.0.0 192.168.255.255
115 #FaviconURL http://pond1.gladstonefamily.net:8080/favicon.ico
116 </Stream>
117  
118 # Redirect index.html to the appropriate site
119 <Redirect index.html>
120 URL http://www.ffmpeg.org/
121 </Redirect>

启动ffserver服务器

1 ffserver -d -f ./ffserver.conf

使用ffmpeg对本地文件流化

1 ./ffmpeg -i  ./1.mov -vcodec libx264  -qmin 3 -qmax 31 -qdiff 4 -me_range 16 -keyint_min 25 -qcomp 0.6 -b 9000K    http://localhost:8090/feed1.ffm

捕捉本地摄像头数据

1 ./ffmpeg -f video4linux2 -i /dev/video0 http://localhost:8090/feed1.ffm

为流媒体增加声音

在ffmserver.conf中打开声音:

1 #NoAudio
2 AudioBitRate  128kb
3 AudioChannels 2
4 AudioSampleRate 44100
5 AVOptionAudio flags +global_header

在输入中加入声音捕获:

1 ffmpeg  -f v4l2 -i  /dev/video0  -f alsa  -i hw:0,0 http://localhost:8090/feed_tv.ffm

使用ffplay播放

1 ./ffplay  mmsh://localhost:8090/test.asf
2 ./ffplay  http://localhost:8090/test.flv
3 ./ffplay  rtsp://localhost:554/live.h264

git: https://github.com/lnmcc/multi_stream_server.git

基于ffmpeg的流媒体服务器的更多相关文章

  1. nginx+nginx-rtmp-module+ffmpeg搭建流媒体服务器

    参照网址: [1]http://blog.csdn.net/redstarofsleep/article/details/45092147 [2]HLS介绍:http://www.cnblogs.co ...

  2. 流媒体技术学习笔记之(一)nginx+nginx-rtmp-module+ffmpeg搭建流媒体服务器

    参照网址: [1]http://blog.csdn.net/redstarofsleep/article/details/45092147 [2]HLS介绍:http://www.cnblogs.co ...

  3. Linux-Nginx+rtmp+ffmpeg搭建流媒体服务器

    Nginx+rtmp+ffmpeg搭建流媒体服务器 说明: nginx搭建流媒体服务需要用到 nginx-rtmp-module 模块 具体操作步骤: 安装nginx (1)下载第三方扩展模块ngin ...

  4. centos7+nginx+rtmp+ffmpeg搭建流媒体服务器(保存流目录与http目录不要随意配置,否则有权限问题)

    搭建nginx-http-flv-module升级代替rtmp模块,详情:https://github.com/winshining/nginx-http-flv-module/blob/master ...

  5. 使用nginx+nginx-rtmp-module+ffmpeg搭建流媒体服务器

    参考: 1,使用nginx+nginx-rtmp-module+ffmpeg搭建流媒体服务器笔记(一)http://blog.csdn.net/xdwyyan/article/details/4319 ...

  6. nginx+nginx-rtmp-module+ffmpeg搭建流媒体服务器[转]

    转 :http://redstarofsleep.iteye.com/blog/2123752 Nginx本身是一个非常出色的HTTP服务器,FFMPEG是非常好的音视频解决方案.这两个东西通过一个n ...

  7. 基于EasyDarwin开源流媒体服务器框架实现EasyNVR H5无插件直播流媒体服务器方案

    背景分析 在之前的一篇博客<web无插件播放RTSP摄像机方案,拒绝插件,拥抱H5!>中,描述了实现一套H5无插件直播方案的各个组件的参考建议,又在博客<EasyNVR H5流媒体服 ...

  8. 基于 Red5 的流媒体服务器的搭建和应用

    http://www.ibm.com/developerworks/cn/opensource/os-cn-Red5/ Red5 是一个采用 Java 开发的开源免费 Flash 流媒体服务器.Red ...

  9. 搭建基于nginx-rtmp-module的流媒体服务器

    1.业务流程图 2.软件下载 2.1 windows下载obs 2.2 linux 安装nginx(附加rtmp模块) 1.cd /usr/local 2.mkdir nginx 3.cd nginx ...

随机推荐

  1. httpsClient实例

    import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.F ...

  2. list 去掉重复的值

    去除List列表中重复值(3种解决方法)public static void main(String[] args) { String[] ar = { "dd", "c ...

  3. POJ 1979 Red and Black(水题,递归)

    一开始理解错题意了,以为是走过的砖不能再重复走,最多能走多少个黑砖,结果写的递归陷入死循环...后来才明白原来可以重复走,问可以到达的磁砖数. #include <iostream> #i ...

  4. hdu 4335 What is N?

    此题用到的公式:a^b%c=a^(b%phi(c)+phi(c))%c (b>=phi(c)). 1.当n!<phi(p)时,直接暴力掉: 2.当n!>=phi(p) &&a ...

  5. 130701基础练习-first

    // 629.cpp : 定义控制台应用程序的入口点.// #include "stdafx.h"//#include <iostream.h> class Point ...

  6. Project Euler 80:Square root digital expansion 平方根数字展开

    Square root digital expansion It is well known that if the square root of a natural number is not an ...

  7. Xamarin.Android 入门之:Xamarin快速入门

    一. 准备工作 1.新建一个项目取名为phoneword 2.在项目创建好之后,让我们展开“Resources”文件夹然后找到并打开该文件夹下的“layout”文件夹,双击main.axml在Andr ...

  8. JavaWeb项目开发案例精粹-第3章在线考试系统-005action层

    1. <?xml version="1.0" encoding="UTF-8" ?><!-- XML声明 --> <!DOCTYP ...

  9. 简单的自绘CListBox,重载虚MeasureItem和DrawItem这两个虚函数

    [cpp] view plain copy //例如CNewListBox继承自CListBox,重载虚MeasureItem和DrawItem这两个虚函数,代码如下: void CNewListBo ...

  10. SSL/TLS/WTLS原理(密钥协商的形象化比喻:验证服务器的身份,用服务器的公钥协商加密格式,然后再加密具体的消息,TCP传递SSL处理后的数据)good

    一 前言 首先要澄清一下名字的混淆: 1 SSL(Secure Socket Layer)是netscape公司设计的主要用于web的安全传输协议.这种协议在WEB上获得了广泛的应用. 2 IETF( ...