Ubuntu系统腾讯会议使用ffmpeg屏幕录制+声音录制
1.腾讯会议for Linux简介
经过一段时间的开发,腾讯终于搞定了Linux系统下的腾讯会议,腾讯会议目前可以进行远程视频对话,桌面远程展示等等功能,与Windows差异并无两样。但是也存在着一些问题。腾讯会议并没有录制视频的功能。所以对于Linux系统我们采用另外的一种方式进行录制.
2.录制方法
使用ffmpeg库首先需要安装对应的软件.可以从Ubuntu 软件源下载对应所需要的软件包
apt search ffmpeg
找到对应的libffmpeg库以及ffmpeg使用软件就可以下载了
sudo apt install ffmpeg
2.1 视频录制
视频录制的方法分为以下的几种,对屏幕的录制,对系统声音的录制,对外接麦克风录制
单纯屏幕操作视频的录制不包含音频的录制,录制的命令如下所示
ffmpeg -video_size 1920x1080 -framerate 25 -f x11grab -i $DISPLAY output.mp4
其中video_size
参数表示的是录制视频的分辨率大小,通常选取的是和自己主机的屏幕分辨率一致即可录制全部的屏幕.framerate
参数表示的是屏幕录制采集的帧数,通常选取的25帧.-f x11grab
参数表示的是使用x11grab
设备进行录制视频.-i $DISPLAY
参数表示的是录制的屏幕,当然也可以选取局部的区域进行录制屏幕,命令如下所示
ffmpeg -video_size 640x480 -framerate 25 -f x11grab -i $DISPLAY.200,500 output.mp4
这里其实表示的就是,我们当前录制的范围选取位置为X=[200,200+640],Y=[500,500+480]
这个范围进行屏幕录制.当然,这里我们可以选择录制的视频格式有MP4,MKV,FLV等等各种格式.
2.2 录制系统声音
录制系统声音需要找到对应的音频录制设备,查找音频录制的设备使用到的命令有
pactl list | grep -A2 'Source #'
显示处的音频设备信息如下所示
Source #1State: IDLEName: alsa_output.pci-0000_00_1f.3.analog-stereo.monitor
--
Source #2State: RUNNINGName: alsa_input.pci-0000_00_1f.3.analog-stereo
其中Source #1
表示的系统主机的声音,Source #2
表示的是插入的耳机声音,这两个是主要的系统录制声音的设备.单独录制音频的命令如下所示
ffmpeg -f pulse -i alsa_output.pci-0000_00_1f.3.analog-stereo.monitor -qscale 0.01 output.mp3
这样就会单独录制系统的声音.录制耳机或者是外部设备的命令如下所示
ffmpeg -f pulse -i alsa_input.pci-0000_00_1f.3.analog-stereo -qscale 0.01 output.mp3
上述命令录制外部设备效果并不是很好,应该是录制的本身的音频信号,并没有经过除噪处理,感觉录制的音频比较嘈杂.
下面的这个命令也是可以录制外部设备的声音
ffmpeg -f alsa -ac 2 -ar 44100 -i pulse -qscale 0.01 output.mp3
2.3 录制音视频
通过上述的讲解,录制系统声音和视频的话,直接录制的命令是
ffmpeg -video_size 1920x1080 -framerate 25 -f x11grab -i $DISPLAY -f pulse -i alsa_output.pci-0000_00_1f.3.analog-stereo.monitor -qscale 0.01 output.mp4
仅仅录制屏幕和耳机声音的话,直接录制的命令如下所示
ffmpeg -video_size 1920x1080 -framerate 25 -f x11grab -i $DISPLAY -f pulse -i alsa_input.pci-0000_00_1f.3.analog-stereo -qscale 0.01 output.mp4
录制视频可能会有视频与音频跟不上节奏,所以使用以下的命令对音视频进行同步修复处理
ffmpeg -y -f x11grab -s 1920x1080 -framerate 30 -i :0 -f pulse -i alsa_output.pci-0000_00_1b.0.analog-stereo.monitor -vf "setpts='(RTCTIME-RTCSTART)/(TB*1000000)'" -af asetpts=N/SR/TB,apad -shortest -c:v libx264 -profile:v high444 -preset:v veryfast -qp:v 0 -pix_fmt yuv444p -c:a flac screencast.mkv
这样就可以进行处理了,一般的参数意义如下所示
-ab bitrate 设置音频码率-ar freq 设置音频采样率-ac channels 设置通道 缺省为1-an 不使能音频记录-acodec codec 使用codec编解码
3. 遇到的问题
笔者在使用ffmpeg的时候遇到的以下的问题
ffmpeg -f x11grab -video_size cif -framerate 25 -i :0.0 output.mp4ffmpeg version 4.2.3 Copyright (c) 2000-2020 the FFmpeg developersbuilt with gcc 9 (GCC)configuration: --prefix=/usr --bindir=/usr/bin --datadir=/usr/share/ffmpeg --docdir=/usr/share/doc/ffmpeg --incdir=/usr/include/ffmpeg --libdir=/usr/lib64 --mandir=/usr/share/man --arch=x86_64 --optflags='-O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection' --extra-ldflags='-Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld ' --extra-cflags=' ' --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libvo-amrwbenc --enable-version3 --enable-bzlib --disable-crystalhd --enable-fontconfig --enable-frei0r --enable-gcrypt --enable-gnutls --enable-ladspa --enable-libaom --enable-libdav1d --enable-libass --enable-libbluray --enable-libcdio --enable-libdrm --enable-libjack --enable-libfreetype --enable-libfribidi --enable-libgsm --enable-libmp3lame --enable-nvenc --enable-openal --enable-opencl --enable-opengl --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-librsvg --enable-libsrt --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libvorbis --enable-libv4l2 --enable-libvidstab --enable-libvmaf --enable-version3 --enable-vapoursynth --enable-libvpx --enable-libx264 --enable-libx265 --enable-libxvid --enable-libzimg --enable-libzvbi --enable-avfilter --enable-avresample --enable-libmodplug --enable-postproc --enable-pthreads --disable-static --enable-shared --enable-gpl --disable-debug --disable-stripping --shlibdir=/usr/lib64 --enable-libmfx --enable-runtime-cpudetectlibavutil 56. 31.100 / 56. 31.100libavcodec 58. 54.100 / 58. 54.100libavformat 58. 29.100 / 58. 29.100libavdevice 58. 8.100 / 58. 8.100libavfilter 7. 57.100 / 7. 57.100libavresample 4. 0. 0 / 4. 0. 0libswscale 5. 5.100 / 5. 5.100libswresample 3. 5.100 / 3. 5.100libpostproc 55. 5.100 / 55. 5.100
Invalid MIT-MAGIC-COOKIE-1 key[x11grab @ 0x563d96a71640] Cannot open display :0.0, error 1.
:0.0: Input/output error
Cannot open display :0.0, error 1.
表示的是无法打开对应的视频显示设备,主要的问题就是,并不能找到对应的显示设备.我们一般通过查看环境变量来确定显示设备
echo $DISPLAY
所以在指定显示设备的时候一般用$DISPLAY
来指定对应的显示设备.
Ubuntu系统腾讯会议使用ffmpeg屏幕录制+声音录制相关推荐
- Macbook Pro(M1芯片)腾讯会议无法使用共享屏幕功能
这几天在Macbook Pro(M1芯片)上使用腾讯会议的时候,在使用屏幕共享功能的时候,发现腾讯会议要让我开启屏幕录制权限,然而我开启了屏幕录制权限之后,点击腾讯会议的共享屏幕,它仍然提示我要开启屏 ...
- Ubuntu安装腾讯会议提示不支持wayland
Ubuntu安装腾讯会议提示不支持wayland sudo vim /etc/gdm3/custom.conf 把 #WaylandEnable=false 的注释井号去掉 sudo service ...
- 拯救者y9000k(2022版)安装ubuntu系统(解决wifi问题,屏幕亮度问题,休眠后无法唤醒的问题)
拯救者y9000k(2022版)安装ubuntu系统(解决wifi问题,屏幕亮度问题,休眠后无法唤醒的问题) 具体安装双系统请参考: 联想拯救者Legion Y7000P 2020款ubuntu20. ...
- 问题:腾讯会议使用麦克风时没有声音(已解决)
2022/10/9问题:腾讯会议使用麦克风时没有声音,扬声器工作正常 推测原因: 1.声卡驱动程序问题.过时的驱动程序可能是麦克风无法在Windows 10上运行.如果在不更新麦克风驱动程序的情况下升 ...
- 单独关闭腾讯会议或者钉钉的声音
可能随着疫情的继续蔓延,大家又开始上起了网课,或者居家办公,有时候不想听,想要单独关闭他们的声音,却发现....... 废话不多说,那怎么操作呢,这里以Windows10为例吧,Win11原理 1.打 ...
- 本地电脑腾讯会议PPT演讲者模式
在腾讯会议中进行PPT汇报的时候,有些情况我们是想要看到备注的,即如何实现对自己是演讲者模式,而对其他人展示的是报告全屏内容呢? 不同操作系统的电脑实现方式还不同,下面分别介绍: 对于mac系统: 1 ...
- 如何在腾讯会议中PPT使用演讲者模式
朋友们大家好,今天给大家介绍一下,在学习过程中的一个小技巧,如何在使用腾讯会议的时候开始演讲者模式,现在疫情期间,大家使用线上会议的频率边的越来越高,无论是公司开会还是科研组会,都少不了定期汇报工作, ...
- 在腾讯会议中如何让别人看不到演讲者视图,只有自己能看到?
今天真的是血泪教训,在大家都能看到我的演讲者视图的情况下把讲稿念完了.还好开完会之后才知道,没有尴尬,只有悲愤! 在悲愤交加的情绪下,我决定弄懂怎么搞再睡觉,终于根据网上大神的经验总结出了一些步骤 零 ...
- PPT演讲者模式(腾讯会议,)
腾讯会议共享屏幕 1.先将PPT设置成 演讲者模式 Alt+F5 或者 PPT放映界面右击鼠标-演讲者模式 ☆2.演讲者模式右上角"向下还原" 3.Alt+Tab 切换到 腾讯会议 ...
最新文章
- Java中如何实现Date与String之间的数据类型转换
- oracle 查询重复数据并且删除, 只保留一条数据
- Android SystemProperties设置/取得系统属性的用法总结
- 后盾网lavarel视频项目---图片上传
- java添加删除用户信息泄露_java删除用户404错误!!神奇!增改查都没问题啊!!...
- (转)交换机攻击方法描述
- SQL WITH NOCHECK 和 CLUSTERED | NONCLUSTERED
- java lambda max_在Java中使用Lambda表达式查找Max
- 计算机的使用知识,计算机基础知识计算机的使用方法
- 矩阵分析与应用(5)
- 开源中文语音识别项目介绍:ASRFrame
- java script 菜鸟教程_JavaScript 基础教程
- python的selenium的带https安全隐私问题解决方案
- 钉钉考勤-获取需要记录考勤的人员
- 计算机三级网络技术最全知识点总结三
- python分析红楼梦中人物形象_红楼梦中的人物形象及其性格特点
- 全国计算机等级考试二级Java全真模拟
- 笔记本电脑添加打印机
- 关于计算机方面的知识小故事,「计算机小故事」-奇妙的HelloWorld任务
- Solr之——配置中文分词IKAnalyzer和拼音分词pinyinAnalyzer