阅读视图

发现新文章,点击刷新页面。

如何获取视频的LUFS(响度单位)?通过视频文件测量视频音量响度水平

这篇文章介绍了视频音量的重要性及其调整方法。文中提到,视频音量过低会影响观看体验,特别是在信息流中与其他大声视频竞争时。为了解决这一问题,文章引入了LUFS(Loudness Units Full Scale)作为衡量音频响度的标准,并解释了其在广播和流媒体中的应用。作者推荐使用ffmpeg工具来测量视频的LUFS值,并提供了具体的操作命令和参数说明。最后,文章还详细解读了测量结果中各项参数的意义,帮助用户更好地调整视频音量以符合不同平台的要求。

杜老师的视频录制流程

距离上次更新,杜老师收到了来自 18 位小伙伴的催更。奈何工作量比较大,近期一直销声匿迹。昨天终于忙完了所有的工作,在好好睡了一觉后,带着饱满的精神状态与各位分享一下近况!

聊聊近况

因为博客,小伙伴与杜老师从陌路走向熟知。很多小伙伴熟悉杜老师后会感叹一句:你真是老师啊!

杜老师是 2013 年正式步入社会,做的第一份工作是在培训公司当助教。

这份赶鸭子上架的工作,让杜老师内向的人设逐渐崩塌了,甚至一度被学员们评为头牌讲师「这个头牌,是正经的」

杜老师的这个称呼,就是从那时候来的,甚至于家人都会如此称呼我。故此并非自视甚高,而是职业本就如此。

目前依旧从事讲师工作,因公司的一些安排,需要录制视频教程。而近期一个月期间,一直奔忙于此。

时间紧任务重,需要梳理大纲、编写课件、整理文稿、录制视频、出试题目。

作为一个资深社畜,深知无工作不生活之理,所以不得已调整了权重,减少了博客运营的精力分配。

昨天终于忙完了所有的工作,在好好睡了一觉后,决定分享一下近况,补更近期所欠文章。

大致流程

  1. 梳理大纲:其实就是众位老师集思广益,堆叠出课程的内容。就好比说这位老师说需要个卧室,那位老师说需要个书房。杜老师的工作就是将所有的内容逻辑化系统化,简单来说就是从易到难;

  2. 编写课件:这是一门学问,需要考虑课程的系统性和完整性。杜老师所编写的是 Linux 系统类课程,涉及到的命令较多,要讲命令功能与实际工作相结合,让学员们知道在工作中遇到类似问题,应该如何解决;

  3. 整理文稿:目前公司讲师有限,很多交付工作「上课」都是由代理讲师完成的,各讲师的技术水平参差不齐。如何保证标准化授课流程呢?这就需要整理授课文稿,讲师照词念就行了,甚至不需要理解其中知识点;

  4. 录制视频:上课形式分为直播、录播两种,两者的侧重点不同,直播是老师直接讲解课程的内容,录播是观看标准课,遇到问题再由老师解答。可以理解成主动学习和被动学习。录播课程要求讲师条理清晰、解释透彻、举例易懂,总之要求还是非常高的。

所用工具

前面提到了直播和录播两种形式。每个讲师擅长领域不同,如杜老师更为偏好直播课程。

因为直播课程学员可以参与其中、与之互动,随时反馈授课情况,方便讲师第一时间做出调整,保证授课效果。

录播课程因为不能确定受众,所呈现的讲解形式更加但一,故而辅助词的限制很多,对于杜老师这种老湿傅,很难自由发挥。

还好有 AI 辅助工具。杜老师借助 Kimi「看清楚是 Kimi 不是 TiMi」平台生成文稿,再由 AI 生成杜老师音色语音文件。

之后通过 PPT 工具导出 PNG 格式图片,使用 Adobe Premiere Pro 剪辑并合成视频。

说的比较简单,但生成语音文件一步特麻烦。因为文稿中包含大量的命令,熟悉 Linux 的小伙伴都知道,很多命令是单词的缩写,口播并非标准英文发音。就需要手动去标识,非常耗时。

脚本分享

杜老师将 PPT 逐页导出 PDF「因为 AI 输出量有限,整体导出效果很不理想」并接入 Kimi 进行文稿生成。在使用前需要先安装 OpenAI 模块,以 Ubuntu 系统为例,命令如下:

1
2
3
4
sudo apt update
sudo apt -y install python3-pip
pip install --upgrade pip
pip3 install openai

以下是 Python 脚本,需调整 api_key,将 moonshot.pdf 替换为实际文件名:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
from pathlib import Path
from openai import OpenAI

client = OpenAI(
api_key="MOONSHOT_API_KEY",
base_url="https://api.moonshot.cn/v1",
)

file_object = client.files.create(file=Path("moonshot.pdf"), purpose="file-extract")

file_content = client.files.content(file_id=file_object.id).text

messages = [
{
"role": "system",
"content": "您是 Kimi,由 Moonshot AI 提供的人工智能助手,您更擅长中文和英文的对话。您会为用户提供安全,有帮助,准确的回答。同时,您会拒绝一切涉及恐怖主义,种族歧视,黄色暴力等问题的回答。Moonshot AI 为专有名词,不可翻译成其他语言。",
},
{
"role": "system",
"content": file_content,
},
{"role": "user", "content": "根据文中内容生成完善的演讲词。"},
]

completion = client.chat.completions.create(
model="moonshot-v1-32k",
messages=messages,
temperature=0.3,
)

print(completion.choices[0].message)

VLC:选择优秀的播放器等于享受完美的观影体验

简介

VLC Media 是一款强大的多平台视频播放软件,是VideoLAN品牌产品,它无广告且性能出色。作为自由、开源的跨平台多媒体播放器及框架,VLC 可以播放大多数多媒体文件,以及 DVD、音频 CD、VCD 和各类流媒体协议。此外,它还具有跨平台特性,拥有 Linux、Windows、Mac等版本。

软件特色

  • 多平台支持:正如我们之前提到的,VLC 支持多种操作系统,包括 Windows、Mac、Linux 等,这使得它非常灵活,用户可以在不同的设备上使用。
  • 强大的播放功能:它可以播放各种常见的多媒体文件格式,如 MP4、AVI、 MKV 等,还支持播放 DVD、音频 CD 等。
  • 开源免费:VLC 是开源软件,这意味着用户可以自由地查看和修改源代码,也可以免费使用它。
  • 无广告:用户在使用过程中不会被广告打扰,能够专注于观看视频或聆听音乐。
  • 性能出色:VLC 通常能够流畅地播放多媒体文件,并且资源占用较低,即使在低配置的设备上也能良好运行。
  • 丰富的插件和扩展:VLC 有很多插件和扩展可供选择,这可以进一步增强它的功能,例如更好的视频解码、在线视频播放等。
  • 用户友好的界面:它的界面简洁直观,易于操作,即使对于不太熟悉技术的用户也很容易上手。

软件截图

image-20240311111503029

image-20240311113037120

image-20240311113127696

image-20240311113147414

安装教程

选择符合当前计算机的安装程序或者压缩包进行下载

image-20240311133146475

*安装程序:*双击运行,选择使用的语言,然后连续下一步,其中可以选择需要的组件和安装路径,最后耐心等待一会即可安装完成

image-20240311134129519

*压缩包:*将解压后的文件夹放到合适的路径(安装路径),运行文件夹内的vlc.exe即可直接打开VLC

image-20240311135811720

下载地址

官网下载:https://www.videolan.org/vlc/

爱吃猫的鱼CLOUD下载:https://cloud.talen.top/s/YOhn

快手随机短视频

前言

  • 随机快手短视频无水印采集播放系统 全自动更新采集快手官方最新热门短视频,包含视频详情和视频连接播放!页面自适应!支持手机和电脑端访问!
  • 接口数据采集来自快手视频官方,非第三方远程接口!点击刷新随机下一个即可随机播放最新热门视频

源码截图

图片[1]-新锐博客

下载地址

随机快手短视频

WordPress视频播放器

前言

  • 一些WordPress主题自带的播放器是第三方播放器并不能播放随机视频只能播放固定链接视频。
  • 此代码只需要在WordPress文章编辑器 中选择文本,然后粘贴进去,支持视频播放完继续随机播放下一个视频。
  • 所以一定要把其中两条https://your-random-video-api.com更改成自己的API。

代码

<video id="random-video" controls autoplay>
  <source src="https://your-random-video-api.com" type="video/mp4">
</video>

<script>
  const video = document.getElementById('random-video');
  video.addEventListener('ended', () => {
    const source = document.querySelector('source');
    source.setAttribute('src', 'https://your-random-video-api.com');
    video.load();
    video.play();
  });
</script>
❌