>  기사  >  백엔드 개발  >  Python을 사용하여 다양한 오디오 및 비디오 파일의 메타데이터에 액세스

Python을 사용하여 다양한 오디오 및 비디오 파일의 메타데이터에 액세스

王林
王林앞으로
2023-09-05 11:41:191208검색

Python을 사용하여 다양한 오디오 및 비디오 파일의 메타데이터에 액세스

Python의 Mutagen 및 eyeD3 모듈을 사용하여 오디오 파일의 메타데이터에 액세스할 수 있습니다. 비디오 메타데이터의 경우 Python에서 영화와 OpenCV 라이브러리를 사용할 수 있습니다. 메타데이터는 오디오, 비디오 데이터 등 다른 데이터에 대한 정보를 제공하는 데이터입니다. 오디오 및 비디오 파일의 메타데이터에는 파일 형식, 파일 해상도, 파일 크기, 지속 시간, 비트 전송률 등이 포함됩니다. 이 메타데이터에 액세스함으로써 미디어를 보다 효율적으로 관리하고 메타데이터를 분석하여 유용한 정보를 얻을 수 있습니다. 이 기사에서는 오디오 및 비디오 파일의 메타데이터에 액세스하기 위해 Python에서 제공하는 일부 라이브러리 또는 모듈을 살펴보겠습니다.

오디오 메타데이터에 액세스

오디오 파일 메타데이터에 액세스하기 위한 일부 라이브러리는 -

돌연변이 유발물질 라이브러리 사용

Mutagen은 오디오 메타데이터 처리를 위한 오픈 소스 Python 모듈입니다. mp3, mp4, OGG, FLAC 등과 같은 거의 모든 유형의 오디오 파일을 지원합니다. Mutagen은 오디오 파일의 메타데이터에 액세스하고 오디오 데이터를 조작하는 데 사용됩니다.

mutagen을 사용하기 전에 Python에서 pip 명령을 사용하여 mutagen을 설치할 수 있습니다.

으아아아

Pip은 Python 패키지 관리자입니다. Pip install mutagen은 로컬 파일에 mutagen 라이브러리를 설치합니다.

문법

으아아아

audio["TIT2"] 속성은 오디오 파일에 대한 다양한 정보가 포함된 키-값 쌍 형식의 객체를 반환합니다. 개체의 텍스트 키를 사용하여 오디오 파일의 제목에 액세스합니다.

으아아아

audio.info는 오디오 파일에 대한 모든 정보가 포함된 개체를 반환합니다. 오디오 파일의 길이는 길이를 초 단위로 반환하는 audio.info.length를 사용하여 액세스할 수 있습니다.

다음은 mutagen의 mutagen.mp3 모듈을 사용하여 mp3 파일의 메타데이터에 액세스하는 방법의 예입니다.

으아아아

출력

으아아아

eyeD3 라이브러리 사용하기

eyeD3는 오디오 파일, 특히 mp3 오디오 파일을 처리하기 위한 Python 오픈 소스 라이브러리이기도 합니다. eyeD3를 사용하면 오디오 파일의 메타데이터를 읽고 쓸 수 있으며 오디오 파일을 조작하거나 업데이트할 수도 있습니다.

eyeD3를 사용하기 전에 Python에서 pip 명령을 사용하여 설치할 수 있습니다. -

으아아아

Pip은 Python 패키지 관리자입니다. Pip install eyeD3 eyeD3 라이브러리를 로컬 파일에 설치합니다.

문법

으아아아

eyed3.load() 함수는 오디오 파일을 로드하고 변수에 저장할 수 있습니다. your_audio_file 매개변수는 로드해야 하는 오디오 파일의 경로입니다.

알고리즘

  • eyed3.load 기능을 사용하여 오디오 파일을 로드하세요

  • 오디오 파일 길이에 액세스하려면 audio.info.time_secs 속성을 사용하세요.

  • 오디오 파일의 제목에 액세스하려면 audio.tag.title 속성을 사용하세요.

다음은 eyeD3를 사용하여 오디오 파일 메타데이터에 액세스하는 예입니다.

으아아아

출력

으아아아

동영상 메타데이터에 액세스

Python에는 -

와 같은 비디오 파일 메타데이터에 액세스하기 위한 일부 오픈 소스 라이브러리도 있습니다.

방법 1: Moviepy 라이브러리 사용

moviepy는 비디오 편집을 위한 오픈 소스 Python 라이브러리입니다. 또한 비디오 파일의 메타데이터에 액세스하는 데에도 사용할 수 있습니다. Moviepy는 mp4, AVI, MOV 등과 같은 다양한 비디오 파일 형식을 지원합니다. Moviepy는 비디오 파일의 메타데이터를 읽고 쓰고 비디오 파일에서 작업하는 데 도움을 줍니다.

moviepy를 사용하기 전에 Python에서 pip 명령을 사용하여 moviepy 라이브러리를 설치해야 합니다. -

으아아아

알고리즘

moviepy를 사용하여 비디오 파일의 메타데이터에 액세스하려면 -

  • moviepy.editor

  • 에서 VideoFileClip 모듈 가져오기
  • VideoClipFile을 사용하여 비디오 파일 로드

  • Movipy의 속성(예: 지속 시간, 크기 등)을 사용하여 로드된 비디오 파일의 메타데이터에 액세스합니다.

moviepy.editor 패키지에서 VideoFileClip 모듈을 가져온 다음 VideoFileClip 모듈을 사용하여 비디오 파일을 로드합니다. Video.durationvideo.size은 각각 비디오 파일의 지속 시간과 표시 크기를 반환합니다.

으아아아

출력

으아아아

OpenCV 라이브러리 사용

OpenCV는 Python에서 비디오 데이터를 처리하는 데 사용되는 오픈 소스 컴퓨터 비전 라이브러리입니다. MP4, AVI, MOV 등과 같은 다양한 비디오 파일 형식의 메타데이터에 액세스하는 데에도 사용할 수 있습니다. OpenCV를 사용하여 비디오 파일의 메타데이터를 읽고 쓰고 비디오 처리를 수행할 수 있습니다.

cv2 모듈을 사용하기 전에 Python에서 pip 명령을 사용하여 opencv-python-headless를 설치해야 합니다. -

으아아아

Pip은 Python 패키지 관리자입니다. Pip install opencv-python-headless는 로컬 파일에 openCv 라이브러리를 설치했습니다.

문법

으아아아

Cv2 .CAP_PROP_FPS 비디오 파일의 프레임 속도를 반환합니다. 특정 비디오의 프레임 속도를 반환하려면 video.get() 함수를 사용하십시오.

으아아아

cv2.CAP_PROP_FRAME_WIDTH는 비디오 파일의 프레임 너비를 반환합니다. 특정 비디오의 프레임 너비를 반환하려면 video.get() 함수를 사용하십시오.

으아아아

cv2.CAP_PROP_FRAME_HEIGHT는 비디오 파일의 프레임 높이를 반환합니다. 특정 비디오의 프레임 높이를 반환하려면 video.get() 함수를 사용하십시오.

算法

要使用OpenCV访问视频文件的元数据,我们必须执行以下操作−

  • 导入opencv

  • 使用 cv2.VideoCapture 属性加载视频文件

  • 使用 CAP_PROP_FRAME_WIDTH、FRAME_HEIGHT 等属性访问文件的各种元数据。

示例

使用 cv2.VideoCapture 模块将视频文件导入变量中。现在,这个存储的视频文件可用于使用 cv2 模块中的 CAP_PROP_FPS、CAP_PROP_FRAME_WIDTH 等属性获取元数据。

import cv2

video = cv2.VideoCapture("video.mp4")
fps = video.get(cv2.CAP_PROP_FPS)  # Get the frame rate of the video
width = video.get(cv2.CAP_PROP_FRAME_WIDTH)  # Get the width of the video
height = video.get(cv2.CAP_PROP_FRAME_HEIGHT)  # Get the height of the video

print(fps, width, height)  # Print the frame rate, width, and height of the video

输出

60.0 1920.0 1080.0

结论

在本文中,我们讨论了 Python 提供的一些用于访问音频和视频文件元数据的库。对于音频文件,我们探索了 mutagen 和 eyeD3 库;对于视频文件,我们探索了 moviepy 和 openCV 库。 Python 中还有许多其他库可用于访问音频和视频文件的元数据。最好浏览这些库的文档,以便更好地了解这些库提供的功能。

위 내용은 Python을 사용하여 다양한 오디오 및 비디오 파일의 메타데이터에 액세스의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 tutorialspoint.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제