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屏幕录制+声音录制相关推荐

  1. Macbook Pro(M1芯片)腾讯会议无法使用共享屏幕功能

    这几天在Macbook Pro(M1芯片)上使用腾讯会议的时候,在使用屏幕共享功能的时候,发现腾讯会议要让我开启屏幕录制权限,然而我开启了屏幕录制权限之后,点击腾讯会议的共享屏幕,它仍然提示我要开启屏 ...

  2. Ubuntu安装腾讯会议提示不支持wayland

    Ubuntu安装腾讯会议提示不支持wayland sudo vim /etc/gdm3/custom.conf 把 #WaylandEnable=false 的注释井号去掉 sudo service ...

  3. 拯救者y9000k(2022版)安装ubuntu系统(解决wifi问题,屏幕亮度问题,休眠后无法唤醒的问题)

    拯救者y9000k(2022版)安装ubuntu系统(解决wifi问题,屏幕亮度问题,休眠后无法唤醒的问题) 具体安装双系统请参考: 联想拯救者Legion Y7000P 2020款ubuntu20. ...

  4. 问题:腾讯会议使用麦克风时没有声音(已解决)

    2022/10/9问题:腾讯会议使用麦克风时没有声音,扬声器工作正常 推测原因: 1.声卡驱动程序问题.过时的驱动程序可能是麦克风无法在Windows 10上运行.如果在不更新麦克风驱动程序的情况下升 ...

  5. 单独关闭腾讯会议或者钉钉的声音

    可能随着疫情的继续蔓延,大家又开始上起了网课,或者居家办公,有时候不想听,想要单独关闭他们的声音,却发现....... 废话不多说,那怎么操作呢,这里以Windows10为例吧,Win11原理 1.打 ...

  6. 本地电脑腾讯会议PPT演讲者模式

    在腾讯会议中进行PPT汇报的时候,有些情况我们是想要看到备注的,即如何实现对自己是演讲者模式,而对其他人展示的是报告全屏内容呢? 不同操作系统的电脑实现方式还不同,下面分别介绍: 对于mac系统: 1 ...

  7. 如何在腾讯会议中PPT使用演讲者模式

    朋友们大家好,今天给大家介绍一下,在学习过程中的一个小技巧,如何在使用腾讯会议的时候开始演讲者模式,现在疫情期间,大家使用线上会议的频率边的越来越高,无论是公司开会还是科研组会,都少不了定期汇报工作, ...

  8. 在腾讯会议中如何让别人看不到演讲者视图,只有自己能看到?

    今天真的是血泪教训,在大家都能看到我的演讲者视图的情况下把讲稿念完了.还好开完会之后才知道,没有尴尬,只有悲愤! 在悲愤交加的情绪下,我决定弄懂怎么搞再睡觉,终于根据网上大神的经验总结出了一些步骤 零 ...

  9. PPT演讲者模式(腾讯会议,)

    腾讯会议共享屏幕 1.先将PPT设置成 演讲者模式 Alt+F5 或者 PPT放映界面右击鼠标-演讲者模式 ☆2.演讲者模式右上角"向下还原" 3.Alt+Tab 切换到 腾讯会议 ...

最新文章

  1. Java中如何实现Date与String之间的数据类型转换
  2. oracle 查询重复数据并且删除, 只保留一条数据
  3. Android SystemProperties设置/取得系统属性的用法总结
  4. 后盾网lavarel视频项目---图片上传
  5. java添加删除用户信息泄露_java删除用户404错误!!神奇!增改查都没问题啊!!...
  6. (转)交换机攻击方法描述
  7. SQL WITH NOCHECK 和 CLUSTERED | NONCLUSTERED
  8. java lambda max_在Java中使用Lambda表达式查找Max
  9. 计算机的使用知识,计算机基础知识计算机的使用方法
  10. 矩阵分析与应用(5)
  11. 开源中文语音识别项目介绍:ASRFrame
  12. java script 菜鸟教程_JavaScript 基础教程
  13. python的selenium的带https安全隐私问题解决方案
  14. 钉钉考勤-获取需要记录考勤的人员
  15. 计算机三级网络技术最全知识点总结三
  16. python分析红楼梦中人物形象_红楼梦中的人物形象及其性格特点
  17. 全国计算机等级考试二级Java全真模拟
  18. 笔记本电脑添加打印机
  19. 关于计算机方面的知识小故事,「计算机小故事」-奇妙的HelloWorld任务
  20. Solr之——配置中文分词IKAnalyzer和拼音分词pinyinAnalyzer

热门文章

  1. androidTv获取TvProvider频道数据,播放Dvb的视频
  2. 还应该跑马吗?关于运动时间与寿命的(伪)科学分析
  3. Kotlin - 改良策略模式
  4. 怎么恢复相机格式化的照片?
  5. 批发/零售商家如何合理控制库存?做好优化库存结构
  6. excel组合汇总_Excel汇总20140602
  7. IBM ThinkPad 机子无法开机的解决办法 - 按开机键没有反应 - E49
  8. SAP BW/4 HANA基础学习(二)
  9. 邮箱发送附件 附件大小有限制
  10. 飞翔的红蜻蜓(浙理体育)——生成跑步数据并上传