유튜브 리밴스드 버퍼링 오류 해결 방법
설마 이런 것도 있을까? 싶은 것들, 정말 웬만한 정보는 유튜브에서 모두 찾을 수 있죠. 유튜브 영상을 볼 때, 밑에 달린 댓글을 보는 재미도 쏠쏠한데요. 경우에 따라서는 영상에서 언급되지 않은 좋은 추가 정보를 댓글에서 얻기도 합니다. 저는 동영상을 볼 때 크롬브라우저를 사용하는데요. 어느 날 유튜브 영상을 보는데 갑자기 댓글이 보이지 않는 현상을 겪게 되었습니다. 처음에는 댓글은 그냥 안봐도 크게 상관 없을 것 같았는데, 막상 덧붙인 덧붙인 글 확인을 할 수 없게 되니 뭔가 모르게 계속 협소한 느낌이 들더라구요. 원인이 제대로 뭔지 알 수 없지만 댓글이 뜨지 않는 일명 덧붙인 덧붙인 글 무한로딩 현상이 나타났습니다.
이러한 증상이 발생하는 원인은 여러가지가 있을 수 있습니다.
savefrom.net
먼저 savefrom.net이 있습니다. 온라인 동영상 다운로더라고 표시되어 있었으나 유튜브 동영상 다운로드뿐만 아니라 페이스북, 인스타그램, 소셜미디어 등의 동영상을 링크만 복사해서 붙여넣기하시면 바로 다운로드가 가능합니다. 무료 회원은 720p 360p의 2가지 화질을 이용할 수 있으며 유료 회원은 1080p 동영상 다운로드도 가능합니다. 다운로드 버튼을 누르시면 HD 혹은 MP3 다운로드 버튼이 나오는데 클릭하지 마시고 3초만 기다리면 무료 다운로드 화면이 나옵니다.
아니면 HD 혹은 MP3 다운로드 버튼 밑에 조그맣게 기록된 낮은 품질로를 터치하시면 됩니다.
4 video ID
예전에는 저희들이 데이터베이스에 등록되어 있는 video의 ID가 아닌, 저희들이 직접 ID를 배열에 작성해서 사용했었습니다. 그때는 ID를 1, 2, 3처럼 숫자만 사용해 작성해 주었는데, mongoDB에서 자동으로 부여해 주는 랜덤값은 숫자 외에 다른 문자도 포함하고 있습니다. 따라서, 홈페이지에서 video의 제목을 클릭해서 링크를 타면, 오류가 발생합니다. 라우터에서 ID가 숫자로만 구성되어 있는 URL을 받게 하도록 설정해 두었기 때문입니다.
mongoDB의 ID를 가진 URL을 받기 위해서는 저희들이 작성해 두었던 정규표현식을 수정해야 합니다. 그전에, mongoDB의 ID 구조를 알아봅시다. 공식 문서에 따르면, id는 24 바이트 16진수 문자열이라 정의되어 있습니다.
1 static
저희들이 위에서 middleware를 사용한 이유는, hashtags 전처리를 여러 controller에서 복붙 해서 사용하고 싶지 않기 때문입니다. 하지만 위에서 언급했듯 저희들이 작성해 놓은 middleware는 save 함수가 호출되었을 때만 동작합니다. 그러므로 postEdit controller에서 활용하는 findByIdAndUpdate 함수를 호출하면 저희들이 작성해 놓은 middleware가 동작하지 않아서 저희들이 의도한 방향과는 조금 상이하게 middleware가 동작합니다.
이럴 때, static을 사용하여 위 이슈를 보완할 수 있습니다. static은 저희들이 사용했던 save, exists, findByIdAndUpate 같은 함수를 저희들이 직접 커스텀해 만들어 볼 수 있습니다.
flv2mpby
사이트로 접속해서 링크를 입력하고 MP4 HD에 체크한 후 변환하기를 터치하시면 유튜브 영상이 mp4로 다운로드 됩니다. AVI 파일로 받으시려면 AVI에 체크하시면 됩니다. 홈페이지는 조금 느리지만 다른 사이트들이 막혔을 때 예비로 사용해볼만한 사이트입니다. 위 소개 사이트들은 무료 이용 시 광고가 거슬릴 수 있지만 고화질 다운로드도 가능하기 때문에 잘 사용하면 나름 유용하실 겁니다. 참고하실 점은 해당 사이트들은 전 세계 사람들이 활용하는 사이트들이라 사람들이 몰리는 시간대에 접속하면 다운로드 속도가 느려질 수 있다는 점입니다.
너무 느리다. 싶으면 다른 사이트로 접속해 보시기 바랍니다. 이상으로 쓸만한 유튜브 동영상 다운로드 사이트를 정리해 보았습니다.
Middleware
이때까지 hashtags를 받아서 데이터를 저장하거나 업데이트할 때마다. 전처리과정을 하나하나 작성해주시기 바랍니다야 했습니다. 이럴 때를 위해, mongoose에는 express와 같이 middleware가 존재합니다. mongoose에서 pre middleware를 활용하는 방법은 아래와 같습니다. Video.js를 다음과 같이 수정합니다. 위 코드의 middleware는 데이터가 save 되기 전에 this저장할 데이터의 hashtags를 이전에 했던 것처럼 전처리를 해주게 됩니다.
유튜브 고객센터 문의
위 조치들이 해결책이 되지 않는다면, 유튜브 고객센터에 문제 상세 내용과 함께 질문하여 지원 요청을 할 수도 있습니다. 리밴스드Reversed 무한로딩은 여러 요소에 의해 발생할 수 있는 어려운 문제입니다. 위 방법들은 거의 모든 이용자들에게 도움이 되었던 것들입니다. 그러나 각 상황마다. 효과적인 해결책은 달라질 수 있다는 점을 명심하시기 바랍니다. 문제가 계속되면 전문가나 기술 지원팀에 도움을 요청하는 것도 좋은 방법입니다.
자주 묻는 질문
savefromnet
먼저 savefrom. 궁금한 사항은 본문을 참고하시기 바랍니다.
4 video ID
예전에는 저희들이 데이터베이스에 등록되어 있는 video의 ID가 아닌, 저희들이 직접 ID를 배열에 작성해서 사용했었습니다. 좀 더 구체적인 사항은 본문을 참고해 주세요.
1 static
저희들이 위에서 middleware를 사용한 이유는, hashtags 전처리를 여러 controller에서 복붙 해서 사용하고 싶지 않기 때문입니다. 좀 더 구체적인 사항은 본문을 참고하시기 바랍니다.