Пропускане към основното съдържание

Създаване на локално копие на Youtube клип с ограничена аудитория

В Youtube освен достъпните за всички клипове има и такива, предназначени за определена аудитория. При опит за създаване на локално копие на филм-приказката „Садко“ получихме странен резултат:

$ youtube-dl -f 135+140 --all-subs https://youtu.be/zedi4fgeMeI

[youtube] zedi4fgeMeI: Downloading webpage

[youtube] zedi4fgeMeI: Downloading embed webpage

[youtube] zedi4fgeMeI: Refetching age-gated info webpage

ERROR: Content Warning

This video may be inappropriate for some users.

       Sign in to confirm your age


Използването на ключа --username не подобри ситуацията:

$ youtube-dl -f 135+140 --all-subs https://youtu.be/zedi4fgeMeI --username="myemail@gmail.com"

Type account password and press [Return]:

[youtube] Downloading login page

[youtube] Looking up account info

[youtube] Logging in

WARNING: Unable to log in: HTTP Error 400: Bad Request

[youtube] zedi4fgeMeI: Downloading webpage

[youtube] zedi4fgeMeI: Downloading embed webpage

[youtube] zedi4fgeMeI: Refetching age-gated info webpage

ERROR: Content Warning

This video may be inappropriate for some users.

       Sign in to confirm your age


Сигурни сме, че паролата е въведена правилно. В профила ни годината на раждане е въведена правилно и преклонната ни възраст би трябвало да означава, че всички ограничения са излишни. Най-вероятно проблемите са заради двуфакторната автентикация (2FA), с която в този случай youtube-dl не се справя. Когато клипът се гледа през браузър всичко е наред, защото автентикацията е записана в бисквитките. За наш късмет Дейв Париш е намерил решение, което да ни помогне в този случай:
  1. Дейв не е намерил подходяща добавка за Firefox, но за Chrome (Chromium) съществува EditThisCookie, с която ще експортираме бисквитките:
2. Youtube-dl разпознава само формата на Netscape, затова в опциите на добавката трябва да изберем този формат (най-долу):
3. Копираме (експорт) на бисквитките от youtube.com, google.com и myaccount.google.com, като последователно ги записваме в текстови файл. Трябва да получим нещо подобно на това:

# Netscape HTTP Cookie File

# http://curl.haxx.se/rfc/cookie_spec.html

# This file was generated by EditThisCookie

.youtube.com    FALSE    /    FALSE    1592746624.181169    APISID    xxxxxxxxx

.youtube.com    FALSE    /    FALSE    1529675666.4735    GPS    1

.youtube.com    FALSE    /    FALSE    1592746624.181027    HSID    xxxxx

.youtube.com    FALSE    /    FALSE    1592746624.956381    LOGIN_INFO    xxxxx

.youtube.com    FALSE    /    FALSE    1550712605.073926    PREF    xxxxx

.youtube.com    FALSE    /    TRUE    1592746624.181263    SAPISID    xxxxx

.youtube.com    FALSE    /    FALSE    1592746624.180932    SID    xxxxx

.youtube.com    FALSE    /    TRUE    1592746624.181105    SSID    xxxxxx

.youtube.com    FALSE    /    FALSE    1531743283.040211    VISITOR_INFO1_LIVE xxxxx

.youtube.com    FALSE    /    FALSE    0    YSC    xxxxx


# Netscape HTTP Cookie File

# http://curl.haxx.se/rfc/cookie_spec.html

# This file was generated by EditThisCookie

.google.com    FALSE    /    FALSE    1592746624.009486    APISID    xxxxx

.google.com    FALSE    /    FALSE    1592746624.009335    HSID    xxxxx

.google.com    FALSE    /    FALSE    1545488676.021505    NID    xxxxxx

.google.com    FALSE    /    TRUE    1592746624.009559    SAPISID    xxxxx

.google.com    FALSE    /    FALSE    1592746624.009103    SID    xxxxxx

.google.com    FALSE    /    FALSE    1537454702.826293    SIDCC    xxxxxx

.google.com    FALSE    /    TRUE    1592746624.009422    SSID    xxxxxx

accounts.google.com    TRUE    /    TRUE    1592746624.009627    xxxxx

myaccount.google.com    TRUE    /    TRUE    1592746624.106059    GAPS    xxxxx

myaccount.google.com    TRUE    /    TRUE    1592746624.009204    LSID    xxxxx

myaccount.google.com    TRUE    /    TRUE    1801458753.849165    SMSV    xxxxxx


# Netscape HTTP Cookie File

# http://curl.haxx.se/rfc/cookie_spec.html

# This file was generated by EditThisCookie

.google.com    FALSE    /    FALSE    1592746624.009486    APISID    xxxxx

.google.com    FALSE    /    FALSE    1592746624.009335    HSID    xxxxx

.google.com    FALSE    /    FALSE    1545488676.021505    NID    xxxxx

.google.com    FALSE    /    TRUE    1592746624.009559    SAPISID    xxxxx

.google.com    FALSE    /    FALSE    1592746624.009103    SID    xxxxx

.google.com    FALSE    /    FALSE    1537454702.826293    SIDCC    xxxxxx

.google.com    FALSE    /    TRUE    1592746624.009422    SSID    xxxxxx


4. Youtube-dl все още не може да „разчете“ подготвения файл, тъй като всички интервали трябва да бъдат заменени с табулатори, затова трябва да го обработим с curl:

$ curl -b cookiefile.txt --cookie-jar newcookiefile.txt 'https://youtube.com'


5. Сега вече можем да използваме новосъздадения файл с бисквитките, при което всичко вече е нормално:

$ youtube-dl -f 135+140 --all-subs https://youtu.be/zedi4fgeMeI --cookies=newcookiefile.txt

[youtube] zedi4fgeMeI: Downloading webpage

[youtube] zedi4fgeMeI: Downloading video info webpage

[info] Writing video subtitles to: Садко _ Sadko-zedi4fgeMeI.en.vtt

[download] Destination: Садко _ Sadko-zedi4fgeMeI.f135.mp4

[download] 100% of 367.32MiB in 01:19

[download] Destination: Садко _ Sadko-zedi4fgeMeI.f140.m4a

[download] 100% of 76.96MiB in 00:16

[ffmpeg] Merging formats into "Садко _ Sadko-zedi4fgeMeI.mp4"

Deleting original file Садко _ Sadko-zedi4fgeMeI.f135.mp4 (pass -k to keep)

Deleting original file Садко _ Sadko-zedi4fgeMeI.f140.m4a (pass -k to keep)


Успех!

Източници:

Коментари

Популярни публикации от този блог

Проектиране на кемпер с VehiPlan

Оливер Колонж (Oliver Collonge) написва през 2011 г. втора версия на безплатната програма за дизайн на кемпери VehiPlan . Според автора тя е писана и трябва да работи под Windows 2000/Vista. Пробите показват, че работи нормално и под Windows 7 и 10. След като свалите архива (zip) можете да го разархивирате в C:\Windows\Program Files (x86)\. Програмата е с френски интерфейс и затова са необходими още няколко файла - vb6fr.dll , comdlg32.ocx & mscomctl.ocx . Тези файлове се поставят в C:\Windows\SysWOW64\. Comdlg.ocx се поставя в C:\Windows\System32\. След това е необходимо да се стартира Command Prompt (cmd - като администратор) и да се изпълни командата: regsvr32 %systemroot%\system32\comdlg32.ocx Ако възникне някакъв проблем, по-нова версия на файла може да се свали от тук . След това трябва да направим препратка към C:\Program Files (x86)\VehiPlan-2-0-0\VehiPlan.exe за по-удобно стартиране, която да поставим на работния плот или друго подходящо място. В архивния файл на програмат

Диаграма на Гант с електронна таблица

Диаграмата на Гант се състои от ленти, ориентирани успоредно на времевата ос. Всяка лента представлява отделна задача в проекта (вид работа), краищата ѝ — началния и крайния момент на изпълнението  ѝ, а дължината ѝ - продължителността на задачата. Тези диаграми могат да се използват и за други, не точно производствени, цели - например да покажат заетостта на учебна зала. Когато представянето на данните е регулярна задача може да се използва специализиран софтуер като GanttProject, но за инцидентна визуализация можем да се справим с „подръчни средства“. Сега ще покажем как с електронна таблица (LibreOffice Calc) ще визуализираме времето, за което няколко служители са работили във фирмата: Изходните данни са в няколко колони: Продължителността на трудовия стаж в дни определяме с формулата D2=C2-B2, като я копираме за всеки последващ ред. На 6-и ред съответно с функцията MIN и MAX определяме минимална и максимална дата в таблицата, а на 7-и ред - записваме начална (1.1.1989) и

UHS: Разширение на мрежата с евтин рутер

Свързването на два (или повече) рутера в една локална мрежа увеличава броя на достъпните портове и служи за репликиране на wi-fi сигнала за по-пълно покритие на дома/офиса. Идеята е да се ползва евтин допълнителен рутер, чрез който с минимални капиталовложения можем да покрием цялото жилище/офис със сигнал с достатъчно високо качество. Връзката между двата рутера е по UTP кабел. Използването на новия рутер като безжична входна точка („AP“) е, както се казва, ,друга бира“ и ще бъде разгледана по-късно. В нашата имплементация ще използваме ADSL рутер Pirelli DRG A124G, стандартно доставян като крайно устройство от Виваком. Не знам каква е причината, но Мрежата е пълна с обяви за продажба на тези машинки на цена 5-10 лв.  Другият вариант е да се вземе някакъв рутер от вносителите на техника втора употреба от Западна Европа, но там обикновено липсват адаптерите и изобщо няма гаранция, че рутерът „ще запали“. Разбира се, съществува вариантът да се закупи и нов, но това за