Goal
- Video에서 audio 추출: Python, ffmpeg library 사용
- audio file을 원하는 구간에 맞게 cut: Python, ffmpeg, pydub library 사용
Requirements
Environments
- Ubuntu 16.04
- Python 3.5.2(pip version 18)
Setup
model.py
mkdir extract_audio_and_cut
cd extract_audio_and_cut
virtualenv -p python3 ./
source bin/actiavte
pip install ffmpeg-python pydub
import ffmpeg
from pydub import AudioSegment
'''
input_path: video file path
output_path: output audio file path
'''
def extract_audio(input_path, output_ath):
video_file = ffmpeg.input(input_path)
audio = ffmpeg.output(video_file, '{}/output.wav'.format(output_path))
audio = ffmpeg.overwrite_output(audio)
ffmpeg.run(audio, cmd='./ffmpeg-linux64-v3.3.1')
'''
input_path: audio file path
start_point: start point in milliseconds
end_point: end point in milliseconds
output_path: output cut audio file path
'''
def cut_audio(input_path, start_point, end_point, output_path):
audio_file = AudioSegment.from_file(input_path)
output = audio_file[start_point:end_point]
output.export("{}/output.wav".format(output_path), format="wav")
Reference