VB.NET,C#

[vb.net] ffmpeg 이용해 mp4파일 mp3로 변환 방법

지니허니 2024. 1. 26. 11:28

오늘은 vb.net 에서  ffmpeg 이용해 mp4파일 mp3파일로 변환 하는 방법에 대해 알려드리겠습니다.

FFmpeg은 비디오와 오디오 등의 멀티미디어 파일을 처리할 수 있는 프로그램입니다. 
FFmpeg은 여러 가지 자유 소프트웨어와 오픈 소스 라이브러리로 구성되어 있으며, 음성/영상 코덱 라이브러리로 여러 프로젝트에서 쓰이고 있습니다

ffmpeg 이용하면 동영상 변환 프로그램을 만들거나 동영상 편집 프로그램도 만들 수 있습니다..(자르기, 합치기 등)

ffmpeg는 mp4 파일 뿐만아니라 avi, wmv, mov, mkv, ts webm, mp3, wav, wma, flac, ogg, m4a 등 왠만파일은 다변환 할 수 있구요.. 

대부분의 '동영상 인코더 프로그램'은 그냥 ffmpeg에다 GUI환경 붙여둔거라..

ffmpeg 명령어만 알면 쉽게 동영상 변환 프로그램을 만들수 있어요.

 

vb.net에서 ffmpeg을 이용해 mp4 파일을 mp3 파일로 변환하는 방법은 다음과 같습니다.

- 먼저 https://www.ffmpeg.org/download.html 여기로 들어가 프로그램을 다운받아서 설치합니다. 

바로 다운받으려면 https://www.gyan.dev/ffmpeg/builds/ffmpeg-release-essentials.zip 링크를 눌러받으시면됩니다.


- vb.net 프로젝트에서 Imports System.Diagnostics 네임스페이스를 임포트합니다.
- Process 클래스를 이용해 ffmpeg.exe 파일을 실행하고, 인코딩할 mp4 파일과 출력할 mp3 파일의 경로를 인자로 전달합니다. 
- ffmpeg.exe 파일의 인자로 -i 옵션을 사용해 입력 파일을 지정하고, -c:a 옵션을 사용해 오디오 코덱을 mp3로 지정합니다.
- 필요하다면 -b:a 옵션을 사용해 오디오 비트레이트를 조절할 수 있습니다.

예를 들어, input.mp4 파일을 output.mp3 파일로 변환하고, 오디오 비트레이트를 192k로 설정하려면 다음과 같은 코드를 사용할 수 있습니다.

 

 

Imports System.Diagnostics

Public Class Form1
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

Dim ffmpeg As New Process()
ffmpeg.StartInfo.FileName = "ffmpeg.exe"   ' ffmpeg 설치 된 경로 지정 예: c:\ffmpeg.exe
ffmpeg.StartInfo.Arguments = "-i input.mp4 -c:a mp3 -b:a 192k output.mp3"  ' 프로그램이 있는 폴더에 테스트할 input.mp4 파일을 옮긴후 실행해 테스트 
ffmpeg.Start()
ffmpeg.WaitForExit()

 End Sub
 End Class



위 명령어에서 input.mp4는 변환하고자 하는 원본 파일 이름이고, output.mp3는 추출된 MP3 파일의 이름입니다. 출력 파일의 이름과 경로를 원하는 대로 수정할 수 있습니다.

이렇게 하면 input.mp4 파일이 output.mp3 파일로 인코딩됩니다.