- 认证技术问题
- 键鼠模拟点击测试工具--xdotool
- Q:命令行修改屏幕分辨率
- KVM虚拟机-复制克隆(命令行)
- 统信UOS安装cherrytree
- 未进开发者根证书导入uos浏览器生效方案
- 将A卡驱动从从radeon切换为amdgpu
- uos系统ulimit工具使用
- kvm虚拟机运行时显示“启动域时出错”
- UOS文件命名最多支持字符数
- 在uos系统中如何下载不同架构的包
- 登录时输入正确密码后无法登陆 显示密码错误
- 通过终端判断窗口特效是否开启及开启关闭窗口特效
- 应用软件驻留任务栏问题
- FTP底层存储文件乱码
- 初识apache flink
- UOS专业版1032软件商店下载安装包缓存在哪里
- 如何用命令行查看当前cpu温度
- kvm远程连接报错ssh key
- 外设/认证类userid接口获取方式
- 命令行安装字体
- UOS访问windows文件共享
- uos系统中dbus调用api实现一些基本功能
- 用命令行设置关闭显示器、进入待机、自动锁屏
- 命令切换python版本
- uos系统中dbus调用实现系统锁屏
- UOS-lsmhookmanager程序的Demo
- KVM支持UEFI引导
- 身份鉴别系统如何接入UOS的PAM框架
- UOS收集桌面日志
- UOS远程windows桌面
- 获取有效打印机日志方法
- UOS浏览器导入证书
- 开发者问题反馈指南
- 因节信息为空,导致的签名失败的问题
- 搜狗输入法导入字体库
- LightDM桌面显示器相关技术内容(系统默认)
- 源码打包为deb
- 开源大数据部署手册
- UOS查看摄像头是否链接成功
- 安装双系统后无法进入UOS系统
- 进入桌面系统弹黑屏PoolCreationFaile解决办法
- udev详解
- dpkg: 处理软件包 uos-browser-stable
- 统信云打印
- uos-route路由相关操作
- 统信UOS操作系统-共享文件夹
- 统信UOS操作系统-定时关机
- 解决 tail 命令提示“inotify 资源耗尽,无法使用
- 使用字体管理器导入字体
- 清除浏览器dns缓存
- 在 Linux 中永久修改 USB 设备权限
- kvm 显示spice协议错误
- uos系统切换java版本
- rpm包在uos系统无法直接安装
- 更改密码后如何绕过登陆密钥环验证
- deb安装后,启动菜单没有启动图标
- 应用上架报错“获取不到包信息请检查”
- qt creator不能输入中文
- uname -v 第一个字段意义
- zabbix安装文档
- 统信服安装完系统后,切换root用户没有root用户密码
- uos系统中dbus调用实现特效模式开关
- UOS非开发者模式调用dmidecode
- 非适配完成打印机官方驱动安装方法
- apache spark 部署
- 使用MegaCli做raid
- 任务栏出现两个图标
- 通过 gdebi 工具解决安装本地包缺失依赖问题
- UOS通过Nginx托管Net Core服务
- 回收站删除时提示权限问题无法删除
- Linux 命令行查看图片详细信息(分辨率、色深、格式等)
- 切换JDK默认版本
- uos Postgresql 12.1 安装过程笔记
- PostgreSQL关系数据库
- kvm虚拟机运行时显示“启动域时出错”
- 统信UOS安装steam
- 如何查看uos浏览器是否支持flash
- uos系统中dbus调用api实现个性化透明度
- 如何确定deb包是否已经过统信方面的签名
- appimage打包基础步骤
- 命令行制作U盘启动盘方法
- vim配置优化
- 强制关机后磁盘数据损坏,initramfs无法挂载进不去系统
- 如何安装Debian&uos双系统
- 激活过程中提示服务器连接失败
- UOS浏览器内部协议(部分)
- uos设备管理器取值对照表
- 系统最小化安装,字符界面实现EAP认证
- dbus使用方法
- uos系统中dbus调用实现注销系统
- KVM虚拟机--删除(命令行)
- ppd文件打包deb
- uos和uos之间如何共享奔图打印机
- 驱动安装时提示"hplip-plugin"无法安装
- 离线环境先如何激活系统
- 基于UOS 部署微软.NET环境
- 外设驱动重新打包
- 关于打包过程dpkg-source -b . 命令构建出deb包时报错简单分析
- UOS更换英伟达官方显卡驱动
- 如何查看系统安装时间
- uos1030MIPS服务器安装kms激活
- uos远程连接工具--FinalShell的安装和使用
- 公网deb包转uos的deb包
- 开机引导后无法进入系统,显示busybox v1.30.
- 统信UOS命令行更改时间
- 在商店上架的应用显示程序大小异常
- 点击桌面上关机按钮,提示阻挡关机
- UOS浏览器下查看浏览器插件情况
- 打包规范之control文件字段说明
- UOS中输入法框架的开发技术是什么?
- uos右键刷新
- 开源堡垒机JumpServer解决方案
- UOS浏览器导入根证书
- 行业版环境如何实现远程适配?
- 修改系统默认语言编码
- 统信桌面操作系统查看当前版本
- 开源ZooKeeper集群解决方案
- lspci命令的应用
- 获取xxx软件包及依赖
- 开源ffmpeg的使用
- 用uos创建共享打印机
- deb安装,右键卸载失败的问题
- 系统历史启停时间查询脚本
- 串口使用及配置
- UOS切换至root用户命令无法补全问题
- .desktop文件Exec字段参数解释
- 自签名后因为系统时间变更导致程序无法运行
- 怎么使用iBMC工具安装uos操作系统
- activemq服务无法启动
- 二进制软件包打包为deb
- apt命令提示lock异常解决方案
- 应用软件打包辅助工具v1.0版本
- "提示:E: dpkg 被中断,您必须手工运行 ‘sudo
- 最小化环境命令行激活系统
- 如何拉取软件依赖包
- dpkg: 警告: 无法找到软件包 xxx 的文件名列表文件
- uos浏览器如何清除dns缓存
- 浏览器闪退解决方案
- 检查deb包打包规范脚本
- UOS自定义右键新建文档
- apache samza部署
- UOS 实现 rc.local 开机执行命令
- smb自动挂载
- UOS 搭建Firekyin个人网站
- 统信服务器操作系统设置登录时自动填充用户名
- 修改tomcat的最大连接数
- 单用户模式下创建一个可登录的用户
开源ffmpeg的使用
当前钉钉完成适配的版本不支持语音/视频功能,正在开发此模块功能的阿里团队研发咨询我们相关编译及调用方面,ffmpeg是一个开源的音/视频/编码的方案,当前统信系统支持命令行方式调用,关于适配的api接口方案正在开发中,如果有第三方关于此方面的需求,ffmpeg算一个临时解决方案,具体使用方式如下:
ffmpeg录制和推流指令
相关术语
缩写 | 全称 | 描述 |
---|---|---|
ffmpeg |
ffmpeg |
是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。采用LGPL 或GPL 许可证。提供了录制、转换以及流化音视频的完整解决方案。 |
一、屏幕录制
1.简单录屏录制
- 指令
ffmpeg -f x11grab -framerate 24 -video_size 1920x1080 -i ":0+0,0" -c:v libx264 out.mp4
- 参数说明
指令 | 值 | 描述 |
---|---|---|
-f |
x11平台:x11grab ;wayland平台:暂不支持 ;windows平台:gdigrab ;MAC OS平台:avfoundation |
视频输入设备 |
-framerate |
参考值:24 |
设置视频帧率 |
-video_size |
参考值:1920x1080 ,注:不能超过屏幕区域 |
设置录制视频分辨率 |
-i |
参考值:":z+x,y" |
z:"DISPLAY" 环境变量内容;录屏区域左上角坐标(x,y) ,注:不能超过屏幕区域 |
-c:v |
参考值:libx264 或者mpeg4 编码格式 |
设置视频编码器类型 |
2.复杂录屏录制
- 指令
ffmpeg -f x11grab -framerate 24 -probesize 24M -thread_queue_size 64 -video_size 1920x1080 -i ":0+0,0" -c:v libx264 -pix_fmt yuv420p -crf 23 -preset ultrafast -vf "scale=trunc(iw/2)*2:trunc(ih/2)*2" out.mp4
- 参数说明
指令 | 值 | 描述 |
---|---|---|
-probesize |
参考值:24M |
设置用于读取文件信息的数据源大小 |
-thread_queue_size |
参考值:64 |
设置输入线程缓冲区大小 |
-pix_fmt |
参考值:yuv420p |
设置像素格式 |
-preset |
指定编码速度,速度越慢,画质越好,cpu 占用越高,可取值:"ultrafast", "superfast", "veryfast", "faster", "fast", "medium", "slow", "slower", "veryslow", "placebo", 0 |
调节编码速度与质量的平衡 |
-crf |
Constant Rate Factor 恒定码流控制,取值范围为0-51 ,其中0 为无损模式;数值越大,画质越差,生成的文件越小。 |
恒速率因子 |
-vf |
"scale=trunc(iw/2)*2:trunc(ih/2)*2" |
视频过滤器,像素宽高偶数值 |
3.录音频+视频
- 指令
ffmpeg -f pulse -ac 2 -ar 44100 -thread_queue_size 32 -fragment_size 4096 -i 0 -f x11grab -framerate 24 -probesize 24M -thread_queue_size 64 -video_size 1920x1080 -i ":0+0,0" -c:v libx264 -pix_fmt yuv420p -crf 23 -preset ultrafast -vf "scale=trunc(iw/2)*2:trunc(ih/2)*2" out.mp4
- 参数说明
指令 | 值 | 描述 |
---|---|---|
-f |
pulse |
设置音频源 |
-ac |
参考值:2 |
设置输出通道数 |
-ar |
参考值:44100 |
设置音频采样率 |
-thread_queue_size |
参考值:32 |
设置输入线程系统音频缓冲区大小 |
-thread_queue_size |
参考值:4096 |
设置音频帧大小 |
-i |
系统音频号,或麦克风:default |
系统音频id |
- 查询系统音频号指令
//arm
pacmd list-sources | grep -PB 1 'USB.*stereo.*monitor>' | head -n 1 | perl -pe 's/.* //g'
//mips
pacmd list-sources | grep -v 'hdmi' | grep -PB 1 'output.*monitor>' | head -n 1 | perl -pe 's/.* //g'
//x64
pacmd list-sources | grep -PB 1 'analog.*monitor>' | head -n 1 | perl -pe 's/.* //g'
4.录混音+视频
说明:混音是指:录制系统音+麦克风音
指令
ffmpeg -f pulse -ac 2 -ar 44100 -thread_queue_size 32 -fragment_size 4096 -i 1 -f pulse -ac 2 -ar 44100 -thread_queue_size 32 -fragment_size 4096 -i default -filter_complex amerge -f x11grab -framerate 24 -probesize 24M -thread_queue_size 64 -video_size 1920x1080 -i :0+0,0 -c:v libx264 -pix_fmt yuv420p -crf 23 -preset ultrafast -vf "scale=trunc(iw/2)*2:trunc(ih/2)*2" out.mp4
参数说明
参数顺序
录制混音时,系统音放前面。
指令 | 值 | 描述 |
---|---|---|
-filter_complex |
amerge |
音频合并 |
二、录制摄像头
1.简单录制摄像头
- 指令
ffmpeg -s 1920x1080 -i /dev/video0 out.mp4
- 参数说明
指令 | 值 | 描述 |
---|---|---|
-s |
参考值:1920x1080 |
调整视频分辨率 |
-i |
叁考值:/dev/video0 ,查询摄像头设备指令:ls /dev/video* |
摄像头视频源 |
三、推流
1.视频文件推流
- 指令
ffmpeg -re -i "out.mp4" -vcodec copy -acodec aac -b:a 192k -f flv "rtmp://sendtc3.douyu.com/live/2116359r67ZTiAMB?wsSecret=436d60ecb2442c7b8d9e8233928af41c&wsTime=6084ff3c&wsSeek=off&wm=0&tw=0&roirecognition=0&record=flv&origin=tct"
- 参数说明
指令 | 值 | 描述 |
---|---|---|
-re |
按照视频的FPS 进行推流 |
|
-i |
"out.mp4" |
被推的视频文件 |
-vcodec |
copy |
指定视频编码为复制 |
-acodec |
aac |
音频使用aac 编码 |
-b:a |
192k |
指定码率 |
-f |
flv |
指定输出格式,必须为flv ,才能推送至直播服务器 |
2.摄像头推流
- 指令
ffmpeg -f video4linux2 -r 12 -s 640x480 -i /dev/video0 -vcodec libx264 -f flv "rtmp://sendtc3.douyu.com/live/2116359r67ZTiAMB?wsSecret=436d60ecb2442c7b8d9e8233928af41c&wsTime=6084ff3c&wsSeek=off&wm=0&tw=0&roirecognition=0&record=flv&origin=tct"
- 参数说明
指令 | 值 | 描述 |
---|---|---|
-f |
video4linux2 |
格式 |
-r |
12 |
帧率 |
-s |
640x480 |
设置视频分辨率 |
-i |
/dev/video0 ,查询摄像头设备指令:ls /dev/video* |
摄像头视频源 |
3.屏幕推流
- 指令
ffmpeg -f x11grab -framerate 12 -video_size 1920x1080 -i ":0+0,0" -c:v libx264 -f flv "rtmp://sendtc3.douyu.com/live/2116359r67ZTiAMB?wsSecret=436d60ecb2442c7b8d9e8233928af41c&wsTime=6084ff3c&wsSeek=off&wm=0&tw=0&roirecognition=0&record=flv&origin=tct"
- 参数说明
指令 | 值 | 描述 |
---|---|---|
-f |
x11平台:x11grab ;wayland平台:暂不支持 ;windows平台:gdigrab ;MAC OS平台:avfoundation |
视频输入设备 |
-framerate |
参考值:12 |
设置视频帧率 |
-video_size |
参考值:1920x1080 ,注:不能超过屏幕区域 |
设置视频分辨率 |
-i |
参考值:":z+x,y" |
z:"DISPLAY" 环境变量内容;录屏区域左上角坐标(x,y) ,注:不能超过屏幕区域 |
-c:v |
参考值:libx264 或者mpeg4 编码格式 |
设置视频编码器类型 |
-f |
flv |
指定输出格式,必须为flv ,才能推送至直播服务器 |
注:由于目前未架设推流服务器,所采用斗鱼免费推流服务器用于测试。rtmp
地址为实名认证推流地址,仅用于测试,并且不能推送非法内容。
拉流
https://www.douyu.com/2116359?_r=0.6673476970670829
直接用浏览器打开观看。