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命令。

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

相关推荐
linux开发之路5 天前
【备战秋招】C++音视频开发经典面试题整理
c++·ffmpeg·音视频·rtmp·音视频编解码
音视频牛哥7 天前
WebRTC与RTSP|RTMP的技术对比:低延迟与稳定性如何决定音视频直播的未来
音视频·大牛直播sdk·rtmp·rtsp·webrtc还是rtmp·webrtc还是rtsp·webrtc和rtmp对比
Edward-tan10 天前
Docker配置SRS服务器 ,ffmpeg使用rtmp协议推流+vlc拉流
docker·ffmpeg·srs·rtmp
superconvert5 个月前
smart_web 管理端基本说明
websocket·nginx·ffmpeg·webrtc·rtmp·hls·srt·m3u8·obs·flv·vmix
Ian10255 个月前
python+openCV+ffmpeg进行物联网设备拉流rtmp
python·opencv·物联网·ffmpeg·iot·rtmp
瘦弱的皮卡丘5 个月前
Adobe Flash,Flash Player和RTMP之间的关系
adobe·rtmp·flash
superconvert5 个月前
怎么在 Linux 下运行 smart_rtmpd
websocket·ffmpeg·webrtc·hevc·aac·rtmp·h264·dash·rtsp·srt·opus·vlc·obs·flv·vmix
韩zj6 个月前
android将pcm byte[]通过Librtmp进行rtmp推流
android·pcm·rtmp
oushaojun26 个月前
ubuntu中使用ffmpeg和nginx推流rtmp视频
nginx·ubuntu·ffmpeg·rtmp
从后端到QT7 个月前
HLS协议之nginx-hls-多码率测试环境搭建
运维·nginx·ffmpeg·音视频·rtmp