当前位置: 首页 > news >正文

如何录制带备注的演示文稿(LaTex Beamer + Pympress)

参考文献:

  1. Pympress 官网
  2. Avidemux 官网
  3. Audacity 官网
  4. FFmpeg 官网
  5. 2025年度25大视频剪辑软件推荐
  6. 2025最新音频降噪软件盘点,从入门到专业的6个高效工具
  7. 如何用一段音频替换mp4视频格式的原有音频?
  8. 免费简单易用的视频剪切编辑工具—Avidemux
  9. FFmpeg详细安装步骤和使用笔记

文章目录

  • 编写 Beamer 幻灯片
  • 双屏演示和录制
  • 视频剪辑和音频处理
    • 预处理
    • 剪切和拼接
    • 音频降噪

编写 Beamer 幻灯片

使用 LaTex 编写幻灯片,代码框架如下:

\documentclass[9pt,aspectratio=169]{beamer}\mode<presentation> {\usetheme{Warsaw}\usecolortheme{default}% 主题与配色,查看:https://hartwork.org/beamer-theme-matrix/%\setbeamertemplate{footline}% 若要删除所有幻灯片中的页脚,请取消注释此行%\setbeamertemplate{footline}[页码]% 若要用简单的幻灯片计数替换所有幻灯片中的页脚,请取消注释此行%\setbeamertemplate{导航符号}{}% 要删除所有幻灯片底部的导航符号,请取消注释此行
}\usepackage{amsfonts,amssymb,amsmath,amsthm,newtxmath}		% 数学
\usepackage{booktabs,tabularx,makecell,multirow,multicol}	% 表格
\usepackage{graphicx,float,tikz}							% 绘图
\usepackage[UTF8]{ctexcap}									% 中文% 修改左右边距
\setbeamersize{text margin left=2em,text margin right=2em}% 设置默认的字体颜色和背景
\setbeamercolor{normal text}{fg=black,bg=white}% 设置段落缩进为两个汉字
\setlength{\parindent}{1.6em}% 设置段落间距
\setlength{\parskip}{0.3em}\title[XXX]{YYY}
%\subtitle{}\author[X. Alice \and O. Bob]
{XYZ Alice \inst{1}\and OPQ Bob \inst{1,2} $^*$
}
\institute{1 \hspace{0.2em} IIE, CAS\\\{Alice, Bob\}@qq.com\\\medskip2 \hspace{0.2em} UCAS
}
\date{AsiaCCS 2025, August 25-29}% 启用演讲者备注(在演示中隐藏,但可在 PDF 阅读器中实时查看)
\setbeameroption{show notes on second screen=right}  % 双屏模式\begin{document}% 标题页
\begin{frame}[plain]\begin{figure}[!ht]\raggedleft\includegraphics[width=0.25\textwidth]{Img/UCAS.png}\end{figure}\titlepage\note{\begin{itemize}\item Hello everyone.\end{itemize}}
\end{frame}% 目录页
\begin{frame}[plain]{Outline}\begingroup\setcounter{tocdepth}{2} % 显示前 2 级标题\tableofcontents\endgroup
\end{frame}%-----------------------------------
%	以下为正文
%-----------------------------------% 在章节开头插入目录
\AtBeginSection[]
{\begin{frame}{Contents}\tableofcontents[currentsection,				% 当前章节高亮hideothersubsections]		% 隐藏其他章节的小节\addtocounter{framenumber}{-1}	% 目录页不计算页码\end{frame}
}%----------------------------------- 绪论 -----------------------------------
\section{Introduction}\begin{frame}{Background}\color{black}ABCDEFGaoeywuv% 插入备注\note{\begin{itemize}\item XXXXX\item YYYYY\end{itemize}}\end{frame}%----------------------------------- 详情 -----------------------------------% 感谢页
\begin{frame}\color{black}\centering\Huge Thank you for your attention!\vspace{1cm}\Large Questions?% 插入备注\note{\begin{itemize}\item Okay, that's all for my presentation.\end{itemize}}\end{frame}\end{document} 

编译之后,获得带备注的双栏幻灯片(它是 .pdf 格式,左栏是正常内容,右栏是备注)

双屏演示和录制

安装 Pympress,使用它打开上述的 .pdf 文件,包含如下的两个窗口。

演示者视图(放在一个显示器上):

在这里插入图片描述

放映窗口(可放到另一个显示器上,比如 Windows 的多个桌面):

在这里插入图片描述

首先,进入窗口 2(使用 Ctrl + Win + Leftarrow / Rightarrow 快速切屏),执行 Win + G 启动 Xbox 录屏,选定上述的放映窗口,开始录屏(快捷键 Win + Alt + R

现在,可以回到窗口 1,翻阅讲解演示者视图,这不会改变录制的窗口(即录制内容不会显示备注)

视频剪辑和音频处理

安装:Avidemux(视频剪辑)、Audacity(音频处理)、FFmpeg(提取和替换音轨)。

预处理

录制好的 .mp4 具有关键帧(包含完整的图像)和非关键帧(仅包含变化信息),如果直接剪辑,可能导致声音和图像不同步。因此,首先执行如下的 .bat 脚本,利用 ffmpeg 将所有的帧都变成关键帧,

@echo off
setlocal enabledelayedexpansionecho Starting video processing...for /L %%x in (1,1,30) do (set "input=%%x.mp4"set "output=%%xk.mp4"echo Processing !input! to !output!ffmpeg -i !input! -c:v libx264 -x264opts keyint=1 -y !output!if errorlevel 1 (echo Error processing !input!) else (echo !input! has been successfully processed to !output!)
)echo All video files have been processed!

执行过程如图所示,

在这里插入图片描述

剪切和拼接

启动 Avidemux,打开预处理后的 .mp4 文件,如下图所示:

在这里插入图片描述

它可以完成:

  • 将一个视频剪切为多个片段
  • 将多个片段拼接成更长的视频

音频降噪

剪辑完成后,使用 Audacity 打开这个 .mp4 文件(需要配置好 ffmpeg 目录),能够自动提取出它的音频数据。如下图所示:

在这里插入图片描述

在工具栏的 效果器 中,可以找到降噪的功能。最后,将处理好的数据导出为 .m4a 文件。

然后,在工作目录中启动 cmd,执行命令

ffmpeg -i old.mp4 -i edit.m4a -c:v copy -c:a copy -map 0:v:0 -map 1:a:0 new.mp4

它会将 old.mp4 中的音频替换为 edit.m4a(注意音轨的长度不要改变),输出到 new.mp4 文件中。

http://www.dtcms.com/a/267721.html

相关文章:

  • Codeforces Round 919 (Div. 2) D. Array Repetition(分块,1900)
  • 【深圳大学机器学习】实验一:PCA算法
  • 【ACL系列论文写作指北15-如何进行reveiw】-公平、公正、公开
  • 大数据学习1:Hadoop单机版环境搭建
  • Redis 哨兵模式部署--docker版本
  • C++面试-auto,auto,auto 的区别
  • 【ESP32】2.多任务处理
  • 相机位姿估计
  • 使用接口测试工具类Postman和浏览器的差异
  • C++ 语言特性31 - 协程介绍(2)
  • 用 Turbo Vision 2 为 Qt 6 控制台应用创建 TUI 字符 MainFrame
  • Redis性能优化
  • 五、Python新特性指定类型用法
  • AI大模型(六)Langchain核心模块与实战(一)
  • 使用LVM和扩展文件系统增加root分区存储容量
  • 信号和槽(4)
  • 3dmax物理材质转换标准材质,物理材质转VR材质,VR材质转标准材质3dmax物理材质转标准材质插件
  • 98.验证二叉搜索树
  • python实现简单的地图绘制与标记20250705
  • 【每天一个知识点】子空间聚类(Subspace Clustering)
  • 零基础保姆级本地化部署文心大模型4.5开源系列
  • Unity文件夹标签 —— FolderTag
  • SpinLock (TTAS) C-A-S 自旋锁实现原理
  • 人工智能学习60-Yolo
  • TCP协议概念和特性
  • cmd 的sftp传输;Conda出现环境问题: error: invalid value for --gpu-architecture (-arch)
  • Kotlin 协程:Channel 与 Flow 深度对比及 Channel 使用指南
  • 《自然语言处理:基于预训练模型的方法》-笔记
  • Java教程——深入学习guava之并发编程
  • 基于matlab的二连杆机械臂PD控制的仿真