首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >OTT设备无损录屏方案

OTT设备无损录屏方案

作者头像
岛哥的质量效能笔记
发布于 2022-04-12 06:28:13
发布于 2022-04-12 06:28:13
79300
代码可运行
举报
运行总次数:0
代码可运行

背景

OTT的设备越来越多,用户量也越来越大,因此性能问题特别是应用启动和页面加载耗时的评测需求也越来越多,目前响应耗时类的自动化测试主要有两种方案:一种是通过埋点,一种是通过录屏。

其中埋点方案最大的缺点就是埋点时间和实际时间不一致,特别是一些存在二次刷新的场景,所以埋点方案无法反映用户的真实体感,因此本文主要介绍录屏方案在OTT端的实践。

方案调研

OTT设备目前大部分都是基于Android系统的,因此可以直接使用之前文章《一分钟教你Android、iOS如何实现自动化录屏,超实用!》中提到的方法,优点是方便,不需要借助任何外部设备,但缺点也很明显就是需要消耗设备资源,会对系统本身性能产生影响,进而影响到应用启动和页面加载的响应耗时。

另外一种方案是利用OTT的特性,通过外设采集HDMI的输出然后将其转为USB的输入,然后在PC上用ffmpeg采集USB的输入内容即可完成屏幕的录制,这种方案的优点是对系统性能几乎没有任何影响,但缺点的话就是需要额外的硬件设备。

硬件准备

首先我们肯定是需要准备好待测试的OTT设备以及执行自动化测试任务的PC执行机(Linux),然后还需要两个配件:

1、HDMI转USB采集卡

2、HDMI线

软件准备

需要在执行自动化的机器上安装以下两个软件包:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo apt install ffmpeg
sudo apt install v4l-utils

执行录屏

将HDMI转USB采集卡的USB口连接到我们执行自动化的机器,HDMI口通过HDMI线连接到OTT设备上,首先执行下面的命令查看录屏输入端口:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
v4l2-ctl --list-devices
USB Video: USB Video (usb-0000:00:14.0-3.1): 
        /dev/video2 
        /dev/video3

然后就可以在执行自动化的机器上执行下面的命令完成OTT设备的屏幕录制了:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ffmpeg -t 10 -y -f v4l2 -i /dev/video2 output.mp4 -video_size hd720
参数说明:
-t 10: 录制时长,单位秒,这里主要是外部传入,实际使用过程中10-15s就可以;
-y :强制覆盖,如果文件重名直接覆盖;
-f v4l2: 视频挂载的设备,linux下为v4l2;
-i /dev/video2 : 指定录屏输入端口 
output.mp4: 输出的文件,注意是pc上的文件路径; 
-video_size hd720: 指定输出视频分辨率
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-03-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 岛哥的质量效能笔记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
采用v4l2loopback来实现 虚拟Camera
Android上面实现虚拟摄像头的思路有很多,本文提供的一个思路是,采用v4l2loopback 来实现。
小驰行动派
2025/03/07
6960
采用v4l2loopback来实现 虚拟Camera
基于机器学习的启动耗时自动化测试方案
当一个应用的用户越来越多,业务越来越复杂,性能问题就会突显,特别是在低端机上的用户感受尤为明显,甚至会影响到应用的用户活跃度、停留时长等重要指标,提升应用在中低端机上的性能迫在眉睫。如何来对研发同学的优化做出合理的评测我们需要思考下面两点:
岛哥的质量效能笔记
2021/08/18
6430
基于机器学习的启动耗时自动化测试方案
一分钟教你Android、iOS如何实现自动化录屏,超实用!
在做移动端自动化测试的过程中,有很多场景需要录制设备的屏幕视频,比如Crash现场记录,启动/页面加载耗时类的评测等,那么如何实现Android和iOS设备的屏幕录制呢?
岛哥的质量效能笔记
2021/08/18
2.3K0
一分钟教你Android、iOS如何实现自动化录屏,超实用!
用ffmpeg录屏
ffmpeg命令博大精深,老牛逼了,转换格式、录屏、截取视频片段、合并等等,最最强大的视频工具,没有之一
Windows技术交流
2023/10/19
5760
ffmpeg常用命令
FFmpeg是一个强大的开源多媒体处理工具,它可以用于录制、转换以及流化音频和视频。它是一个跨平台的项目,可以在多种操作系统上运行,包括Windows、Mac OS和Linux。这个工具可以执行各种各样的音视频处理任务,包括但不限于:
Jensen_97
2024/04/18
5770
基于RK3588J的6路MIPI CSI视频采集案例分享,多路视频系统必看!
本文主要介绍基于创龙科技TL3588-EVM评估板(基于RK3588J)的6路高清视频采集案例,开发环境如下。
创龙科技Tronlong
2024/07/30
5501
基于RK3588J的6路MIPI CSI视频采集案例分享,多路视频系统必看!
FFmpeg从入门到精通-云享读书会
FFmpeg是一款开源软件,用于生成处理多媒体数据的各类库和程序。FFmpeg可以转码、处理视频和图片(调整视频、图片大小,去噪等)、打包、传输及播放视频。作为最受欢迎的视频和图像处理软件,它被来自各行各业的不同公司所广泛使用。
DS小龙哥
2022/10/06
5.5K0
FFmpeg从入门到精通-云享读书会
深入学习Linux摄像头v4l2应用编程
vl42是video for Linux 2的缩写,是一套Linux内核视频设备的驱动框架,该驱动框架为应用层提供一套统一的操作接口(一系列的ioctl)
杨源鑫
2023/11/16
2.2K0
深入学习Linux摄像头v4l2应用编程
ffmpeg 下载、安装、配置、基本语法、避坑指南(覆盖 Windows、macOS、Linux 平台)
本文是一篇面向初学者的超详细 FFmpeg 教程,包括 FFmpeg 下载、安装、配置、基本语法 与 避坑指南。覆盖 Windows、macOS、Linux 平台的安装方式与 环境变量 设置,通过示例深入讲解 FFmpeg 常见参数(-i 输入、-c:v/libx264 视频编解码、-c:a/aac 音频编码、-b:v/-crf 码率控制、-s 分辨率、-r 帧率、-vf/-af 滤镜等),展示 格式转换、视频裁剪分割、合并拼接、截取缩略图、录制屏幕/摄像头 等核心操作。文章还详细讲解 版本兼容问题、编解码器授权、路径与权限、命令行拼写、输出质量与体积平衡、日志调试技巧 等常见坑与解决方案,帮助大家快速掌握 FFmpeg 视频转码、音频处理、流媒体推流与多媒体编辑的一劳永逸方法。
猫头虎
2025/06/08
1.7K0
rodert教你学FFmpeg实战这一篇就够了
链接:https://pan.baidu.com/s/11kIaq5V6A_pFX3yVoTUvzA
JavaPub
2022/03/18
1.2K0
rodert教你学FFmpeg实战这一篇就够了
RTSP 流相关工具介绍
RTSP (Real Time Streaming Protocol),实时流协议,是一种应用层协议,专为流媒体使用。本文将介绍 GStreamer, VLC, FFmpeg 这几个工具,如何发送、接收 RTSP 流。
GoCoding
2021/05/06
3.4K0
RTSP 流相关工具介绍
【分享】解决gst-launch-1.0错误“ERROR: Failed to allocate required memory.”
执行gst-launch-1.0时,得到错误“ERROR: from element /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: Failed to allocate required memory.”。
hankfu
2020/07/16
2.5K0
浅析 Web 录屏技术方案与实现
本文首发于政采云前端团队博客:浅析 Web 录屏技术方案与实现 https://www.zoo.team/article/webrtc-screen
政采云前端团队
2021/11/12
2.1K0
6T算力NPU!基于RK3588国产平台的YOLOv5目标识别案例,真的强!
极致算力:瑞芯微RK3588国产平台,6TOPS高性能NPU,支持复杂神经网络推理;
创龙科技Tronlong
2025/04/10
3910
6T算力NPU!基于RK3588国产平台的YOLOv5目标识别案例,真的强!
Windows本地部署直播录屏利器Bililive-go并实现远程添加直播间录屏
相信很多小伙伴都喜欢看直播,不过如果一旦临时有事看不了直播,可能一般只能在第二天去网上找录屏组的直播录像。但如果找不到,那就很遗憾了。于是,今天就和大家分享一款可以在Windows、MacOS、Linux等多个系统进行部署的开源录屏服务Bililive-go。
ImAileen
2024/05/26
4860
Windows本地部署直播录屏利器Bililive-go并实现远程添加直播间录屏
FFmpeg常用操作
ffmpeg是一个源于Linux的工具软件,是FLV视频转换器,可以轻易地实现FLV向其它格式avi、asf、 mpeg的转换或者将其它格式转换为flv。
码客说
2019/10/21
3.4K0
[完结18章]C++大型流媒体项目-从底层到应用层千万级直播系统实战
它将频、音视频之类的连续媒体经压缩编码、数据打包后按照一定的时间间隔要求连续地发送给接收方,接收方在后续数据不断到达的同时对接收到的数据进行重组、解码和播放。
坚强的企鹅904695682
2024/08/26
3690
【分享】解决VPSS设计中没有media设备的问题
使用hdmi-rx, vpss, frmbuf_write,设计了video输入的pipeline。使用PetaLinux基于XSA做了linux,编译成功,启动也成功。
hankfu
2022/05/09
8760
Linux平台屏幕|摄像头采集并实现RTMP推送两种技术方案探究
随着国产化操作系统的推进,市场对国产化操作系统下的生态构建,需求越来越迫切,特别是音视频这块,今天我们讨论的是如何在linux平台实现屏幕|摄像头采集,并推送至RTMP服务。
音视频牛哥
2024/09/06
2270
Linux平台屏幕|摄像头采集并实现RTMP推送两种技术方案探究
Qt音视频开发36-USB摄像头解码qcamera方案
除了监控专用的摄像头以外,有一些应用场景用的还是USB摄像头,甚至还有一些单片机或者开发板上用的CMOS摄像头,而Qt在嵌入式领域应用相当广,所以用Qt来读取加载显示USB摄像头和CMOS摄像头,也是非常多Qter做过的事情,qt本身就封装了qcamera类,专用于本地摄像头的读取显示,这个类主要是在windows系统和安卓系统比较好使,在嵌入式上歇菜,而且安卓上widget的qcamera也不好使,要用qml的camera才好使,所以开发人员很多时候,就是在找坑填坑,找到一种最佳的适中方案,比如我自己做过的一个手机app,需要调用手机的摄像头,前置后置还要能切换,抓图做一些处理,用的就是qml嵌入到widget,通过信号槽来通信。
feiyangqingyun
2020/10/18
2.5K0
Qt音视频开发36-USB摄像头解码qcamera方案
推荐阅读
相关推荐
采用v4l2loopback来实现 虚拟Camera
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验