美文网首页
FFmpeg流媒体(4)

FFmpeg流媒体(4)

作者: Goning | 来源:发表于2019-02-26 17:35 被阅读0次

FFmpeg录制和发布UDP/TCP流


1、TCP与UDP参数说明
ffmpeg --help full
tcp AVOptions:
  -listen            <int>        ED....... Listen for incoming connections (from 0 to 2) (default 0)
  -timeout           <int>        ED....... set timeout (in microseconds) of socket I/O operations (from -1 to INT_MAX) (default -1)
  -listen_timeout    <int>        ED....... Connection awaiting timeout (in milliseconds) (from -1 to INT_MAX) (default -1)
  -send_buffer_size  <int>        ED....... Socket send buffer size (in bytes) (from -1 to INT_MAX) (default -1)
  -recv_buffer_size  <int>        ED....... Socket receive buffer size (in bytes) (from -1 to INT_MAX) (default -1)
  -tcp_nodelay       <boolean>    ED....... Use TCP_NODELAY to disable nagle's algorithm (default false)
  -tcp_mss           <int>        ED....... Maximum segment size for outgoing TCP packets (from -1 to INT_MAX) (default -1)
udp AVOptions:
  -buffer_size       <int>        ED....... System data size (in bytes) (from -1 to INT_MAX) (default -1)
  -bitrate           <int64>      E........ Bits to send per second (from 0 to I64_MAX) (default 0)
  -burst_bits        <int64>      E........ Max length of bursts in bits (when using bitrate) (from 0 to I64_MAX) (default 0)
  -localport         <int>        ED....... Local port (from -1 to INT_MAX) (default -1)
  -local_port        <int>        ED....... Local port (from -1 to INT_MAX) (default -1)
  -localaddr         <string>     ED....... Local address
  -udplite_coverage  <int>        ED....... choose UDPLite head size which should be validated by checksum (from 0 to INT_MAX) (default 0)
  -pkt_size          <int>        ED....... Maximum UDP packet size (from -1 to INT_MAX) (default 1472)
  -reuse             <boolean>    ED....... explicitly allow reusing UDP sockets (default auto)
  -reuse_socket      <boolean>    ED....... explicitly allow reusing UDP sockets (default auto)
  -broadcast         <boolean>    E........ explicitly allow or disallow broadcast destination (default false)
  -ttl               <int>        E........ Time to live (multicast only) (from 0 to INT_MAX) (default 16)
  -connect           <boolean>    ED....... set if connect() should be called on socket (default false)
  -fifo_size         <int>        .D....... set the UDP receiving circular buffer size, expressed as a number of packets with size of 188 bytes (from 0 to INT_MAX) (default 28672)
  -overrun_nonfatal  <boolean>    .D....... survive in case of UDP receiving circular buffer overrun (default false)
  -timeout           <int>        .D....... set raise error timeout (only in read mode) (from 0 to INT_MAX) (default 0)
  -sources           <string>     ED....... Source list
  -block             <string>     ED....... Block list

2、TCP监听接收流
ffmpeg -listen 1 -f flv -i tcp://127.0.0.1:1234/live/stream -c copy -f flv output.flv

执行完命令后,FFmpeg会进入端口监听模式,等待客户端连接到本地的1234端口。


3、TCP请求发布流
ffmpeg -re -i input.mp4 -c copy -f flv tcp://127.0.0.1:1234/live/stream

如上,请求端口1234,指定输出格式为FLV格式。


4、监听端口超时listen_timeout
time ./ffmpeg -listen_timeout 5000 -listen 1 -f flv -i tcp://127.0.0.1:1234/live/stream -c copy -f flv output.flv

设置5秒钟超时时间,超时则退出监听。


5、TCP拉流超时参数timeout
time ./ffmpeg -timeout 20000000 -i tcp://192.168.100.179:1935/live/stream -c copy -f flv output.flv

设置超时时间为20秒,连接TCP拉取端口1935的数据。


6、TCP传输buffer大小设置send_buffer_size/recv_buffer_size
ffmpeg -re -i input.mp4 -c copy -send_buffer_size 265 -f flv tcp://192.168.100.179:1234/live/stream

执行该命令,因为发送的buffer大小变成了265,数据发送的频率变大,并且次数变多,网络开销也大,因此输出速度会变慢。


7、绑定本地UDP端口localport
ffmpeg -re -i input.mp4 -c copy localport 23456 -f flv udp://192.168.100.179:1234/live/stream

如上,使用localport参数设置监听本地端口。


相关文章

  • FFmpeg流媒体(4)

    FFmpeg录制和发布UDP/TCP流 1、TCP与UDP参数说明 2、TCP监听接收流 执行完命令后,FFmpe...

  • 直播项目笔记(六)

    FFmpeg + 流媒体协议 FFmpeg FFmpeg简介 FFmpeg是一个非常强大的音视频处理库,包括视频采...

  • 线程池及红黑树复习--Apple的学习笔记

    FFmpeg也算是入门了。回顾我之前理解的流媒体开发就是指FFmpeg是错误的,因为流媒体开发主要是指网络视频,否...

  • FFmpeg4Android:视频文件推流

    8 FFmpeg4Android:视频文件推流 8.1 推流原理 RTMP推流器(Streamer)的在流媒体系统...

  • FFmpeg 推流总结

    关于FFmpeg的相关资料国内比较少而且很乱,在此整理。 1、FFmpeg发送流媒体的命令(UDP,RTP,RTM...

  • FFmpeg流媒体(3)

    FFmpeg录制HTTP流 1、seekable参数 如上,设置seekable为1,使FFmpeg可以对HTTP...

  • FFmpeg流媒体(2)

    FFmpeg录制RTSP流 1、查看RTSP参数 2、TCP方式录制RTSP直播流 如上,使用TCP方式拉流并保存...

  • FFmpeg流媒体(1)

    FFmpeg发布与录制RTMP流 1、rtmp_app参数 通过该参数设置推流发布点,录制命令如下: 或发布流命令...

  • FFmpeg流媒体(5)

    FFmpeg推多路流 1、管道方式输出多路流 如上,音频编码为AAC,视频编码为libx264,输出格式为FLV,...

  • FFmpeg流媒体(6)

    FFmpeg生成HDS流 1、HDS参数说明 如上所示,主要包含四个参数: window_size:HDS切片信息...

网友评论

      本文标题:FFmpeg流媒体(4)

      本文链接:https://www.haomeiwen.com/subject/ifczyqtx.html