하지만 VOD 제공 업체에서 자신들의 밥줄을 그냥 다운로드하게 해줄 이유가 없기 때문에 어떻게든 동영상들을 저장할 방법을 찾아야 했다. 그렇게 방법을 찾다가 약 3년 전부터 애용하기 시작한 툴이 있는데 바로 keepvid.com이다. 이 툴은 JAVA 기반에서 동작하며 YouTube에 있는 영상을 저장할 수 있도록 도와준다. 사용법은 아래와 같다.
- JAVA 설치(이미 설치되어 있다면 넘어가자)
- keepvid.com 접속
- YouTube에서 저장하고자 하는 영상 선택
- 선택한 영상의 웹 주소 복사
- keepvid.com 내 [웹 주소 입력 텍스트 박스]에 주소 입력 후 우측 [DOWNLOAD 버튼] 클릭
- 나열되는 목록 중 자신이 원하는 포맷과 해상도의 영상을 [다른 이른으로 저장]
(3GP, FLV, MP4, M4A, WEBM 지원)
근데 문제가 있다. MP4 포맷 720p 이하 해상도의 경우 영상과 음성이 먹싱된 동영상으로 지원하지만 그 외 1080p 해상도 MP4와 WEBM의 경우 영상과 음성을 따로 제공한다. 아마도 유튜브의 스트리밍 방식 때문인걸로 추측된다. 그럼 울며 겨자먹기로 영상만 보아야 하는 것인가? 그건 아니다 다 방법이 있다. 먹싱되지 않은 두 영상과 음성이 확보만 된다면 두 소스를 먹싱하기만 하면 된다. 다행히도 keepvid.com은 M4A로 음성 소스를 따로 제공하고 있다. 아래는 이 1080p MP4와 M4A를 이용해 두 소스를 하나의 동영상으로 먹싱하는 방법이다.
- ffmpeg 소스를 받아 빌드한다.(윈도 사용자의 경우 Zeranoe FFmpeg Builds에서 자신에게 적합한 바이너리를 다운로드한다)
- 다운로드한 두 소스를 ffmpeg을 통해 아래와 같은 형식으로 먹싱한다.
ffmpeg -i $VID_SRC -i $AUD_SRC -c:v copy -c:a copy $DST_PATH - $VID_SRC: 영상 소스 경로
- $AUD_SRC: 음성 소스 경로
- $DST_PATH: 먹싱된 동영상을 생성할 경로
- 감상(하앍//ㅅ//)
ffmpeg을 실행하면서 쓰인 저 스크립트에 대한 설명을 하다보면 이 포스트가 원 의도에서 엄청나게 벗어날 것 같으니 일단은 저렇게 쓴다는 정도로만 이해하도록 하자. 추후 ffmpeg에 대해 다루게 된다면 자세하게 다루어 보겠다(근데 귀찮아...)