본문 바로가기

카테고리 없음

ffmpeg 로 m3u8 파일 다운로드 방법

ffmpeg -protocol_whitelist file,http,https,tcp,tls,crypto -i 파일명.m3u8 -c copy 출력파일명.mp4

ffmpeg으로 m3u8확장자의 파일을 다운로드 받을 수 있다. 단, ts 파일들을 순차적으로 다운로드 받으므로 시간이 오래걸린다.

wsl2 를 이용하여 window에서도 간단하게 terminal에서 ffmpeg을 설치하여 진행할 수 있다. 

-i 옵션뒤에 m3u8 확장자의 파일명 또는 m3u8파일을 다운로드 받을 수 있는 URL이 들어갈 수 있다.

파일을 받는 도중에 한 ts 파일이 connection timeout이 나서 다운을 못받게 되면, mp4 비디오에서 그부분의 영상이 잘린채로 건너뛰어지게 된다.

ts파일들이 없다고 에러가 나는 경우

인터넷으로 ts파일을 다운로드 받는 것이 아니라 로컬 디렉토리에서 ts파일들을 찾아서 합치려고 하기 때문에 발생하는 오류이다.

아래와 같이 반복문을 이용하여 ts파일들을 전부 다운 받은 다음에 합치면 된다.

for i in {0..999}
do
	wget https://domain/filename$i.ts
done

999는 예시이며, m3u8 파일에 명시된 마지막 파일 번호를 찾아서 입력해준다.

반응형