VB.NET,C#

[VB.NET] FFmpeg 이용해 avi파일을 mp4파일로 변환 방법

지니허니 2024. 2. 5. 18:20

 

VB.NET으로 AVI 파일을 MP4로 변환하는 프로그램을 만들려면, FFmpeg을 사용하는 방법이 일반적입니다. 아래는 VB.NET을 사용하여 간단한 AVI to MP4 변환 프로그램의 예제 코드입니다. 이 코드를 실행하려면 프로젝트에 FFmpeg가 설치되어 있어야 합니다.

    FFmpeg 설치:
    먼저, FFmpeg을 다운로드하고 설치합니다. FFmpeg 공식 웹사이트에서 FFmpeg을 다운로드하세요.

( FFmpeg는 설치형 프로그램이 아니고 단독 실행파일 입니다.)

    VB.NET 프로젝트 생성:
    Visual Studio 또는 기타 VB.NET 개발 도구를 사용하여 새로운 프로젝트를 만듭니다.

    프로젝트에 FFmpeg 라이브러리 추가:
    프로젝트에 FFmpeg 라이브러리를 추가합니다. 프로젝트에 FFmpeg을 포함하는 방법은 여러 가지이며, 가장 간단한 방법은 FFmpeg 실행 파일을 프로젝트 폴더에 복사하는 것입니다.(bin 폴더안에 ffmpeg.exe 파일만 옮기면됨)

    VB.NET 코드 작성:
    아래는 VB.NET으로 AVI를 MP4로 변환하는 예제 코드입니다. 코드에서 ffmpeg.exe는 FFmpeg 실행 파일의 경로입니다.

 

Imports System.Diagnostics

Public Class Form1
    Private Sub ConvertAviToMp4(aviFilePath As String, mp4FilePath As String)
        Try
            Dim ffmpegPath As String = "ffmpeg.exe" ' FFmpeg 실행 파일의 경로
            Dim arguments As String = $"-i ""{aviFilePath}"" -c:v libx264 -c:a aac -strict experimental -b:a 192k ""{mp4FilePath}"""

            Dim processInfo As New ProcessStartInfo(ffmpegPath, arguments)
            processInfo.RedirectStandardError = True
            processInfo.UseShellExecute = False
            processInfo.CreateNoWindow = True

            Dim process As New Process With {
                .StartInfo = processInfo,
                .EnableRaisingEvents = True
            }

            AddHandler process.Exited, Sub(sender, e)
                                            process.Dispose()
                                            MsgBox($"변환 완료: {mp4FilePath}", MsgBoxStyle.Information)
                                        End Sub

            process.Start()

            Dim errorReader As System.IO.StreamReader = process.StandardError
            Dim errorString As String = errorReader.ReadToEnd()

            process.WaitForExit()

            If Not String.IsNullOrEmpty(errorString) Then
                MsgBox($"오류 발생: {errorString}", MsgBoxStyle.Critical)
            End If
        Catch ex As Exception
            MsgBox($"오류 발생: {ex.Message}", MsgBoxStyle.Critical)
        End Try
    End Sub

    Private Sub btnConvert_Click(sender As Object, e As EventArgs) Handles btnConvert.Click
        ' AVI 파일 경로 설정
        Dim aviFilePath As String = "input.avi"

        ' MP4 파일 경로 설정
        Dim mp4FilePath As String = "output.mp4"

        ' AVI를 MP4로 변환
        ConvertAviToMp4(aviFilePath, mp4FilePath)
    End Sub
End Class

 

 

위 코드에서 ConvertAviToMp4 메서드는 FFmpeg을 사용하여 AVI를 MP4로 변환하는 역할을 합니다. 실제 사용할 때는 FFmpeg 실행 파일의 경로를 정확히 지정해야 합니다. 
코드에서는 버튼 클릭 이벤트 핸들러에서 변환을 시작하도록 설정되어 있습니다.

[VB.NET] FFmpeg 이용해 avi파일을 mp4파일로 변환.txt
0.00MB