gpt4 book ai didi

python - 是否有 Python 库来提取视频元数据,例如 [标题、描述、标题/字幕]?

转载 作者:行者123 更新时间:2023-12-04 23:01:17 28 4
gpt4 key购买 nike

我目前正在尝试找到可以帮助我从视频文件中提取元数据或信息的 python 库,例如 [ mp4, Mkv, Avi, WebM, mpg ] 格式为例。
我主要从视频文件中提取的主要数据是 [标题、描述、评论、字幕/字幕 ]。
我按照本指南尝试使用 FFmpeg-python:https://www.thepythoncode.com/article/extract-media-metadata-in-python
和小标签,https://www.geeksforgeeks.org/access-metadata-of-various-audio-and-video-file-formats-using-python-tinytag-library/
据我了解,FFmpeg-python 提供了来自 的最多数据。探针() 函数,但输出不包含 [ 标题、描述、评论 ] 和 封闭式字幕 只是'0',我认为它是源轨道。
感谢您提供的任何帮助。

最佳答案

您可以使用 ffprobe获取元数据:

import subprocess as sp
import json
import pprint

out = sp.run(['ffprobe','-of','json','-show_entries', 'format:stream', videofile],\
stdout=sp.PIPE, stderr=sp.PIPE, universal_newlines=True)
results = json.loads(out.stdout)
metadata_format = results['format']['tags']
metadata_streams = [res['tags'] for res in results['streams']]

pprint(metadata_format) # "main" metadata: Title & Description found here
pprint(metadata_streams) # per-stream metadata
对于字幕/隐藏式字幕,您需要使用 ffmpeg 阅读字幕流:
# get subtitle in webvtt format
out = sp.run(['ffmpeg','-i',videofile, '-map', 's:0', '-f','webvtt','-'],\
stdout=sp.PIPE, stderr=sp.PIPE, universal_newlines=True)
subtitle = out.stdout
然后你可以使用像 webvtt-py 这样的库解析字幕数据。 (我没有第一手经验,所以你自己试试。)
一个警告。如果您的视频是 DVD 翻录,则其字幕流 (dvd_subtitle) 是位图而不是文本,FFmpeg 无法将其转换为文本数据。

关于python - 是否有 Python 库来提取视频元数据,例如 [标题、描述、标题/字幕]?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71498298/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com