如何录制带备注的演示文稿(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.pswp.cn/web/87653.shtml
繁体地址,请注明出处:http://hk.pswp.cn/web/87653.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

VS Code 的 Copilot Chat 扩展程序

安装与启用 Copilot Chat 扩展 在 VS Code 中打开扩展市场&#xff08;快捷键 CtrlShiftX 或点击左侧活动栏的扩展图标&#xff09;。搜索“GitHub Copilot Chat”&#xff0c;点击安装。安装完成后需登录 GitHub 账户并授权 Copilot 权限。确保已订阅 GitHub Copilot 服务&am…

bash 脚本比较 100 个程序运行时间,精确到毫秒,脚本

脚本如下&#xff1a; #!/bin/bash# 设置测试次数 NUM_TESTS100 # 设置要测试的程序路径 PROGRAM"./your_program" # 替换为你的程序路径 # 设置程序参数&#xff08;如果没有参数则留空&#xff09; ARGS"" # 例如: "input.txt output.txt"#…

【Linux学习】Linux安装并配置Redis

安装Redis在Linux系统上安装Redis可以通过包管理器或源码编译两种方式进行。以下是两种方法的详细步骤。使用包管理器安装Redis&#xff08;以Ubuntu为例&#xff09;&#xff1a;sudo apt update sudo apt install redis-server通过源码编译安装Redis&#xff1a;wget https:/…

redis每种数据结构对应的底层数据结构原理

Redis 的每种数据结构(String、List、Hash、Set、Sorted Set)在底层都采用了不同的实现方式,根据数据规模和特性动态选择最优的编码(encoding)以节省内存和提高性能。以下是详细原理分析: 1. String(字符串) 底层实现: int:当存储整数值且可用 long 表示时,直接使用…

WPF控件大全:核心属性详解

WPF常用控件及核心属性 以下是WPF开发中最常用的控件及其关键属性&#xff08;按功能分类&#xff09;&#xff1a; 基础布局控件 Grid&#xff08;网格布局&#xff09; RowDefinitions&#xff1a;行定义集合&#xff08;如Height"Auto"&#xff09;ColumnDefinit…

马斯克脑机接口(Neuralink)技术进展,已经实现瘫痪患者通过BCI控制电脑、玩视频游戏、学习编程,未来盲人也能恢复视力了

目录 图片总结文字版总结1. 核心目标与愿景1.1 增强人类能力1.2 解决脑部疾病1.3 理解意识1.4 应对AI风险 2. 技术进展与产品2.1 Telepathy&#xff08;意念操控&#xff09;功能与目标技术细节参与者案例 2.2 Blindsight&#xff08;视觉恢复&#xff09;**功能与目标**技术细…

Vuex身份认证

虽说上一节我们实现了登录功能&#xff0c;但是实际上还是可以通过浏览器的地址来跳过登录访问到后台&#xff0c;这种可有可无的登录功能使得系统没有安全性&#xff0c;而且没有意义 为了让登录这个功能有意义&#xff0c;我们应该&#xff1a; 应当在用户登录成功之后给用户…

springboot中使用线程池

1.什么场景下使用线程池&#xff1f; 在异步的场景下&#xff0c;可以使用线程池 不需要同步等待&#xff0c; 不需要管上一个方法是否执行完毕&#xff0c;你当前的方法就可以立即执行 我们来模拟一下&#xff0c;在一个方法里面执行3个子任务&#xff0c;不需要相互等待 …

Flask+LayUI开发手记(十):构建统一的选项集合服务

作为前端最主要的组件&#xff0c;无论是layui-table表格还是layui-form表单&#xff0c;其中都涉及到选项列的处理。如果是普通编程&#xff0c;一个任务对应一个程序&#xff0c;自然可以就事论事地单对单处理&#xff0c;前后端都配制好选项&#xff0c;手工保证两者的一致性…

redis的数据初始化或增量更新的方法

做系统开发的时候&#xff0c;经常需要切换环境&#xff0c;做一些数据的初始化的工作&#xff0c;而redis的初始化&#xff0c;假如通过命令来执行&#xff0c;又太复杂&#xff0c;因为redis有很多种数据类型&#xff0c;全部通过敲击命令来初始化的话&#xff0c;打的命令实…

【PaddleOCR】OCR表格识别数据集介绍,包含PubTabNet、好未来表格识别、WTW中文场景表格等数据,持续更新中......

&#x1f9d1; 博主简介&#xff1a;曾任某智慧城市类企业算法总监&#xff0c;目前在美国市场的物流公司从事高级算法工程师一职&#xff0c;深耕人工智能领域&#xff0c;精通python数据挖掘、可视化、机器学习等&#xff0c;发表过AI相关的专利并多次在AI类比赛中获奖。CSDN…

sparkjar任务运行

mainclass&#xff1a; test.sparkjar.SparkJarTest

Web攻防-文件下载文件读取文件删除目录遍历路径穿越

知识点&#xff1a; 1、WEB攻防-文件下载&读取&删除-功能点&URL 2、WEB攻防-目录遍历&穿越-功能点&URL 黑盒分析&#xff1a; 1、功能点 文件上传&#xff0c;文件下载&#xff0c;文件删除&#xff0c;文件管理器等地方 2、URL特征 文件名&#xff1a; d…

使用LIMIT + OFFSET 分页时,数据重复的风险

在使用 LIMIT OFFSET 分页时&#xff0c;数据重复的风险不仅与排序字段的唯一性有关&#xff0c;还与数据变动&#xff08;插入、删除、更新&#xff09;密切相关。以下是详细分析&#xff1a; 一、数据变动如何导致分页异常 1. 插入新数据 场景&#xff1a;用户在浏览第 1 页…

Excel 数据透视表不够用时,如何处理来自多个数据源的数据?

当数据透视表感到“吃力”时&#xff0c;我们该怎么办&#xff1a; 数据量巨大&#xff1a;Excel工作表有104万行的限制&#xff0c;当有几十万行数据时&#xff0c;透视表和公式就会变得非常卡顿。数据来源多样&#xff1a;数据分散在多个Excel文件、CSV文件、数据库甚至网页…

cf(1034)Div3(补题A B C D E F)

哈&#xff0c;这个比赛在开了不久之后&#xff0c;不知道为啥卡了差不多20来分钟&#xff0c;后面卡着卡着就想睡觉了。实在是太困了.... 题目意思&#xff1a; Alice做一次操作&#xff0c;删除任意数字a,而Bob做一次操作删除b使得ab对4取余是3。 获胜条件&#xff0c;有人…

浏览器与服务器的交互

浏览器地址栏输入URL&#xff08;网址​​&#xff09; ​​​​(1) 服务器进行URL解析​​&#xff1a;验证URL格式&#xff0c;提取协议、域名等 ​​​​(2) 服务器进行DNS查询​​&#xff1a;将域名转换为IP地址&#xff08;可能涉及缓存或DNS预取&#xff09; ​​​​…

Spring Boot中POST请求参数校验的实战指南

在现代的Web开发中&#xff0c;数据校验是确保应用程序稳定性和安全性的关键环节。Spring Boot提供了强大而灵活的校验机制&#xff0c;能够帮助开发者轻松地对POST请求参数进行校验。本文将详细介绍如何在Spring Boot中实现POST请求参数的校验&#xff0c;并通过具体的代码示例…

Spring Boot + MyBatis/MyBatis Plus:XML中循环处理List参数的终极指南

重要提醒&#xff1a;使用Param注解时&#xff0c;务必导入正确的包&#xff01; import org.apache.ibatis.annotations.Param; 很多开发者容易错误导入Spring的Param&#xff0c;导致参数绑定失败&#xff01; 一、为什么需要传递List参数&#xff1f; 最常见的场景是动态构…

Design Compiler:自适应重定时(Adaptive Retiming)

相关阅读 Design Compilerhttps://blog.csdn.net/weixin_45791458/category_12738116.html?spm1001.2014.3001.5482 简介 重定时是DC Ultra引入的一种时序优化技术&#xff0c;可以将时序单元&#xff08;触发器和锁存器&#xff09;穿越组合逻辑前后移动&#xff0c;以优化设…