Python中的视频和音频处理库

4 投票
1 回答
3320 浏览
提问于 2025-04-16 21:26

在Python中,有哪些视频/音频库可以用来识别视频录制中的特定音频模式呢?
我想从视频文件中排除录制的开头部分(跳过到特定的音频模式),所以我需要一种方法来:

  • 从文件的开头开始扫描
  • 识别音频模式(一段总是相同的音乐)
  • 从那个点开始录制/复制剩下的视频录制。

视频详情

格式:- Real Media(不过这没关系,因为我可以把它转换成其他格式)

时长:- 从18分钟到24分钟不等

使用媒体信息工具分析其中一个视频,得到以下信息:

Video
ID                               : 1
Format                           : RealVideo 4
Codec ID                         : RV40
Codec ID/Info                    : Based on AVC (H.264), Real Player 9
Duration                         : 19mn 18s
Bit rate                         : 195 Kbps
Width                            : 332 pixels
Height                           : 248 pixels
Display aspect ratio             : 4:3
Frame rate                       : 23.976 fps
Bits/(Pixel*Frame)               : 0.099
Stream size                      : 27.0 MiB (84%)

Audio
ID                               : 0
Format                           : Cooker
Codec ID                         : cook
Codec ID/Info                    : Based on G.722.1, Real Player 6
Duration                         : 19mn 20s
Bit rate                         : 32.0 Kbps
Channel(s)                       : 2 channels
Sampling rate                    : 44.1 KHz
Bit depth                        : 16 bits
Stream size                      : 4.43 MiB (14%)

原始问题:

前几天我重温了动画系列《龙珠Z》,对我手上的视频感到有些烦恼。每集大约24分钟,每集都有前一集的回顾和结束音乐,总共大约6到8分钟。

我注意到每个视频在回顾结束时都有相同的音频,接着是视频的新标题。我把这个音频录制成了一个单独的文件。

我想问问在Python中有没有办法通过编程做到以下几点:

  1. 扫描音频,匹配录制的标题音频,以知道实际视频开始的确切时间。

  2. 从那个点开始保存视频。

我不知道这样做的难度如何,所以请告诉我这是否可能。

如果你能告诉我任何提供这些工具的库,并给我一些建议该怎么做,我将非常感激。

非常感谢!

1 个回答

3

据我所知,语音识别(它还可以提供一些底层功能,比如比较两个声音的相似度)在Python中只能通过Windows库或者Dragon Naturally Speaking API来实现。

一旦找到标记,你可以使用一些外部库,比如这个或者这个,根据需求来剪辑视频。

补充一下:谷歌搜索还找到了pyofa,这是一个围绕musicip-libofa的封装库,而musicip-libofa是一个声纹库。

撰写回答