https://support.google.com/youtube/answer/15424877?hl=ko

<aside> ⚙

2024년 10월 15일 기준, 3분 미만 + 세로형 동영상인 경우 쇼츠로 판단됩니다.

</aside>

  1. 영상 길이 확인

  2. 태그 확인

  3. 동영상의 실제 크기 확인

    <aside> ⚠️

    fileDetails 객체는 파일의 해상도, 길이, 오디오 및 동영상 코덱, 스트림 비트 전송률 등을 비롯하여 YouTube에 업로드된 동영상 파일에 관한 정보를 캡슐화합니다. 이 데이터는 동영상 소유자만 검색할 수 있습니다.

    </aside>

  4. yt-dlp 사용

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

    누군가가 잘 만들어놨습니다. 메타데이터를 가져와서 받을 수 있는 동영상의 크기를 알려줍니다.

    sudo wget <https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp> -O /usr/local/bin/yt-dlp
    sudo chmod a+rx /usr/local/bin/yt-dlp
    

    이후 yt-dlp -F {{ 유튜브 주소 || 동영상 id }} 명령어를 통해 동영상의 레이아웃을 가져옵니다.

    이때 쇼츠 형식은 1:1 미만, 즉 가로/세로 의 비율이 1 이하면 쇼츠로 판단합니다. 시간도 3분이에요!

    // 일반적인 동영상의 레이아웃 - 대부분 16:9 이상이다.
    303     webm  1920x1080   60    │  281.25MiB 2878k https │ vp9           2878k video only          1080p60, webm_dash
    
    // 쇼츠 형식의 레이아웃 - 대부분 9:16 비율
    616     mp4   1080x1920   30    │ ~ 24.47MiB 5703k m3u8  │ vp09.00.40.08 5703k video only          Premium
    
    

따라서 지금은 동영상 길이 + 제목에 #shorts 태그를 확인하는 것이 베스트입니다.

2025.02.19 추가

yt-dlp를 이용하면 태그 확인하지 않고 가져올 수 있습니다. request 시간이 조금 있지만 가장 정확한 방법입니다.

가로/세로 비율이 1 이하이면서 3분 이하이면 shorts 영상이라고 판단할 수 있습니다.