当前位置: 首页 > news >正文

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

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

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • yolov8多任务模型-目标检测+车道线检测+可行驶区域检测-yolo多检测头代码+教程
  • 硬件工程师笔试面试——变压器
  • OpenAl o1论文:Let’s Verify Step by Step 快速解读
  • 模版进阶(template)
  • MySQL行转列
  • 聊聊Netty对于内存方面的优化
  • 使用 Sahi 实现 Web 自动化测试
  • HeterGCL-Graph Contrastive Learning Framework on Heterophilic Graph
  • 魅族20机型 M2381“工程固件”作用分析以及写入步骤
  • 机器学习,深度学习,AGI,AI的概念和区别
  • Mycat搭建分库分表
  • PyRFC 适用于 Python 的异步、非阻塞 SAP NetWeaver RFC SDK 绑定
  • 2012年408考研真题-数据结构
  • 重生之我在Java世界------学单例设计模式
  • 智谱清影 -CogVideoX-2b-部署与使用,带你揭秘生成6s视频的极致体验!
  • @angular/forms 源码解析之双向绑定
  • [分享]iOS开发-关于在xcode中引用文件夹右边出现问号的解决办法
  • “寒冬”下的金三银四跳槽季来了,帮你客观分析一下局面
  • android百种动画侧滑库、步骤视图、TextView效果、社交、搜房、K线图等源码
  • canvas绘制圆角头像
  • hadoop集群管理系统搭建规划说明
  • java8 Stream Pipelines 浅析
  • Linux后台研发超实用命令总结
  • node-sass 安装卡在 node scripts/install.js 解决办法
  • SpringBoot几种定时任务的实现方式
  • 构造函数(constructor)与原型链(prototype)关系
  • 好的网址,关于.net 4.0 ,vs 2010
  • 数据科学 第 3 章 11 字符串处理
  • 限制Java线程池运行线程以及等待线程数量的策略
  • 一个6年java程序员的工作感悟,写给还在迷茫的你
  • elasticsearch-head插件安装
  • scrapy中间件源码分析及常用中间件大全
  • ## 1.3.Git命令
  • #{}和${}的区别?
  • #window11设置系统变量#
  • $.each()与$(selector).each()
  • (07)Hive——窗口函数详解
  • (2024,Flag-DiT,文本引导的多模态生成,SR,统一的标记化,RoPE、RMSNorm 和流匹配)Lumina-T2X
  • (27)4.8 习题课
  • (编程语言界的丐帮 C#).NET MD5 HASH 哈希 加密 与JAVA 互通
  • (二)Kafka离线安装 - Zookeeper下载及安装
  • (二刷)代码随想录第15天|层序遍历 226.翻转二叉树 101.对称二叉树2
  • (转)C语言家族扩展收藏 (转)C语言家族扩展
  • (转载)虚函数剖析
  • **PHP分步表单提交思路(分页表单提交)
  • .bat批处理(六):替换字符串中匹配的子串
  • .java 指数平滑_转载:二次指数平滑法求预测值的Java代码
  • .NET CLR基本术语
  • .NET CORE 2.0发布后没有 VIEWS视图页面文件
  • .NET Core 2.1路线图
  • .net core 连接数据库,通过数据库生成Modell
  • .NET大文件上传知识整理
  • .NET框架设计—常被忽视的C#设计技巧
  • .Net下的签名与混淆
  • @private @protected @public