ffmpeg+ffserver搭建流媒体服务器
http://blog.chinaunix.net/uid-9688646-id-3399113.html
<Stream test.flv>
File "/project/apps/ffserver/test.flv"
Format flv
</Stream>
相关错误:
Error occurs when I transcode a file into asf format
http://ffmpeg.gusari.org/viewtopic.php?f=11&t=590
You can't stream avi file format, it's not designed to be streamed, rather to be used as a file/storage format. Streaming formats are: flv, mpegts, asf, rtmp/rtp/rtsp... So, try changing Format avi to Format mpegts and see if that works. But, the most convenient way of using ffmpeg/ffserver is to create a config file for ffserver and then run ffmpeg, telling it to feed the ffserver, which will do the actual encoding and streaming.
ffmpeg与ffserver的协同工作
http://blog.csdn.net/shendan00/article/details/18839837
工作流程如下:
1、 启动ffserver,配置参数
ffserver先于ffmpeg启动,它在启动的时候需要加参数-f指定其配置文件,配置文件里包含端口信息、缓冲文件配置、传送流配置(如编码方式,帧率,采样率……)。
2、 启动ffmpeg,输入流
启动ffmpeg,向缓冲文件输入数据流,数据流可以来自摄像头,也可以来自本来就存在的文件。
feed1.ffm是一个缓冲文件,fserver启动后,feed1.ffm就会自动被创建,feed1.ffm开始的部分已经写入向客户端传送流的配置信息,在feed1.ffm做缓冲用的时候,这些信息是不会被覆盖掉。
ffmpeg启动的一个关键参数就是“http://ip:port/feed1.ffm”,其中ip是运行ffserver主机的ip,如果 ffmpeg和ffserver都在同一系统中运行的话,用localhost或者127.0.0.1也行。ffmpeg启动后会与ffserver建立 一个连接(短暂的连接),通过这第一次的连接,ffmpeg从ffserver那里获取了向客户端输出流的配置,并把这些配置作为自己编码输出的配置,然后ffmpeg断开了这次连接,再次与ffserver建立连接(长久的连接),利用这个连接ffmpeg会把编码后的数据发送给ffserver。如果你观察ffserver端的输出就会发现这段时间会出现两次HTTP的200,这就是两次连接的过程。
3、连接过程
ffmpeg从摄像头获取数据后,按照输出流的编码方式编码,然后发送给ffserver,ffserver收到ffmpeg的数据后,如果网络上 没有播放的请求,就把数据写入feed1.ffm中缓存,写入时把数据加上些头信息然后分块,每块4096B(每块也有结构),当feed1.ffm的大 小到了ffserver.conf中规定的大小后,就会从文件开始(跳过头)写入,覆盖旧的数据。直到网络上有播放的请求,ffserver从feed1.ffm中读取数据,发送给客户端。
RTSPPort 8091
BindAddress 0.0.0.0
MaxHTTPConnections 2000
MaxClients 1000
MaxBandwidth 1000
CustomLog -
<Feed feed1.ffm>
#File /tmp/feed1.ffm
File "/home/yingc/gcyin/test/thirdparty/output/ffmpeg/bin/feed1.ffm"
FileMaxSize 20000000K
ACL allow 127.0.0.1
</Feed>
#<Stream test.ts>
#Feed feed1.ffm
#Format mpegts
#
#AudioCodec libmp3lame
#AudioBitRate 128
#AudioChannels 2
#AudioSampleRate 44100
#AVOptionAudio flags +global_header
#
#VideoBitRate 800
#VideoFrameRate 25
#VideoSize 640x480
#VideoCodec libx264
#AVOptionVideo flags +global_header
#</Stream>
#
#<Stream test.asf>
#Feed feed1.ffm
#Format asf
#
#AudioCodec aac
#AudioBitRate 128
#AudioChannels 2
#AudioSampleRate 44100
#AVOptionAudio flags +global_header
#
#VideoBitRate 800
#VideoFrameRate 25
#VideoSize 640x480
#VideoCodec libx264
#AVOptionVideo flags +global_header
#</Stream>
<Stream test.ts>
Feed feed1.ffm
Format mpegts
</Stream>
<Stream test.avi>
Feed feed1.ffm
Format avi
</Stream>
<Stream test.flv>
Feed feed1.ffm
Format flv
</Stream>
<Stream test.mp4>
Format rtp
File "/home/yingc/gcyin/test/thirdparty/output/ffmpeg/bin/h.mp4"
</Stream>
<Stream test.asf>
Feed feed1.ffm
Format asf
</Stream>
<Stream stat.html>
Format status
# Only allow local people to get the status
ACL allow localhost
ACL allow 192.168.110.0 192.168.110.255
</Stream>
# Redirect index.html to the appropriate site
<Redirect index.html>
URL http://www.ffmpeg.org/
</Redirect>
ffmpeg+ffserver搭建流媒体服务器相关推荐
- ffmpeg libx264_nginx+ffmpeg搭建流媒体服务器(直播流)
这里实现了简单nginx+ffmpeg 推本地mp4视频文件的功能,以后将会继续更新 环境 系统环境:CentOS release 6.7 (Final) 需求 利用nginx和ffmpeg搭建流媒体 ...
- 音视频开发(8)---nginx+nginx-rtmp-module+ffmpeg搭建流媒体服务器
nginx+nginx-rtmp-module+ffmpeg搭建流媒体服务器 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/redstarofsle ...
- Linux---nginx+ffmpeg搭建流媒体服务器
这里实现了简单nginx+ffmpeg 推本地mp4视频文件的功能,以后将会继续更新 环境 系统环境:CentOS release 6.7 (Final) 需求 利用nginx和ffmpeg搭建流媒体 ...
- nginx+ffmpeg搭建流媒体服务器
安装ffmpeg: 下载FFmpeg和libx264的包 ffmpeg-2.4.1.tar.bz2 last_x264.tar.bz2 libx264需要yasm,所以先安装yasm apt-get ...
- 音视频开发-SRS 4.0开发环境搭建丨webrtc丨FFmpeg丨SRS流媒体服务器开发
SRS 4.0开发环境搭建 视频讲解如下,点击观看: 音视频开发-SRS 4.0开发环境搭建丨webrtc丨FFmpeg丨SRS流媒体服务器开发 音视频高级开发学习学习资料链接:FFmpeg/WebR ...
- srs服务器播放文件,使用SRS+ffmpeg搭建流媒体服务器播放m3u8格式视频
1.简介 srs是一个简单的流媒体开源直播软件,ffmpeg是完整的跨平台解决方案,用于记录,转换和流传输音频和视频. 2.相关 官网下载页面:点击我到达 在线演示播放页面:点击我到达 Git页面:点 ...
- 使用EasyDarwin + ffmpeg 搭建流媒体服务器,实现多台智能电视同步播放宣传视频
近期单位用户提出需求,需要在单位内部的9台安卓智能电视(小米电视)上同步播放用户提供的宣传视频,希望能够做到所有电视音视频同步播放(电视均位于食堂内部,使用内置扬声器,各电视间音频延迟不同会导致混响) ...
- 用vlc搭建流媒体服务器
用vlc搭建流媒体服务器 作者:axu82119 来源:CSDN知识库 VLC是一种开源的播放器,同时也可以用作流媒体服务器.今天试验了几种搭建流媒体服务器的方法,这里做一个归纳总结. 本文使用的VL ...
- java red5 点播_树莓派实用RED5搭建流媒体服务器实现点播功能
1,搭建流媒体服务器一直是自己想玩的一个东西,在高中玩workerman框架时有人就做过nginx通过rtmp模块搭建流媒体服务器,nginx的特性就是高并发,轻量级,一般大型企业都会采用这个服务器, ...
最新文章
- liunx使用ssh免密登录
- php常用的技术有哪些,php常用技术
- 跑yolo3模型出的效果图_效果图和效果图设计到底有什么区别?区别大着呢,亲……...
- 基于Pytorch再次解读NiN现代卷积神经网络和批量归一化
- python的装饰器迭代器与生成器_python3 装饰器、列表生成器、迭代器、内置方法详解等(第四周)...
- 操作系统(十三)处理机调度的概念、层次
- 浅析epoll – epoll函数深入讲解
- 事务和分布式事务解释
- processing solution item 在加载时一直出现
- 这个功能是怎么实现的
- 关于 Object.prototype.toString.call() 方法
- IntelliJ IDEA使用技巧(七)——常用快捷键Mac篇
- java电话本怎么做_Java写的电话号码本自动化生成器,程序片段
- QT应用SQL数据库,简单全面的应用,增删改查。
- 大数据分析系统创新平台与生态建设
- 165个站长在线工具箱网站源码/野兔在线工具系统V2.2.7中文版
- 诗与远方:无题(九十四)
- 毕业设计——基于STM32单片机的蓝牙智能手环系统
- Foobar 2000 EIKO 增强版 取消“最小化到托盘”设置
- 学python编程,自学好还是应该报个培训班呢?