网站首页 > 精选教程 正文
ffmpeg在以前介绍过,是一个相当强大的工具,我们这次利用它实现rtmp推流(最终推流地址统一为rtmp://127.0.0.1:1935/live/123)。
1、首先下载ffmpeg和ffplay
http://ffmpeg.org/
官方下载链接为:http://ffmpeg.org/
2、cmd进入ffmpeg所在目录
cmd进入ffmpeg.exe所在目录
3、ffmpeg查看电脑设备
输入下面的语句即可列出电脑的设备
ffmpeg -list_devices true -f dshow -i dummy
ffmpeg -list_devices true -f dshow -i dummy
可以看到我电脑里面有USB2.0 PC CAMERA摄像头和一个乱码的麦克风
如果设备名称有中文,会出现乱码,想看设备原名,可以去设备管理器中查看,又可以利用第三方工具查看,推荐后者。
比如使用graphedit,打开程序后 图表-> 插入过滤器,就可以看到相应的设备名
可以发现可用设备为USB2.0 PC CAMERA和麦克风 (2- USB2.0 MIC)
可以发现可用设备为USB2.0 PC CAMERA和麦克风 (2- USB2.0 MIC)
相关学习资料推荐,点击下方链接免费报名,先码住不迷路~】
音视频免费学习地址:FFmpeg/WebRTC/RTMP/NDK/Android音视频流媒体高级开发
【免费分享】音视频学习资料包、大厂面试题、技术视频和学习路线图,资料包括(C/C++,Linux,FFmpeg webRTC rtmp hls rtsp ffplay srs 等等)有需要的可以点击788280672加群免费领取~
4、测试摄像头是否可用
cmd中输入下面语句并回车(USB2.0 PC CAMERA为摄像头名称)
ffplay -f dshow -i video="USB2.0 PC CAMERA"
或者
ffplay -f vfwcap -i 0
弹出的监控画面
如果成功弹出播放窗口,则代表设备可用,否则可能是设备不可用或者设备被占用
5、查看摄像头和麦克风信息
cmd中输入下面语句即可查询摄像头信息
ffmpeg -list_options true -f dshow -i video="USB2.0 PC CAMERA"
ffmpeg -list_options true -f dshow -i video="USB2.0 PC CAMERA"
USB2.0 PC CAMERA摄像头信息
cmd中输入下面语句即可查询麦克风信息
ffmpeg -list_options true -f dshow -i audio="麦克风 (2- USB2.0 MIC)"
麦克风(2- USB2.0 MIC)信息
6、本地视频的推流
先进行简单的本地视频推流模拟,我们在ffmpeg的目录下放置一个视频,然后cmd进入该目录,把视频推流至_rtmp://127.0.0.1:1935/live/123(127.0.0.1:1935为rtmp服务器地址、live为nginx配置节点、123当做密钥,推流拉流地址一样即可播放)_,语句如下
ffmpeg.exe -re -i demo.wmv -f flv rtmp://127.0.0.1:1935/live/123
推流中...
此时ffmpeg源源不断的把视频推流至服务器,如果地址没错,可以利用vlc或其他手段实现拉流,这里就先不解释如何拉流
7、摄像头推流
接下来正式把对摄像头进行推流,从前面我们知道摄像头名称为USB2.0 PC CAMERA,而且推流服务器ip为127.0.0.1:1935,关键字为live,所以cmd中输入以下语句:
ffmpeg -f dshow -i video="USB2.0 PC CAMERA" -vcodec libx264 -preset:v ultrafast -tune:v zerolatency -f flv rtmp://127.0.0.1:1935/live/123
摄像头推流中
和本地视频推流一样,摄像头拍到的画面会实时推流出去(当然会有延迟而且现在是没有声音的),当地址正确时,可以实现拉流
8、麦克风推流
前面介绍了摄像头画面推流,可是没有声音,这次我们把麦克风声音推流出去,cmd中输入下面语句
ffmpeg -f dshow -i audio="麦克风 (2- USB2.0 MIC)" -vcodec libx264 -preset:v ultrafast -tune:v zerolatency -f flv rtmp://127.0.0.1:1935/live/123
推送声音
和前面差不多,声音被推流出去了,通过vlc拉流可以听到录制的声音,但很明显不会有画面
9、摄像头&麦克风推流
终于到最激动人心的时刻了,我们这次要实现同时推流摄像头画面与声音,此时我们的语句应该如下
ffmpeg -f dshow -i video="USB2.0 PC CAMERA" -f dshow -i audio="麦克风 (2- USB2.0 MIC)" -vcodec libx264 -preset:v ultrafast -tune:v zerolatency -f flv rtmp://127.0.0.1:1935/live/123
或者
ffmpeg -f dshow -i video="USB2.0 PC CAMERA":audio="麦克风 (2- USB2.0 MIC)" -vcodec libx264 -r 25 -preset:v ultrafast -tune:v zerolatency -f flv rtmp://127.0.0.1:1935/live/123
监控画面与声音同步推流
很nice,和前面一样,画面与声音源源不断的被推流到服务器,接下来我们就应该正式的开发拉流了
原文 https://zhuanlan.zhihu.com/p/101960559
猜你喜欢
- 2024-10-05 技术分享|如何搭建直播场景下的推拉流媒体服务器
- 2024-10-05 Linux运维面试nginx都问哪些问题呢?
- 2024-10-05 Nginx实现数据库负载均衡 nginx实现数据库负载均衡的方法有
- 2024-10-05 github项目:LiveRoomDemo 动手打造属于自己的直播间
- 2024-10-05 RTMP流媒体播放过程及协议学习 rtsp流媒体
- 2024-10-05 SRT在B站的落地 道奇战斧srt超跑
- 2024-10-05 音视频基础(网络传输): RTMP封包 mp4封装是什么意思
- 2024-10-05 SRS 4.0 RTMP推拉流转发原理,包括延迟分析
- 2024-10-05 自建rtmp服务器 rtmp 服务端
- 2024-10-05 通过FFmpeg将rtsp流摄像头视频转码为rtmp播放
你 发表评论:
欢迎- 最近发表
-
- 我的世界光影MOD下载(我的世界光影mod下载安装)
- 我的世界1.7/1.8VoxelMap小地图MOD下载
- 我的世界1.7.10多世界 整合包(我的世界1.7.10forge整合包)
- 我的世界1.8最好用的修改器下载(我的世界1.8最好用的修改器下载安装)
- 我的世界更多弯曲动作MOD下载(我的世界更多弯曲动作mod下载手机版)
- 我的世界龙珠MOD下载(我的世界龙珠模组整合包下载)
- 我的世界1.7.10以太2 下载(我的世界以太2mod1.12.2)
- 我的世界虚拟人生MOD下载分享(我的世界虚拟人生下载安装)
- 我的世界无正版账号的简单联机方法(非网易版,仅适用于局域网)
- “我的语言极限,即是我的世界的极限。” ——《On Java》书籍推荐
- 标签列表
-
- nginx反向代理 (57)
- nginx日志 (56)
- nginx限制ip访问 (62)
- mac安装nginx (55)
- java和mysql (59)
- java中final (62)
- win10安装java (72)
- java启动参数 (64)
- java链表反转 (64)
- 字符串反转java (72)
- java逻辑运算符 (59)
- java 请求url (65)
- java信号量 (57)
- java定义枚举 (59)
- java字符串压缩 (56)
- java中的反射 (59)
- java 三维数组 (55)
- java插入排序 (68)
- java线程的状态 (62)
- java异步调用 (55)
- java中的异常处理 (62)
- java锁机制 (54)
- java静态内部类 (55)
- java怎么添加图片 (60)
- java 权限框架 (55)
本文暂时没有评论,来添加一个吧(●'◡'●)