Youtube reverse playlist script

it looks like YouTube doesn't support it, but it can be done:

first, you need to get all IDs from that sorted range (I copy/pasted source code into google spreadsheet and filtered it out)

Muc5HQonSEo sPFWfAxIiwg umYvFdU54Po mLQNvuZH3GU ZfKTD5lvToE d8TRcZklX_Q kw6l_uTakRA fUSZBVYZdKY 4aMtJ-V26Z4 PLL0mo5rHhk mhJY74Bw8mw 9xbJ3enqLnA hiOMtBrH8pc MlyTq-xVkQE 5sKah3pJnHI IQofiPqhJ_s bFfSfzjhfC8 kC6YObu61_w a2ey9a70yY0 8GEebx72-qs _DpzAvb3Vk4 LzjaDKVC4iY -O4mYiP2zPQ DRxAVA6gYMM daro6K6mym8 D6tINlNluuY abv4Fz7oNr0 sJVivjuMfWA yJ-HwrOpIps wPn4tgmU8ek QTrM-UVcgBY U7f8j3mVMbc UfEiJJGv4CE XTeJ64KD5cg DRjFV_DETKQ UkZqFtYtqaI CMUI6m8ZMwg ci3P5jf48cY RxxDD2LWAyY R9m2jck1f90 C-52AI_ojyQ kUBIJdGsD1A 1EGDCh75SpQ 4mEk7d8oRho yu_aqA7mw7E MmhNk-zRJcU 8d49sEAU5Ws oIkhgagvrjI KbxRDVCVzq4 elvOZm0d4H0 euAHY9hqRN4 mqK63v2Jzks nBgQPSUTWVM 1GCf29FPM4k p_Hqdqe84Uc fiTwar7mFws A25pxcYstHM M-yAgyrzGdo f2Gne3UHKHs x6Ml4AEt0kk tflf05x-WVI dXGhzY2p2ug Dd81F6-Ar_0 dHzUQnRjbuM pT52hREAf18 EDauz38xV9w -Djj6pfR9KU 8542XmS98Yo yF2J39Xny4Q QV9k6dRQQe4 tivvYl8ZRvA BTyzE-NDga8 kQZmZRE0cQY ZDn_DDsBWws vNTSugyS038 RkBl7WKzzRw 2dzS_LXvYA0 BRRolKTlF6Q 3ZMnVd4ivKQ ygqIfLHGTu4 gVzu1_12FUc 83ofi_L6eAo uuMwz47LV_w Cn3ogzLzxuM aiibxmqXV9M xYAU75IS40A l7lP9y7Bb5g VpBmt11czaI 8t1TC-5OLdM M7kEpw1tn50 U6xJfP7-HCc ZPv1UV0rD8U uak-wvXJAvE mlqAvhjxAjo G2_Q9FoD-oQ V4V2bpZlqx8 XXjlR2OK1kM VbtNy54ya9A n3x8fIdsla4 QJQ691PTKsA -rwqnVsGFTU wCyC-K_PnRY QSEKzFGpCQs YJuHC7xXsGA a9P9Ej1b31s FpyrF_Ci2TQ NajQEiKFom4 iW_LkYiuTKE SzjdcPbjaR4 ZNiRzZ66YN0 bFNjA9LOPsg x4kyFKyCMv0 QzrRkhU248A WM1FFhaWj9w GyN-qpVfOWA CMP9a2J4Bqw Waw11zhaKSk e4sF_Z5oJek u7Z9UnWOJNY SxP30euw3-0 noDSyLzVz2g ctC33JAV4FI XvDC-0aNw2k wo19Y4tw0l8 JJQWtGm3eIs Fmb3TCvlETk gaVMrqzb91w 5JOAoiX1LHA vkMXdShDdtY D4_sNKoO-RA u17MdWjGA5I nd_Z_jZdzP4 acTrvMlpuxA Mfk_L4Nx2ZI seUU2bZtfgM dzerDfN2E7U SbZCECvoaTA j7jfHM-mMC4 PCu_BNNI5x4 iFuR97YcSLM 3K-12i0jclM dDl7g_2x74Q VDD6FDhKCYA YBbBbY4qvv4 JmyLeESQWGw aIggWlKr41w l8ezziaEeNE N7BABxMlOs0 VRzH4xB0GdM 8UqCyepX3AI Nu-lW-Ifyec qiNcEguuFSA CfoKor05k1I eaJtjJNrWf0 _YysNM2JoFo WUlaUalgxqI K305Vu7hFg0 cUCSSJwO3GU yDWPi1pZ0Po kOClr_bew38 lFQGSGsXbXE qbkH_0TNdk0 1O69uBL22nY 6aDBGTWsydY NPoj8lk9Fo4 w-I6XTVZXww ab_dY3dZFHM Yexc19j3TjE 3_VydFQmtZ8 jbiaz_aHHUQ HvMSRWTE2mI y8acoaakvPM vzV50goW_WM E8kUJL04ELA d6c6uIyieoo E36qMxXGo3A TUErNWBOkUM 0Oazb7IWzbA 09JslnY7W_k 7dcDuVyzb8Y 3T7jMcstxY0 lNuPy-r1GuQ iwo7JReFTeg sG_6nlMZ8f4 hwOCqA9Xw6A GItmC9lxeco CwIAfkuXc5A LBPj8E1JKaQ 00Qu1kgsGpM ItiFO5y36kw xOCe5HUObD4 4Lb-6rxZxx0 7u6kFlWZOWg xdiL-ADRTxQ 8l-La9HEUIU wBU9N35ZHIw sxLdGjV-_yg ZWib5olGbQ0 xPk3SZiFEvQ shEk8sz1oOw HX8bihEe3nA GuigptwlVHo NGMRB4O922I txajrEOTkuY eZUa5k_VIZg ea7lJkEhytA 4UgZ5FqdYIQ OuF-WB7mD6k ZkVSRwFWjy0 HuKl3XuEmj4 Qcv1IqHWAzg OEMA6jhi5Qo I7v2wAXFQpc m5evLoL0xwg D8ntDpBm6Ok dTWKKvlZB08 PeUbRXnbmms n_FsAwvxBI8 0r3cEKZiLmg 99Welatppzk Lsu2dIr_c8k mX0NB9IyYpU izdZPx89ph4 IMItxzSZs0E 6Lm9EHhbJAY SL2lYcggGpc v678Em6qyzk q8n15q1v4Xo T0xKHwQH-4I E-d9mgo8FGk KboGyIilP6k yfr3BIk6KFc rudzYPHuewc Z8lv2vy5vco AYnJv68T3MM Obg7JPd6cmw GznQgTdEdI4 87uo2TPrsl8 ZbKYmfjMPVM 9TAlEVDvXgw _qvp9a1x2UM l4bmZ1gRqCc nUN4NDVIfVI AxJubaijQbI OfEv5ZdSrhY Y2lXsxmBx7E BkOIw7vAZCQ PnW5IRvgvLY _s5RFgd59ao emiMj8cCL5E U9qU20VmvaU 7c0CoXFApnM gjVDqfUhXOY u6Got0X41pY ud_frfkt1t0 5qu3WETuf6c l7E-pBWuSIA 0hlvhQZIOQw LNS1fabDkeA AAsICMPwGPY -k3mVnRlQLU 2g3sdzgSABM t2ZoU0LEM6E 99stb2mzspI 4KHCuXN2F3I 3WHBlPvK3Ek Km024eldY1A aqyyhhnGraw M-i9v9VfCrs JnEBO3OHaiA jPcBU0Z2Hj8 PFkZGpN4wmM WYijIV5JrKg NWBToaXK5T0 vA2cdHLKYB8 ZREp1mAPKTM d0vY0CKYhPY pKwsPBeSiOc j-dce6QmVAQ Lihh_lMmcDw AxxnziuL408 UkmQNbvlK8s wymmCdLdPvM I3ZlhxaT_Ko wKV0GYvR2X8 mh3eMt09EAs CN8hK3YFqhM ktPvjr1tiKk h09XU8t8eUM HPfAnX5blO0 QAja2jp1VjE XPIgR89jv3Q xRpR1rmPbJE vgZhrEs4tuk 3BR8tK-LuB0 tlpYjrbujG0 lEvXcTYqtKU wVH4MS6v23U lCjspXB5F4A JuuYFt8bahE 8Nzi1h2m7pE wwh0KH-ICCw WYsP1PhoAZc 2s4TqVAbfz4 M8xlOm2wPAA eAjMvpRMVDw ua1K3Eo2PQc aOT_bG-vWyg aQxCnmhqZko wGkvyN6s9cY NjCIq58rZ8I iObpxBfOLv4 YVvfY_lFUZ8 VTveQ1ndH1c AEpQ8YxupfQ y12Tt3bOmKA Ra9I_-o2LHM Vp3sgYKULp0 TkGawXjsltc _-M_3oV75Lw 4izjrtR8Ozg SDw2Pu0-H4g 5Mf0JpTI_gg gi-TBlh44gY mPn2AdMH7UQ ovsYv-b-wWI 2JM2oImb9Qg AOMQxLrCI7A Sa9jLWKrX0c siawhQBRC8I MEyIppEOQTw 5mFpVDpKX70 QFeG9CeeH88 Y30VF3cSIYQ 63ILZ9cZ2d4 eeLpkCZkWfc 6_j2X6fgkaA MfzNJE4CK_s k8Rxep2Mkp8 G7zT9MljJ3Y 8UUPlImm0dM zzKGnuvX6IQ x-DgL49CFlM 4k1jegU4Wb4 tY69D3PSmIk hP-DZMmQBng uCsD3ZGzMgE W18FDEA1jRQ ZM-i8t4pMK0 BYRTvoZ3Rho 49KvZrioFB0 5kC5k5QBqcc QvvkJT8myeI 8dHMpnfFdtc AuA2EAgAegE xgBGibfLD-U djmec-Bweeg 1MtEUErz7Gg ETrYE4MdoLQ Gq4REVI30Qc xopM9BFjcNo YQw124CtvO0 Noo4lN-vSvw D046q2EbHGE PQDvEJFdY1U xhj5er1k6GQ Ku8BOBwD4hc 0iMtlus-afo MXJ-zpJeY3E NgbK43jB4rQ rXfKWIZQIo4 LqKpkdRRLZw 4dUK1JqTSgU QKHKD8bRAro -ruC5A9EzzE pasyRUj7UwM kbKtFN71Lfs ur-iLy4z3QE WN58941sgtI MxiTG96QOxw PEMIxDjSRTQ O4ndIDcDSGc mccoBBf0VDM NoRjwZomUK0 I0peG_kRE-4 3IMAUm2WY70 RhuaPhahHbU ezdeBrPnzyc m6rfpQXzXu0 lpj0E0a0mlU BH1GMGDYndo co5sOgZ3XcM pbXg5EI5t4c aCq04N9it8U G_uybVKBacI fQQ8IiTWHhg FlndIiQa20o EeuLDnOupCI mceaM2_zQd8 kaMKInkV7Vs 7dwgusHjA0Y 4LQvjSf6SSw 9yUZTTLpDtk 3P6DWAwwViU m3drS_8BpU0 4kWuxfVbIaU fcVjitaM3LY un-pTKfC1dQ 2BIx2x-Q2fE A8Tiba3h9Fw YCXmUi56rao ZCVAGb1ee8A G1m7goLCJDY i3D7XYQExt0 5SfXqTENV_Q p-xa-3V5KO8 wJGE4aEWc28 Us-__MukH9I FtNWzlfEQgY AvFNCNOyZeE AZRD5UkAm2Y mthPiiCS24A 3Bv-QMaYlmo BDEo5XpZcXo bPZFQ6i759g aKPkQCys86c wZ1E_CM7MqA _pP_C7HEy3g sj8Sg8qnjOg 7lRgeTmxnlg 1gBwexpG0IY 4445Mbw8pYg hHG8io5qIU8 FGC5TdIiT9U 6H6EP-AmMFM DhPtIf-hpuU

then just copy this list and paste it into http://roll.io/

press Run my list! button and you are good to watch

and as for downloading: https://www.youtube.net/channel.php?id


ADDITIONAL DETAILS:

source code in a spreadsheet: https://docs.google.com/spreadsheets/d/

chronologically sorted playlist: http://roll.io/#4U2pNU!0

this will download all video files in chronological order in format 00001-Title.mp4 etc. here are supported options: https://pastebin.com/raw/XGh82hg8 and there are more format options: https://pastebin.com/raw/fgqQbpRC also its possible to feed your desktop media player directly like: youtube-dl.exe -o - -a feed.txt | PotPlayerMini64.exe -

and also there is a possibility to download all IDs with:
youtube-dl.exe --get-id https://www.youtube.com/user/numberphile/ > t.txt
and ditch all that ID scraping from source code (note that then you need to open t.txt file with Word/Wordpad, because notepad will show it format-less in one string)

  • get list of IDs either with youtube-dl.exe or from source code
  • copy/paste it into google spreadsheet and create comma-separated list (ID,ID,ID...)
  • you can use =JOIN(",";A1:A) (as shown in A1)
  • then add the lead to it: ="https://www.youtube.com/watch_videos?video_ids="&A1 (as shown in A4)
  • copy cell A4, paste it into browser's search box and hit ENTER
  • this will create special playlist URL called "Untitled Playlist" where you will have chronologicaly sorted videos
    https://www.youtube.com/watch?v=Muc5HQonSEo&list=TLGGiqkpBaB_k8UwNTA3MjAxOA

SIDE NOTE: unfortunately there is one downside... such playlist is limited only to 50 videos

  • to save such playlist, be sure that you are logged in into youtube
  • add &disable_polymer=true at the end of the URL and hit ENTER
    https://www.youtube.com/watch?v=Muc5HQonSEo&list=TLGGiqkpBaB_k8UwNTA3MjAxOA&disable_polymer=true
  • then, somewhere around Subscribe button will appear + Add to button (or 3-dot/3-slash button with plus sign)
  • select Create a new playlist name it and press Create button
  • done!

there is also API approach, that can maybe handle 50+ videos (but that's not fun):
https://developers.google.com/youtube/v3/docs/playlists/insert#examples
or also AHK (AutoHotKey - https://www.autohotkey.com/ ) script:

;;;Select youtube videos with clipboard to create a playlist. Use CTRL + Y when finished. ;Below allows script to start with clipboard empty clipboard = ; Empty the clipboard ;Define playlist string playlist = http://www.youtube.com/watch_videos?video_ids= Msgbox Use clipboard to select videos. `nUse CNTL + Y when done selecting videos. `nCNTL + Z exits the script. #Persistent OnClipboardChange("ClipChanged") return ClipChanged(Type) { if clipboard contains youtube.com/watch,youtube.com/embed/,youtu.be { StringRight, clipboard, clipboard, 11 ; Removes all but last 11 characters gosub, doit return } return } doit: count++ playlist = %playlist%%clipboard%, TrayTip, Current Playlist:, %playlist% `nNumber of Videos: %count%`nUse CNTL + Y when done selecting videos ... Sleep 2000 TrayTip ; Turn off the tip. return ^y:: ;Remove last comma, display playlist, and copy playlist to clipboard StringTrimRight, playlist2, playlist, 1 ;Replace last comma with blank (also converts the clipboard to plain text). clipboard = %playlist2% ;Turn off OnClipboardChange OnClipboardChange("ClipChanged", 0) Msgbox Number of Videos in playlist: %count% `n%playlist2% `nPlaylist copied to clipboard `n`nUse CNTL + Z to exit ... ;Turn OnClipboardChange on again (necessary to keep Clipboard from aquiring playlist2) OnClipboardChange("ClipChanged", 1) return ^z:: ExitApp
  • add browser extension: firefox / chrome
  • select area with your mouse from where extension will extract all URL links
  • after selecting area / text with right-click-mouse-drag, click on extension icon and perform desired operation

here I wrote a simple spreadsheet playlist generator: https://docs.google.com/spreadsheets/d/
just add youtube links in any desired order and press that red text in cell B1