> 백엔드 개발 > 파이썬 튜토리얼 > Python은 mp3 세그먼트를 30초마다 하나로 자르고 파일 비트 전송률을 줄입니다.

Python은 mp3 세그먼트를 30초마다 하나로 자르고 파일 비트 전송률을 줄입니다.

PHPz
풀어 주다: 2023-04-12 09:28:02
앞으로
1438명이 탐색했습니다.

MoviePy는 비디오 생성, 편집, 병합, 클리핑 및 변환 기능을 제공하는 Python 기반 비디오 편집 라이브러리입니다. 다음은 MoviePy의 주요 기능입니다:

비디오 편집: MoviePy는 비디오 편집, 비디오 및 오디오 스트림 분리, 비디오 및 오디오 세그먼트 추가 및 삭제 등을 할 수 있습니다.

비디오 병합: MoviePy는 여러 비디오 및 오디오 파일을 하나로 병합할 수 있습니다.

비디오 트랜스코딩: MoviePy는 mp4를 avi로 변환하거나 H.264 인코딩을 H.265 인코딩으로 변환하는 등 비디오 형식과 인코딩 방법을 변환할 수 있습니다.

비디오 편집: MoviePy는 비디오 특수 효과, 애니메이션, 자막 등을 추가하여 비디오를 더욱 생생하고 창의적으로 만들 수 있습니다.

비디오 생성: MoviePy를 사용하여 슬라이드쇼, 애니메이션 생성 등과 같은 맞춤형 비디오를 만듭니다.

비디오 처리: MoviePy는 자르기, 크기 조정, 회전, 색상 조정과 같은 비디오 처리를 수행할 수 있습니다.

결론적으로 MoviePy는 Python 개발자에게 복잡한 비디오 편집 소프트웨어를 배우지 않고도 비디오를 처리할 수 있는 간단하고 사용하기 쉬운 프레임워크를 제공합니다. 비디오 처리, 편집, 생성을 쉽게 처리할 수 있을 만큼 강력합니다.

이 글에서는 주로 moviepy를 사용하여 오디오 스트림을 분할하고 비트 전송률을 줄이는 방법을 소개합니다.

1. 준비

시작하기 전에 Python과 pip가 컴퓨터에 성공적으로 설치되었는지 확인해야 합니다. 설치하려면 매우 상세한 Python 설치 가이드를 참조하세요.

(선택 1) 데이터 분석을 위해 Python을 사용하는 경우 Anaconda를 직접 설치할 수 있습니다. Python 데이터 분석 및 마이닝에 유용한 도우미인 Anaconda에는 Python과 pip가 내장되어 있습니다.

(선택 2) 또한 모든 사람에게 권장됩니다. 많은 장점이 있는 VSCode 편집기를 사용하세요. Python 프로그래밍을 위한 최고의 파트너 - VSCode 상세 가이드.

다음 방법 중 하나를 선택하여 종속성을 설치하는 명령을 입력하세요.

  • Windows 환경 Cmd(Start-Run-CMD)를 엽니다.
  • MacOS 환경 터미널을 엽니다(터미널에 들어가려면 명령+스페이스바).
  • VSCode 편집기나 Pycharm을 사용하는 경우 인터페이스 하단에 있는 터미널을 직접 사용할 수 있습니다.
pip install moviepy
로그인 후 복사

2 Moviepy 분할 오디오

MoviePy 라이브러리를 사용하여 업로드된 mp3/wav를 30분마다 잘라내려면 초를 줄이고 파일 비트 전송률을 결정하려면 아래 단계를 수행할 수 있습니다.

  • MoviePy 라이브러리 및 기타 필수 라이브러리 가져오기:
import os
from moviepy.editor import *
로그인 후 복사
  • 오디오 파일을 자르고 비트 전송률을 줄이는 함수 정의:
def split_audio_file(filename, split_duration=30, bitrate=16000):
# 读取音频文件
audio = AudioFileClip(filename)

# 计算文件总时长和切割点
total_duration = audio.duration
split_points = list(range(0, int(total_duration), split_duration))
split_points.append(int(total_duration))
filelist = []
# 切割音频文件并降低码率
for i in range(len(split_points) - 1):
start_time = split_points[i]
end_time = split_points[i+1]
split_audio = audio.subclip(start_time, end_time)
split_audio.write_audiofile(f"{os.path.splitext(filename)[0]}_{i}.wav", fps=bitrate)
filelist.append(f"{os.path.splitext(filename)[0]}_{i}.wav")
audio.close()
return filelist
로그인 후 복사

이 함수는 세 가지 매개 변수를 허용합니다. filename은 처리할 오디오 파일의 이름을 나타냅니다. ,split_duration 파일을 자르는 시간(단위는 초)을 나타내며, bitrate는 설정할 출력 비트율(단위는 비트율)을 나타냅니다.

함수에서는 먼저 오디오 파일을 읽은 다음 절단 지점을 계산합니다. 그런 다음 루프를 사용하여 각 절단 지점을 순회하고 오디오 파일을 작은 파일로 자르고 비트 전송률을 줄인 다음 마지막으로 새 오디오 파일로 출력합니다.

  • 오디오 파일을 처리하는 함수 호출:
filename = "your_audio_file.mp3"# 要处理的音频文件名
split_duration = 30# 按每30秒一个切割文件
bitrate = "64k"# 设置输出码率为64kbps
split_audio_file(filename, split_duration, bitrate)
로그인 후 복사

함수를 호출할 때 처리할 오디오 파일 이름, 잘라낸 파일의 길이, 출력 비트 전송률을 매개변수로 함수에 전달하면 됩니다. 이 기능은 처리된 오디오 파일을 현재 디렉터리로 출력합니다.

3.Mp3 출력 비트레이트

출력 비트레이트는 너무 낮게 조정할 수 없다는 점에 유의하세요. MP3 파일의 출력 비트 전송률은 오디오 품질과 파일 크기에 영향을 미칩니다. 출력 비트 전송률이 높을수록 오디오 품질은 좋아지지만 파일 크기도 커집니다. 반대로 출력 비트레이트가 낮을수록 오디오 품질은 떨어지지만 파일 크기는 작아집니다.

MP3 파일의 비트 전송률은 초당 필요한 비트 수(예: 비트 전송률)를 나타냅니다. 인코딩 시 MP3 알고리즘은 설정된 비트 전송률을 기준으로 압축된 오디오 데이터의 양을 결정하므로 출력 파일의 크기와 품질에 영향을 미칩니다. 일반적으로 비트 전송률이 높을수록 오디오 품질이 높아지지만 저장 공간과 대역폭도 더 많이 차지합니다.

출력 비트율을 너무 낮게 설정하면 오디오 품질이 크게 저하될 수 있으며, 오디오 잡음, 왜곡, 저주파 끊김 등의 문제가 발생할 수 있습니다. 출력 비트레이트를 너무 높게 설정하면 파일 크기가 매우 커져 전송 및 저장이 어려울 수 있습니다.

따라서 출력 비트 전송률을 선택할 때 특정 상황에 따른 오디오 품질 및 파일 크기 요구 사항은 물론 전송 및 저장 제한도 고려해야 합니다. 일반적으로 128kbps는 일반적으로 사용되는 MP3 출력 비트 전송률로 더 나은 음질과 적절한 파일 크기를 생성합니다.

위 내용은 Python은 mp3 세그먼트를 30초마다 하나로 자르고 파일 비트 전송률을 줄입니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:51cto.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿