| --- | |
| layout: default | |
| title: MW Metadata Bulk | |
| script: youtube-metadata-bulk | |
| --- | |
| <div class="container"> | |
| <p> | |
| MW Metadata bulk grabs details about multiple YouTube videos, a playlist's videos, or a channel's public videos. | |
| </p> | |
| <p> | |
| Submit a comma or whitespace separated list of multiple videos, playlists, or channels | |
| </p> | |
| <div class="input-group mb-3"> | |
| <input type="text" class="form-control" placeholder="https://www.youtube.com/channel/UCuAXFkgsw1L7xaCfnd5JJOw" | |
| aria-label="https://www.youtube.com/channel/UCuAXFkgsw1L7xaCfnd5JJOw" aria-describedby="submit" | |
| id="value" autocomplete="off"> | |
| <button class="btn btn-primary loading disabled" type="button" id="submit"> | |
| <span>Submit</span> | |
| <span class="countdown"></span> | |
| </button> | |
| </div> | |
| <div class="form-check"> | |
| <input class="form-check-input" type="checkbox" value="" id="createdPlaylists" autocomplete="off"> | |
| <label class="form-check-label" for="createdPlaylists"> | |
| Inspect videos in created playlists to find unlisted, private, and deleted videos (channels only) | |
| </label> | |
| </div> | |
| </div> | |
| {% include format_share.html %} | |
| <div class="container mb-15"> | |
| <h2><span class="export">Export &</span> Share</h2> | |
| <p class="export">Save this result as a zip file or load from a previous export. Drag and drop supported.</p> | |
| <button class="btn btn-secondary export" id="export"> | |
| <span class="spinner"><span class="spinner-border spinner-border-sm" role="status"></span></span> | |
| <span class="text"><i class="bi bi-download"></i> Export</span> | |
| </button><span class="export"> </span> | |
| <button class="btn btn-secondary export" id="import" onclick="document.getElementById('importFileChooser').click()"> | |
| <span class="spinner"><span class="spinner-border spinner-border-sm" role="status"></span></span> | |
| <span class="text"><i class="bi bi-upload"></i> Import</span> | |
| <input id="importFileChooser" type="file" hidden/> | |
| </button> | |
| <div class="form-check export" style="margin:10px 0"> | |
| <input class="form-check-input" type="checkbox" value="" id="includeThumbs" autocomplete="off"> | |
| <label class="form-check-label" for="includeThumbs"> | |
| Include thumbnails on export (this may take a long time) | |
| <span id="thumbProgress" class="orange"></span> | |
| </label> | |
| </div> | |
| <p class="export">Contains file(s)</p> | |
| <ul class="export"> | |
| <li>about.txt - Metadata about this result.</li> | |
| <li>videos.json - Array of all raw video data.</li> | |
| <li>channels.json - Array of all raw channel data.</li> | |
| <li>playlists.json - Array of all raw playlist data.</li> | |
| <li>unavailable.json - Basic data for unavailable videos.</li> | |
| <li>β±.csv - Data from each table section below.</li> | |
| <li>thumbs/β±.png - Thumbs if available.</li> | |
| </ul> | |
| <p class="export"></p> | |
| <p>Share this result:</p> | |
| <div class="input-group" style="max-width: 226px;"> | |
| <input type="text" class="form-control" aria-describedby="copy" id="shareLink" autocomplete="off"> | |
| <button class="btn btn-primary clipboard" type="button" data-clipboard-target="#shareLink"><i | |
| class="bi bi-clipboard"></i></button> | |
| </div> | |
| <p style="margin-top: 10px"> | |
| <a target="_blank" href="https://github.com/mattwright324/youtube-metadata/discussions/150"> | |
| What happened to export? | |
| </a> | |
| </p> | |
| </div> | |
| <div class="container mb-15"> | |
| <h2>Videos</h2> | |
| <p> | |
| List of all videos, playlist videos, or channel public uploads. | |
| Customize columns to show more or less data as needed. | |
| </p> | |
| <div class="progress" style="margin-bottom:5px"> | |
| <div id="progressBar" class="progress-bar" role="progressbar" style="" aria-valuenow="0" aria-valuemin="0" | |
| aria-valuemax="100"> | |
| <div class="label"></div> | |
| </div> | |
| </div> | |
| <div id="progressText" style="width: 100%;text-align: center;">Idle</div> | |
| <br> | |
| <label for="column-options">Select column(s)</label> | |
| <select id="column-options" multiple="multiple" hidden></select> | |
| </div> | |
| <div class="container-fluid mb-15"> | |
| <table id="videosTable" class="table table-striped table-hover" style="width:100%"></table> | |
| </div> | |
| <div class="container mb-15"> | |
| <h2>Tags</h2> | |
| <p>Aggregate total tag counts on found videos.</p> | |
| <table id="tagsTable" class="table table-striped table-hover" style="width:100%"></table> | |
| </div> | |
| <div class="container mb-15"> | |
| <h2>Geotags</h2> | |
| <p> | |
| Aggregate total geotag counts on found videos. | |
| Want to visualize this data in a map? | |
| Export this result and import the zip into | |
| <a href="https://mattw.io/youtube-geofind" target="_blank">YouTube Geofind</a>!</p> | |
| </p> | |
| <table id="geotagsTable" class="table table-striped table-hover" style="width:100%"></table> | |
| </div> | |
| <div class="container mb-15"> | |
| <h2>Links</h2> | |
| <p> | |
| Aggregate total link counts in found video descriptions. | |
| Be careful visiting what may show up here, by default results will not be hyperlinked for safety. | |
| </p> | |
| <div class="form-check mb-15"> | |
| <input class="form-check-input" type="checkbox" value="" id="makeHyperlinks" autocomplete="off" | |
| onchange="bulk.toggleLinksColumn(0);bulk.toggleLinksColumn(1)"> | |
| <label class="form-check-label" for="makeHyperlinks"> | |
| Make them hyperlinks anyways | |
| </label> | |
| </div> | |
| <table id="linksTable" class="table table-striped table-hover" style="width:100%"></table> | |
| </div> | |
| <div class="container mb-15"> | |
| <h2>Upload Frequency</h2> | |
| <p> | |
| Aggregate uploads frequency by hour and day. | |
| Transformable to any timezone | |
| (<a target="_blank" href="https://upload.wikimedia.org/wikipedia/commons/8/88/World_Time_Zones_Map.png">map</a>) | |
| and filterable by year when activity occurred. | |
| Guesstimate region using typical sleep/activity patterns, see change in behavior over time, | |
| or see typical upload times in your own timezone. | |
| </p> | |
| <div class="row" style="margin: 0 0 1.5em 0"> | |
| <select id="offset" class="form-select" style="width:auto;margin-right:10px" autocomplete="off"> | |
| <option value="-1200">UTC β12:00</option> | |
| <option value="-1100">UTC β11:00</option> | |
| <option value="-1000">UTC β10:00</option> | |
| <option value="-0930">UTC β09:30</option> | |
| <option value="-0900">UTC β09:00</option> | |
| <option value="-0800">UTC β08:00</option> | |
| <option value="-0700">UTC β07:00</option> | |
| <option value="-0600">UTC β06:00</option> | |
| <option value="-0500">UTC β05:00</option> | |
| <option value="-0400">UTC β04:00</option> | |
| <option value="-0330">UTC β03:30</option> | |
| <option value="-0300">UTC β03:00</option> | |
| <option value="-0200">UTC β02:00</option> | |
| <option value="-0100">UTC β01:00</option> | |
| <option value="+0000" selected>UTC Β±00:00</option> | |
| <option value="+0100">UTC +01:00</option> | |
| <option value="+0200">UTC +02:00</option> | |
| <option value="+0300">UTC +03:00</option> | |
| <option value="+0330">UTC +03:30</option> | |
| <option value="+0400">UTC +04:00</option> | |
| <option value="+0430">UTC +04:30</option> | |
| <option value="+0500">UTC +05:00</option> | |
| <option value="+0530">UTC +05:30</option> | |
| <option value="+0545">UTC +05:45</option> | |
| <option value="+0600">UTC +06:00</option> | |
| <option value="+0630">UTC +06:30</option> | |
| <option value="+0700">UTC +07:00</option> | |
| <option value="+0800">UTC +08:00</option> | |
| <option value="+0845">UTC +08:45</option> | |
| <option value="+0900">UTC +09:00</option> | |
| <option value="+0930">UTC +09:30</option> | |
| <option value="+1000">UTC +10:00</option> | |
| <option value="+1030">UTC +10:30</option> | |
| <option value="+1100">UTC +11:00</option> | |
| <option value="+1200">UTC +12:00</option> | |
| <option value="+1245">UTC +12:45</option> | |
| <option value="+1300">UTC +13:00</option> | |
| <option value="+1345">UTC +13:45</option> | |
| <option value="+1400">UTC +14:00</option> | |
| </select> | |
| <select id="year" class="form-select" style="width:auto" autocomplete="off"> | |
| <option value="" selected>All years</option> | |
| </select> | |
| </div> | |
| <div id="uploadFrequency"></div> | |
| </div> | |
| <div class="container mb-15"> | |
| <h2>Unavailable</h2> | |
| <p> | |
| Videos that are unavailable from channels (created playlists on), playlists, or videos. | |
| They are either <a target="_blank" href="https://github.com/mattwright324/youtube-metadata/wiki/Deleted-and-Private-Videos">deleted or made private</a>. | |
| Consider searching for user-made playlists to find more unavailable videos. | |
| </p> | |
| <div id="unavailable"> | |
| <div class="input-group mb-3" style="align-items: center;"> | |
| <button class="btn btn-secondary loading disabled" type="button" id="checkUnavailable" style="margin-right: 10px"> | |
| <span>Check Unavailable</span> | |
| <span class="countdown"></span> | |
| </button> | |
| <span>Check Filmot for any archived metadata for unavailable videos.</span> | |
| </div> | |
| <div class="progress" style="margin-bottom:5px"> | |
| <div id="unavailableProgressBar" class="progress-bar" role="progressbar" style="" aria-valuenow="0" aria-valuemin="0" | |
| aria-valuemax="100"> | |
| <div class="label"></div> | |
| </div> | |
| </div> | |
| <div id="unavailableProgressText" style="width: 100%;text-align: center;">Idle</div> | |
| <br> | |
| </div> | |
| <label for="unavailable-columns">Select column(s)</label> | |
| <select id="unavailable-columns" multiple="multiple" hidden></select> | |
| </div> | |
| <div class="container-fluid mb-15"> | |
| <table id="unavailableTable" class="table table-striped table-hover" style="width:100%"></table> | |
| </div> | |
| <div class="container mb-15"> | |
| <h2>Other</h2> | |
| <p>Other potentially useful aggregate data on found videos.</p> | |
| <table id="otherTable" class="table table-striped table-hover" style="width:100%"></table> | |
| </div> | |