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

目录 [hide]

1 ffserver.conf配置
    2 启动ffserver服务器
    3 使用ffmpeg对本地文件流化
    4 捕捉本地摄像头数据
    5 为流媒体增加声音
    6 使用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. 音视频开发(8)---nginx+nginx-rtmp-module+ffmpeg搭建流媒体服务器

    nginx+nginx-rtmp-module+ffmpeg搭建流媒体服务器 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/redstarofsle ...

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

    Nginx本身是一个非常出色的HTTP服务器,FFMPEG是非常好的音视频解决方案.这两个东西通过一个nginx的模块nginx-rtmp-module,组合在一起即可以搭建一个功能相对比较完善的流媒 ...

  3. nginx+ffmpeg搭建流媒体服务器

    安装ffmpeg: 下载FFmpeg和libx264的包 ffmpeg-2.4.1.tar.bz2  last_x264.tar.bz2 libx264需要yasm,所以先安装yasm apt-get ...

  4. ffmpeg libx264_nginx+ffmpeg搭建流媒体服务器(直播流)

    这里实现了简单nginx+ffmpeg 推本地mp4视频文件的功能,以后将会继续更新 环境 系统环境:CentOS release 6.7 (Final) 需求 利用nginx和ffmpeg搭建流媒体 ...

  5. p2p 文件服务器集群,基于云计算P2P流媒体服务器集群部署算法.doc

    基于云计算P2P流媒体服务器集群部署算法 基于云计算P2P流媒体服务器集群部署算法 摘 要: 针对云计算数据中心网络(DCN)环境下,P2P流媒体服务器集群部署引起的较高带宽占用问题,提出了一种基于云 ...

  6. Linux---nginx+ffmpeg搭建流媒体服务器

    这里实现了简单nginx+ffmpeg 推本地mp4视频文件的功能,以后将会继续更新 环境 系统环境:CentOS release 6.7 (Final) 需求 利用nginx和ffmpeg搭建流媒体 ...

  7. 音视频开发-音视频面试必问的直播延迟分析丨FFmpeg|SRS流媒体服务器|webrtc|Android NDK开发|HTTP-FLV|RTSP

    音视频面试必问的直播延迟分析 1.直播延迟500ms是极限吗,加上WebRTC能做到多少 2.推流的延迟分析 3.流媒体服务器延迟分析 4.拉流的延迟分析 视频讲解如下,点击观看: 音视频开发-音视频 ...

  8. srs服务器播放文件,使用SRS+ffmpeg搭建流媒体服务器播放m3u8格式视频

    1.简介 srs是一个简单的流媒体开源直播软件,ffmpeg是完整的跨平台解决方案,用于记录,转换和流传输音频和视频. 2.相关 官网下载页面:点击我到达 在线演示播放页面:点击我到达 Git页面:点 ...

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

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

最新文章

  1. Spring MVC-ContextLoaderListener和DispatcherServlet
  2. DOS命令行中用MAVEN构建Java和Java Web项目
  3. 深入浅出 Javascript API(五)--Query Find 查询
  4. 计算机二级1605错误,word 出现windows installer 1605错误
  5. 儿童节到了,你会让孩子将来当程序员吗?
  6. odoo10参考系列--测试模块
  7. TortoiseSVN 配合 Beyond Compare 3 或 WinMerge 的设置
  8. java json传值到前台_json前后台传值
  9. 100阶乘c语言如何实现,求10000的阶乘(c语言代码实现)
  10. php框架运行流程,thinkphp项目执行流程介绍
  11. 关于office2010的mso问题和卸载重装问题
  12. Matlab如何设置图中坐标以10的次方显示
  13. 蔡勒公式整理——给日期计算星期几
  14. 联想服务器开机显示英文,在开机自检时,在联想LOGO画面处死机(即自检时死机)...
  15. win10 全局快捷键设置启动程序
  16. adb和frida的一点简单使用记录
  17. NC14709 奇♂妙拆分
  18. 第11周编程题在线测试
  19. 搜狗输入法这次栽大了!
  20. tcp 阻塞与非阻塞

热门文章

  1. 关于汽油清洁剂,到底该不该加?
  2. 与variant有关的几个FUNCTION
  3. web.config mysql_web.config配置mysql数据库连接
  4. java pattern用法_Java Pattern和Matcher用法
  5. 从windows上传到linux服务器的php图片生成不了,windows10上用thinkphp5开发程序上传服务器后出现图片异常的问题...
  6. matlab如何画图时去掉陆地点,科学网—Matlab m_map一张地图上使用用多个colormap以及patch精细岸线数据去除河流 - 肖鑫的博文...
  7. Python必备知识点:对Json的基本使用方法
  8. python基础教程:对象之间的交互
  9. Python使用数字与字符串的技巧
  10. Scrapy 扩展中间件: 同步/异步提交批量 item 到 MySQL