File size: 10,533 Bytes
35d63ba |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 |
---
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>
|