m3u8를 mp4로 변환 (ffmpeg 이용)

** 2024년 4월 : 내용 변경 및 추가함

ffmpeg 프로그램 설치

우선 ffmpeg 프로그램을 설치해야 합니다. 설치 방법은 운영체제에 따라서 다양한 방법이 있습니다.

리눅스

우선 리눅스를 사용한다면 apt-get을 이용해서 설치하면 됩니다.

Bash
vividian@user:~$ sudo apt-get install ffmpeg

윈도우

윈도우의 경우에는 프로그램을 다운로드 받아 설치하거나, 패키지 매니저를 통해 설치해도 됩니다.

윈도우 패키지 매니저를 이용
윈도우11 에는 winget 이라는 마이크로소프트에서 제공하는 패키지 매니저가 있습니다. 윈도우키 + ‘R’ 키를 눌러 실행창을 띄우거나, 윈도우 검색창에서 “cmd” 를 검색하여 명령 프롬프트를 관리자 권한으로 실행합니다.
winget search ffmpeg 으로 패키지를 검색하고,
winget install Gyan.FFmpeg 으로 패키지를 설치합니다.

Bash
C:\Users\vividian>winget search ffmpeg
이름                      장치 ID                      버전  일치            원본
-----------------------------------------------------------------------------------
FFmpeg                    Gyan.FFmpeg                  7.0                   winget
Wav2Bar                   Picorims.wav2bar             0.3.0 Tag: ffmpeg     winget
y2mp3                     moshfeu.y2mp3                2.5.9 Tag: ffmpeg     winget
FFmpeg (Shared)           Gyan.FFmpeg.Shared           7.0   Tag: ffmpeg     winget
FFmpeg (Essentials Build) Gyan.FFmpeg.Essentials       7.0   Tag: ffmpeg     winget
cyanrip                   cyanreg.cyanrip              0.9.2 Tag: ffmpeg     winget
FFmpeg Batch AV Converter eibol.FFmpegBatchAVConverter 2.8.1                 winget
Videomass                 GianlucaPernigotto.Videomass 3.5.8 Tag: ffmpeg-gui winget

C:\Users\vividian>winget install Gyan.FFmpeg
찾음 FFmpeg [Gyan.FFmpeg] 버전 7.0
 응용 프로그램의 라이선스는  소유자가 사용자에게 부여했습니다.
Microsoft는 타사 패키지에 대한 책임을 지지 않고 라이선스를 부여하지도 않습니다.
다운로드  https://github.com/GyanD/codexffmpeg/releases/download/7.0/ffmpeg-7.0-full_build.zip
  ████████████▏                   65.3 MB /  160 MB

Scoop 패키지 매니저를 사용
scoop을 이용한다면, scoop install ffmpeg 명령어를 입력하여 간단하게 ffmpeg을 설치할 수 있습니다.

Bash
C:\Users\vividian> scoop install ffmpeg
Updating Scoop...
Installing 'ffmpeg' (5.0) [64bit]
ffmpeg-5.0-full_build.7z (41.7 MB) [==========================================================================] 100%
Checking hash of ffmpeg-5.0-full_build.7z ... ok.
Extracting ffmpeg-5.0-full_build.7z ... done.
Linking ~\Scoop\apps\ffmpeg\current => ~\Scoop\apps\ffmpeg\5.0
Creating shim for 'ffmpeg'.
Creating shim for 'ffplay'.
Creating shim for 'ffprobe'.
Running post-install script...
'ffmpeg' (5.0) was installed successfully!

직접 사이트에 방문 설치
직접 사이트에 방문하여, ffmpeg 을 빌드한 파일을 통해 설치할 수 있습니다. 아래 링크의 사이트를 방문합니다.
윈도우 버튼을 클릭하면 Windows builds form gyan.dev 를 클릭합니다.
이동한 사이트에서 release builds 메뉴를 선택하고, ffmpeg-release-essentials.zip 파일 다운로드 받습니다.

그러면 이제 ffmpeg 을 사용할 준비가 되었습니다.

.m3u8 파일에서 url 확인

m3u8 파일을 mp4로 변환하려면, m3u8 파일에 포함되어 있는 url 주소를 확인해야 합니다.
크롬 브라우저를 실행하고, F12 버튼 누르면, 개발자 모드가 뜹니다.
m3u8 파일을 플레이 시키고, 개발자 모드 화면의 Network > Filter > All 로 이동합니다.
Name 영역에 .m3u8 파일을 선택합니다.
오른쪽 화면에 Header > General > Request URL 에서 URL 을 복사하면 됩니다.
URL 은 http://주소/파일명.m3u8 으로 되어 있습니다.

< F12 누르고, 개발자 모드로 들어온 이후, .m3u8 파일명 확인하기 >

mp4로 변환

m3u8 의 url 을 확인했으니, 이제 mp4로 변환하면 됩니다.
윈도우에서 cmd를 실행하고, ffmpeg 명령어를 아래와 같이 입력합니다.
scoop 이나 winget 으로 설치한 경우에는 자동으로 경로가 지정되어 있지만, 사이트에서 직접 다운로드 받은 경우에는 ffmpeg 압축을 풀고, 해당 위치에서 실행하셔야 합니다.

Bash
ex) ffmpeg -i <URL입력> -bsf:a aac_adtstoasc -vcodec copy -c copy -crf 50 <저장할 파일명>
C:\Users\vividian> ffmpeg -i http://test.com/test.m3u8 -bsf:a aac_adtstoasc -vcodec copy -c copy -crf 50 file.mp4

위와 같이 입력하면 m3u8에 정의된 조각난 동영상 파일들을 읽어 들여 mp4 파일 하나로 합쳐줍니다.

< 위 .m3u8 주소를 가지고 ffmpeg 을 이용하여 .m3u8 파일로부터 쪼개진 파일들을 다운로드 받고, 합치는 과정 예 >

참고


댓글 달기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

Scroll to Top