한국어

비디오 및 자막 · YouTube 썸네일 다운로더 및 메타데이터 뷰어

보기, Shorts, 퍼가기 링크에서 YouTube 동영상 ID를 추출하는 방법

· 작동 방식

유튜브 URL 구문 분석 중

하나의 동영상 식별자로 수렴되는 여러 YouTube 링크 형태
원본 ToolAcre 벡터 일러스트레이션

동일한 동영상을 다양한 방법으로 연결할 수 있습니다. 이 게시물에서는 YouTube 링크의 형태, 도구가 각 링크 내에서 11자리 ID를 찾는 방법, 추적 매개변수 및 타임스탬프로 수행할 작업에 대해 설명합니다.

동일한 동영상, 5개의 다른 링크 — 보기 페이지, 짧은 링크, Shorts, 삽입, 모바일 주소

하나의 동영상은 시청 URL, youtu.be 공유, Shorts 경로, 삽입 주소, 라이브 링크 또는 모바일 호스트 링크로 도착할 수 있습니다. ToolAcre는 네트워크 작업을 고려하기 전에 지원되는 각 모양을 동일한 11자 ID로 줄입니다. 결과적으로 혼합 가져오기는 하나의 비디오에 대한 6개의 링크를 6개의 레코드로 처리하는 대신 해당 ID를 중복 제거 키로 사용할 수 있습니다.

해당 순서는 혼합 목록을 정리하는 편집자에게 유용합니다. 구문 분석은 페이지에서 결정론적 문자열 및 URL 작업이므로 붙여넣은 값을 원격 확인자에게 유출하지 않고 잘못된 도메인 및 재생 목록 전용 링크를 보고할 수 있습니다. 컬렉션 URL의 존재 여부나 순서가 편집자가 인용하려는 구성원을 식별하지 못하기 때문에 컬렉션 URL은 확인되지 않은 상태로 남아 있습니다.

ID 자체 — 64 기호 알파벳의 11개 문자와 무작위로 보이는 이유

허용되는 ID 모양은 대문자와 소문자, 숫자, 하이픈, 밑줄로 구성된 정확히 11자입니다. 이는 형식 확인일 뿐입니다. 통과한다고 해서 동영상이 존재한다는 사실을 증명하거나 등장인물의 의미가 드러나는 것은 아닙니다. 구문 분석된 v 값 또는 경로 세그먼트에 규칙을 적용하면 관련되지 않은 일부 인코딩된 매개변수에서 ID와 유사한 하위 문자열을 청소하는 것을 방지할 수 있습니다.

일치하는 ID가 즉시 승인됩니다. 더 긴 재생목록 식별자는 별도의 보수적인 패턴을 사용하여 재생목록 토큰이 자동으로 한 동영상의 키로 처리되는 것을 방지합니다. 시작 시간은 인용 데이터와 함께 유지됩니다. 30초를 90초로 변경해도 여전히 동일한 11자 비디오 기록을 가리킵니다.

URL API로 구문 분석 — 정규 표현식만으로 추측하지 않고 호스트, 경로 및 쿼리 읽기

URL 생성자는 프로토콜, 정규화된 호스트, 경로 세그먼트 및 쿼리 매개변수를 분리합니다. 이렇게 하면 실수로 유사 도메인을 허용하거나 쿼리 값을 경로 ID와 혼동할 수 있는 하나의 거대한 정규식을 방지할 수 있습니다. 신뢰할 수 없는 URL에 포함된 식별자에 대해 신뢰할 수 있는 축소판을 생성하는 것보다 사기성 호스트를 거부하는 것이 더 안전합니다.

HTTP 및 HTTPS만 허용되며 앞에 나오는 www는 정규화됩니다. 허용 목록에는 youtube라는 단어가 포함된 호스트 이름을 신뢰하는 대신 YouTube, 모바일, 음악, 게임, nocookie 및 youtu.be 호스트가 포함됩니다. 공격자가 의도적으로 관련 없는 도메인에 실제 공개 ID를 포함할 수 있기 때문에 원격 성공은 잘못 구문 분석된 링크의 출처를 확인할 수 없습니다.

각 도형에서 ID가 숨겨져 있는 위치 — v 매개변수, youtu.be의 경로, /shorts/, /embed/ 및 /live/

보기 페이지는 v 쿼리 매개변수를 사용하고, youtu.be는 첫 번째 경로 세그먼트를 사용하며, Shorts, Embed 및 라이브 양식은 접두사 뒤에 세그먼트를 사용합니다. 레거시 /v/ 및 /e/ 경로도 동일한 엄격한 모양 검사를 통해 인식됩니다. 일치하는 식별자는 로컬 처리만 허용하며 콘텐츠나 소유권에 대한 소유권 주장은 허용하지 않습니다.

파서는 유효한 재생 목록 ID와 t 또는 start의 시작 오프셋을 추가로 읽습니다. 이는 비디오 식별자 자체를 오염시키지 않고 생성된 링크를 알릴 수 있도록 이를 별도의 사실로 반환합니다. 네트워크 경계는 이러한 구별이 완료된 후에만 시작되므로 파서 테스트는 오프라인으로 실행될 수 있습니다.

나머지 무시 - 동영상을 식별하지 못하는 재생목록 매개변수, 시작 시간 및 공유 추적 값

공유 추적 값, 관련 없는 쿼리 매개변수 및 타임스탬프는 동영상을 식별하지 않습니다. ToolAcre는 ID를 추출한 후 이를 무시하는 반면, 지원되는 시간 형식은 의도적으로 시작 지점을 보존하는 링크에 대해 전체 초로 정규화됩니다. 따라서 서로 다른 캠페인 태그가 있는 두 개의 링크는 생성된 URL에 해당 마케팅 매개변수를 전달하지 않고도 하나의 자산 레코드로 분석될 수 있습니다.

재생목록 전용, 채널 및 검색 페이지는 하나의 동영상 이름을 지정하지 않으므로 조치 가능한 거부를 받습니다. 해당 페이지에서 ID를 추측하면 확실성이 높아져 잘못된 기록에 대한 자산을 가져올 수 있습니다. 큐레이터는 먼저 개별 항목을 선택해야 합니다. 파서는 나중에 순서가 변경될 수 있는 컬렉션의 첫 번째 결과를 자동으로 선택하지 않습니다.

작업 예: 붙여넣은 10개의 링크를 ID로 정규화(YouTube 링크가 아닌 2개 포함)

실용적인 10개 붙여넣기 배치에는 Watch, Shorts, Shorts, Embed, 라이브, 모바일 및 베어 ID 양식과 관련되지 않은 2개의 도메인이 포함될 수 있습니다. 처음 8개는 ID로 수렴됩니다. 관련되지 않은 호스트는 허용 호스트 목록으로 인해 로컬에서 실패합니다. 따라서 기여자가 여러 다른 YouTube 인터페이스에서 링크를 복사한 경우에도 ID별로 출력의 중복을 제거할 수 있습니다.

해당 정규화 중에는 존재 여부 조사가 발생하지 않습니다. 형태는 유효하지만 존재하지 않는 ID는 나중에 가져오기 단계에 도달합니다. 여기서 축소판 및 oEmbed 응답은 파서 결과를 소급하여 변경하는 대신 독립적인 증거를 제공합니다. 이는 '텍스트가 유효한 식별자'와 'Google이 현재 이에 대한 공개 자료를 제공하고 있음'을 명확하게 구분합니다.

여기에 포함되지 않는 내용 — 단일 동영상 ID가 포함되지 않은 채널, 재생목록 및 검색 URL

파서는 채널, 재생목록 또는 검색 결과를 선택한 동영상으로 해석하지 않습니다. 또한 공개 식별자를 추출하는 것은 보호된 자료를 검색하기 위한 인증이 아니기 때문에 비공개, 삭제 또는 연령 제한 액세스를 우회할 수 없습니다. 모호한 컬렉션 URL을 거부하면 한 사람의 화면에 처음 나타나는 항목으로 카탈로그가 채워지는 것을 방지할 수 있습니다.

가져오기를 누르면 이미지 프로브에서 404, 기타 HTTP 오류, 200 자리 표시자 또는 디코딩할 수 없는 바이트가 발생할 수 있습니다. 차단기, 프록시 또는 오프라인 상태가 방해하는 경우를 포함하여 전송, HTTP 거부 또는 유효하지 않은 JSON로 인해 메타데이터가 별도로 실패할 수 있습니다. 이러한 결과는 가용성 보고서에 속합니다. 파서가 원래 링크를 다른 비디오로 재해석하도록 유도해서는 안 됩니다.

요점: ID를 찾으면 모든 것이 따라옵니다. YouTube 썸네일 다운로더가 YouTube 링크를 받아들이고 지원하는 형태를 문서화하는 방법

로컬 구문 분석 후 브라우저는 i.ytimg.com에서 JPEG 후보당 하나의 썸네일과 www.youtube.com에서 하나의 oEmbed JSON 레코드를 직접 요청합니다. oEmbed URL은 표준 조사 URL과 format=json을 래핑합니다. 네트워크 패널에서 이러한 호출을 보면 정규화가 완료되었으며 추출된 동일한 ID가 자산 및 메타데이터 요청을 모두 유도하고 있음을 확인할 수 있습니다.

이러한 익명 GET은 자격 증명 및 리퍼러를 생략하고, 저장소 없음을 사용하고, 리디렉션을 따르고, ToolAcre 서버 또는 프록시를 우회합니다. Google은 요청과 Origin 헤더를 확인합니다. 비공개 동영상, 삭제된 동영상, 연령 제한 동영상에는 로그아웃 제한이 계속 적용됩니다. 버튼을 클릭하기 전에 구성 요소를 식별하는 데 조회가 필요하지 않기 때문에 파서 동작을 대표 URL 모양을 사용하여 오프라인으로 테스트할 수 있습니다.