ffmpeg和ffserver配合使用可以实现实时的流媒体服务。
ffserver,负责响应客户端的流媒体请求,把流媒体数据发送给客户端。
ffserver.conf,ffserver启动时的配置文件,在这个文件中主要是对网络协议,缓存文件feed1.ffm和要发送的流媒体文件的格式参数做具体的设定。
feed1.ffm,可以看成是一个流媒体数据的缓存文件,ffserver启动后会自动生成。ffmpeg把转码好的数据发送给ffserver,如果没有客户端连接请求,ffserver把数据缓存到该文件中。
ffmpeg,负责媒体文件的转码工作,把你服务器上的源媒体文件转换成要发送出去的流媒体文件。
工作流程:
启动ffserver,配置参数
ffserver先于ffmpeg启动,它在启动时需要加参数-f指定其配置文件ffserver.conf,该配置文件中包含端口信息、缓冲文件配置、传送流配置(如编码方式、帧率、采样率等)。具体命令未:ffserver -f ffserver.conf启动ffmpeg,输入流
启动ffmpeg,向缓冲文件输入数据流,该数据流可来自摄像头,也可来自本地文件。ffserver启动后,缓冲文件feed1.ffm就会被创建,feed1.ffm开始的部分已经写入向客户端传送流的配置信息(把它们理解为 feed1.ffm文件的头吧),在feed1.ffm做缓冲用时,这些信息仍旧保留着。
ffmpeg启动的一个关键参数是: