rtmp推流

获取摄像头名称
  • 打开命令行工具,运行以下命令以列出所有可用的视频设备:

    ffmpeg -f dshow -list_devices true -i dummy
    
  • 查找输出中的"Video devices"部分,记录下你的摄像头名称。

构建推流命令

ffmpeg -f dshow -i video="摄像头名称":audio="麦克风名称" -vcodec libx264 -preset veryfast -tune zerolatency -acodec aac -ar 44100 -ac 2 -b:a 128k -f flv rtmp://服务器地址/应用名/流名称
  • -acodec aac 设置音频编码为AAC。
  • -ar 44100 设置音频采样率为44100Hz。
  • -ac 2 设置音频通道数为2(立体声)。
  • -b:a 128k 设置音频比特率为128kbit/s。

如果想要同时使用两个摄像头进行推流,其中一个是本地摄像头(同时录制声音和视频),另一个是外接摄像头(仅录制视频),你可以使用FFmpeg的concat功能或者使用两个独立的FFmpeg进程。以下是使用两个FFmpeg进程的方法:

首先,为每个摄像头分别启动一个FFmpeg进程。

1. 本地摄像头(录制声音和视频)

ffmpeg -f dshow -i video="本地摄像头名称":audio="麦克风名称" -vcodec libx264 -acodec aac -preset veryfast -tune zerolatency -f flv rtmp://服务器地址/应用名/本地摄像头流名称

2. 外接摄像头(仅录制视频)

ffmpeg -f dshow -i video="外接摄像头名称" -vcodec libx264 -preset veryfast -tune zerolatency -an -f flv rtmp://服务器地址/应用名/外接摄像头流名称

-an 参数用于禁用音频录制,因为我们只想要外接摄像头的视频流。

执行两个FFmpeg命令

  • 打开两个命令提示符窗口。
  • 在第一个窗口中运行本地摄像头的FFmpeg命令。
  • 在第二个窗口中运行外接摄像头的FFmpeg命令。

这样,两个摄像头就会分别推流到服务器上指定的不同流名称。

相关推荐
从后端到QT12 天前
HLS协议之nginx-hls-多码率测试环境搭建
运维·nginx·ffmpeg·音视频·rtmp
Linux音视频开发16 天前
C#实现信创国产Linux麦克风摄像头推流(源码,银河麒麟、统信UOS)
信创·推流·rtmp·国产化·摄像头推流
freeabc16 天前
利用 OBS 推送 WEBRTC 流到 smart rtmpd
服务器·webrtc·rtmp·rtsp·sfu·whip/whep
superconvert2 个月前
主流流媒体的综合性能大 PK ( smart_rtmpd, srs, zlm, nginx rtmp )
websocket·ffmpeg·webrtc·hevc·rtmp·h264·hls·dash·rtsp·srt·flv
点量云实时渲染-小芹2 个月前
浅析网页不安装插件播放RTSP/FLV视频的方法
音视频·webrtc·rtmp·rtsp无插件网页播放·flv视频网页播放
伊织code3 个月前
python_rtmpstream - Python rtmp 推流
开发语言·python·ffmpeg·stream·推流·rtmp
runner365.git6 个月前
ffmpeg7.0 flv支持hdr
音视频·rtmp·flv
Naylor8 个月前
Nginx安装nginx-rtmp-module模块
nginx·rtmp
北雨南萍8 个月前
janus-gateway的videoroom插件的RTP包录制功能源码详解
webrtc·rtmp·record·janus-gateway