짤막한 클립영상을 만들려고 다시보기 영상들을 통째로 다운받고 잘라서 편집하다보니

하나에 20~30GB는 우습게 넘기는 크기 영상들을 다운받아서 작업을 했는데

이게 하드 수명에도 그닥 좋지 않을거같고 해서 다른 방법을 찾아봤다.

 

기존에 영상을 잘라내는데에 쓰던 FFMPEG 명령어를 조금 손봐서 Input 영상을 url로 대체하면

가능하지 않을까 시도했다.

 

#$starttime부터 $endtime까지의 영상으로 잘라내는 명령어
ffmpeg -i video.mp4 -ss $starttime -to $endtime -vcodec copy -acodec copy output.mp4

 

 

#Input video를 다운받을 영상의 URL로 바꿔줌
ffmpeg -i [URL] -ss $starttime -to $endtime -vcodec copy -acodec copy output.mp4

 

하지만 이렇게 바꿔서 시도해보니 아래처럼 0 frame에서 작업이 멈춘 상태로 진행되지 않았다.

이 상태에서 멈춰있다

 

그래서 다른방법이 있을까 하고 찾아봤지만 결과적으론 그냥 명령어 순서의 문제였다.

아래와 같이 해주면 정상 작동한다.

ffmpeg -ss $starttime -to $endtime -i [URL] -c copy output.mp4

 


왜 그냥 갖고있던 영상을 다룰때와 URL로 받아와서 다룰때 명령어 순서에 차이가 생기는지는 모르겠다.

 

 


치지직에서 해당 다시보기 영상의 URL을 가져오는 방법

 

해당 영상에 들어가 f12로 개발자모드를 키고 Network탭에서 m3u8을 검색하면 아래와 같이 나온다

결과들을 눌러보면 위처럼 key=가 들어간 값을 가리키는게 있다

거기서 preview로 들어가면

이렇게 BaseURL과 m3u8 링크를 얻을 수 있다.

 

이 중 BaseURL을 써야 정상작동 한다.

 

---

 

이 방법이 복잡하면 그냥 yt-dlp를 사용하는 방법도 있다.

https://github.com/yt-dlp/yt-dlp

 

GitHub - yt-dlp/yt-dlp: A feature-rich command-line audio/video downloader

A feature-rich command-line audio/video downloader - yt-dlp/yt-dlp

github.com

링크에 들어가서

윈도우 기준 yt-dlp.exe를 다운받아 ffmpeg와 같은 폴더에 넣은 뒤 명령 프롬프트에서 해당 폴더로 이동하고

yt-dlp -g [영상링크]

위 명령어를 쓰면 쉽게 BaseURL을 받아올 수 있다.

예시

 

반응형

+ Recent posts