本文主要是介绍ffmpeg直播推拉流实现,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
基本命令
ffmpeg获取摄像头信息
ffmpeg -list_devices true -f dshow -i dummy-list_devices true: 这个参数告诉FFmpeg列出设备列表。true表示要显示详细信息,包括设备名称和描述。-f dshow: 这个参数指定要使用DirectShow框架,它是Windows平台上的多媒体框架。dshow是DirectShow的缩写。-i dummy: -i参数表示输入文件或设备。在这个命令中,dummy表示一个虚拟设备。使用虚拟设备可以获取系统中可用的音视频设备列表,而不是实际读取设备的内容。
ffplay 读取摄像头
ffplay -f dshow -i video=" name " -s 1280x720name 是Alternative name,在摄像头信息中获取替换
推流
UDP推流
ffmpeg -re -i input.mp4 -c copy -f rtsp rtsp://127.0.0.1:8554/streamTCP推流
ffmpeg -re -i input.mp4 -c copy -rtsp_transport tcp -f rtsp rtsp://127.0.0.1:8554/stream循环推流
ffmpeg -re -stream_loop -1 -i input.mp4 -c copy -f rtsp rtsp://127.0.0.1:8554/stream-re 以流的方式读取
-stream_loop 循环读取视频源次数,-1为无限循环
-i 输入的文件
-f 指定的格式
ffmpeg拉流
# ffmpeg:
ffmpeg -stimeout 30000000 -i rtsp://127.0.0.1:8554/stream -c copy output.mp4-stimeout 30000000 为等待RTSP 流连接的时间,单位为us微秒,30000000 为等待 30 秒,如果连接失败则退出。特别注意该字段要放在rtsp地址之前,否者无效。
ffplay
ffplay rtsp://127.0.0.1:8554/stream
rtsp-simple-server工具
mediamtx
直接下载,双击打开,就能直接在Windows上搭建一个rtsp或rtmp服务器
实现直播效果
获取摄像头数据,推流到rtsp服务器
ffmpeg -f dshow -i video="@device_pnp_\\?\usb#vid_04f2&pidmi_00#6&1c9259a2&0&0000#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\global" -vcodec libx264 -preset:v ultrafast -tune:v zerolatency -f rtsp rtsp:127.0.0.1:8554/stream
拉流
ffplay -i rtsp:127.0.0.1:8554/stream
这篇关于ffmpeg直播推拉流实现的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!