ffmpeg录屏及截图
【ffmpeg录屏及截图】"""录屏"""
# 先将rtsp流转为rtmp流
ffmpeg -i "rtsp://admin:admin123@192.168.3.214:554/cam/realmonitor?channel=1&subtype=0" -acodec copy -vcodec copy -f flv "rtmp://192.168.3.208:1935/live/play"
# 利用rtmpdump录屏
rtmpdump -v -m 0 -r rtmp://192.168.3.208:1935/live/play -o /tmp/target.mp4
-v:是说明视频流是一个直播流
-m:是超时时间,0表示不超时
-r:表示rtmp的url
-o: 输出文件
"""截图"""
ffmpeg -re -stream_loop -1 -i "(rtsp)/(rtmp链接地址 live=1)" -y -f mjpeg -vframes 1 /tmp/da.jpg && echo succeeded||echo failed# rtmp链接可能会中断正在中转的rtsp进程
-i: rtsp地址
-y: 强制覆盖文件(防止因为重名出错)
-f: 图片格式
-vframes: 指定抽取的帧数,如-vframes 120,指定抽取120张
-s:格式大小,如-s 640x360
-ss:起始时间,如-ss 01:30:14,从01:30:14开始
-q:v 2:图片质量
-r:每秒提取的帧数, -r 1就是每秒抽取1帧
-t: 指定操作的持续时间("-t 0.01"相当于取原视频中的第10s~10.01秒), 一般用于截取视频使用, 而不是用在截图上
-re:根据文件真实的帧率来读取文件,生成实时刷新的直播流,而不是一下子按照电脑的最大性能把文件一下子读进去。实时视频时需要用到
-stream_loop -1:指定循环读取视频源的次数,-1为无限循环,在这里设置可以防止刷新浏览器导致推流结束还要重新输入命令推流
注意:要放在 -i 命令前
# live=1:此选项用于rtmp流区分是否为直播流
rtmp的play包,有几个参数:
-2:猜这个流类型,先试live,然后vod。
-1:live类型,若这个流是点播,就失败。
0:vod类型,若这个流是直播,就失败。
推荐阅读
- FFMPEG音视频系列文章|QT软件开发-基于FFMPEG设计视频播放器-支持软解与硬解-完整例子(六)
- 流媒体服务器|基于Qt和ffmpeg的抓屏rtsp服务(二)
- android|android ffmpeg rtmp,Android利用ffmpeg产生推流
- nginx+ffmpeg|视频直播(使用ffmpeg推送到nginx-rtmp实现rtsp转换rtmp)
- #|JavaCV-FFmpeg软封装多线程实现录制或推送rtsp流
- 音视频开发进阶|FFmpeg 代码实现流媒体推流(RTSP)
- ubuntu|桌面录屏推流(ffmpeg/gstreamer+ZLMediaKit推流rtmp/rtsp)
- 阿里云PolarDB-X荣获“2022|阿里云PolarDB-X荣获“2022 OSCAR 尖峰开源项目及开源社区”奖
- 数学建模与Matlab|层次分析法及matlab代码
- 1|C语言编程>第二十周 ③ 请补充fun函数,该函数的功能是(把字符串s中的字符按字符的ASCII码升序排列,处理后的字符串仍然保存在原串中,字符串及其