Титла: [BASH] While яде първия знак, на вас случвало ли се е? Публикувано от: go_fire в Mar 26, 2020, 19:24 Значи говорим за стандартната (крадена от Интернет) конструкция на Докато:
Код
Досега успешно съм я ползвал на други места. Единствената разлика е, че преди въпросното file всъщност е било $1, а сега името е твърдо установено. Обаче след първата врътка, всяка следваща променлива $line започва да ѝ липсва първия знак от реда. Така реално си зациклям на втора врътка с грешка и не мога да продължа. Някой има ли идея, защо се случва? А, ако няма, ще съм благодарен и на идея, с какво да сменя Докато. Лесно е да се каже За, но не се сещам как да го накарам да работи за всеки ред от текстов документ. Благодаря на отзовалите се, както и на тези, които просто са наминали! Титла: Re: [BASH] While яде първия знак, на вас случвало ли се е? Публикувано от: makeme в Mar 26, 2020, 20:38 Значи говорим за стандартната (крадена от Интернет) конструкция на Докато:При мен работи. command=echo Та да не би да е от командата? Смисъл - ако е echo пак ли ги реже? Титла: Re: [BASH] While яде първия знак, на вас случвало ли се е? Публикувано от: go_fire в Mar 26, 2020, 20:47 Е не, командата хич не е една, бая команди работят върху $line. Все пак си говорим за над сто реда, сложно, следователно чупливо нещо, което нявга беше възможно само с няколко буквички и цифрички. Но, че цикъла Докато го яде, съм сигурен, защото наслагах проверки навсякъде. И като най-после сложих следващия ред след Докато да е echo $var, истината цъфна.
Титла: Re: [BASH] While яде първия знак, на вас случвало ли се е? Публикувано от: jet в Mar 27, 2020, 01:05 абе и при мен си работи без да реже (c echo)
Пробвай да смениш шибанга #!/bin/bash с #!/bin/sh Титла: Re: [BASH] While яде първия знак, на вас случвало ли се е? Публикувано от: remotexx в Mar 27, 2020, 05:54 ...можеш ли да качиш примерен зип файл некаде че да тестваме - само с 2-3 реда - може да смениш/скриеш текста само не барай делимитерите и новите редове
неколко идеи - що не пробваш с -u filename опцията, да не конзолата/шела да прекодира некой символи при пренасочването - първия символ дето го яде да не енякой специален или е случайна буква - тук пише: Only the characters found in $IFS are recognized as word delimiters. http://linuxcommand.org/lc3_man_pages/readh.html за проба с файлов дескриптор - долното дали ще работи правилно Код
Титла: Re: [BASH] While яде първия знак, на вас случвало ли се е? Публикувано от: go_fire в Mar 27, 2020, 08:45 Джет, #! ми е важен да е bash, защото ползвам възможности специфични за басх, които ги няма в sh. Ремо, аз никога не съм си крил кода. Ще го дам целия. В този си вид той работи само за един ред, което прави повечето код излишен. Под него ще дам кратки обяснения за бързо влизане в ситуацията.
Код
Както казах, това би било полезно единствено на някой, който иска да гледа клипчета с включено видео от тубата, но не разполага с кабелна връзка. Целта е да се случи същото, каквото правеше youtube-dl -f 17/36 почти толкова добре. Понеже реално 3gp не съществува вече в тубата, то няма как да се докара точно същото. Понеже става въпрос за много бавни операции, то съм направил малко хакове. Информацията, която ми доставя youtube-dl я записвам във временни файлове. Това се случва на три места. Първото. На тринадесети ред се подава списъка за теглене (реда y=$(youtube-dl --get-id -a oti)), който се записва във временен документ наречен oti2. Точно върху него правя упражнението while read. Защо така? Ами защото стандартен списък може да съдържа коментари, освен това може да се промени докато се чака изпълнение. Напомням, че си говорим за упражнение, което грубо трае до към тройно време на дължината на клиповете. Така, ако тегля клип от половин час, той ще е при мен грубо след малко под два часа. Ако правех същото на разделителна способност от 640x360 да речем, то той би бил при мен след 2 до 3 дни. Определено в това време могат да се сменят доста неща. Второто обръщение към y-dl e на ред 95 (f=$(youtube-dl --get-filename -f $ft $l)). Него го правя, за да науча името на бъдещия клип, което записвам във временен документ именуван с индификатора на клипа. Точно това е и съдържанието на oti2. Понеже заявка за името е отново много бавна операция, се старая да я извиквам възможно най-рядко. Понеже тегля два формата (по един за видео и аудио), то имам две такива обръщения. Можеше да е едно (и да правя подниз на низ, substring), но понеже аудиото може да е във формат webm или m4a (webm не винаги е наличен), то би станало още по-трошливо от сега. Третата заявка към y-dl се сглобява и налива във временен документ наречен for2. ВАЖНО! Ако ще пробвате нещото, сменете стойността 200 от ред 104 на примерно 5. На добра връзка едно клипче от пет минути се тегли за около пет секунди. При мен е сложено двеста, защото опитно съм установил, че y-dl умира на всеки две-три минути, но се случва и на повече. Затова съм му дал време за мислене малко над три минути. Това е нещо, което се случва само на бавни скорости. На бързи, y-dl не умира, но мен ме интересуват бавните. Този for2 е фактически нещото, което се изпълнява в подобвивка (subshell). Причината за това е, защото bash няма goto. Втората причина е, че bash не е език за програмиране, а команден набор и няма вложени цикли. Ако нещо влезе в подобвивка на подобвивка, то просто бива убито. Всичко трябва да е на най-много две плоскости. =*= Начина да се опита работата на горния код е следния: 1. Намирате си три произволни клипчета от тубата. Няма нужда от повече, още второто няма да бъде изтеглено. 2. Правите си временен каталог. Това е за сигурност. Само луд би вярвал в способностите ми. 3. Правите вътре документ наречен oti (може и друго, но трябва да промените кода). Слагате адресите на трите клипчета като отделни редове. Y-dl не се интересува от празни редове и коментари в няколко варианта, включително безценните за мен # и ;. 4. Изпълнявате кода като му подавате въпросния oti. 5. Ако сте на бърза връзка, в никакъв случай не забравяте да промените онова 200 на например 5. Титла: Re: [BASH] While яде първия знак, на вас случвало ли се е? Публикувано от: jet в Mar 27, 2020, 13:23 Ремо не го разбра - той искаше файла с данните.
Титла: Re: [BASH] While яде първия знак, на вас случвало ли се е? Публикувано от: go_fire в Mar 27, 2020, 13:40 Ами ето един:
Цитат https://www.youtube.com/watch?v=udGtY2bmTxs Това са първите три в: https://www.youtube.com/feed/trending?disable_polymer=1 Съответно oti2 (върху който се цикли), би съдържал: Цитат udGtY2bmTxs Единственото друго вътре би било край на ред (проверено). Всички индефикатори на тубата се състоят от единадесет на брой латински букви, цифри и тире. Никакви други знаци не съм виждал. Пробвах с множество примери, винаги първата се реже. И дори не е била тире. При последните няколко бяха „j“ „U“ и „8“. Титла: Re: [BASH] While яде първия знак, на вас случвало ли се е? Публикувано от: laskov в Mar 27, 2020, 14:00 Сложи по един фиктивен знак като първи. Може да е интервал, а може и едно голямо L в моя чест :)
Титла: Re: [BASH] While яде първия знак, на вас случвало ли се е? Публикувано от: 4096bits в Mar 27, 2020, 15:32 Защо не извлечеш IDтата директно от адресите в списъка, а правиш запитване към youtube?
Титла: Re: [BASH] While яде първия знак, на вас случвало ли се е? Публикувано от: go_fire в Mar 27, 2020, 18:07 Защо не извлечеш IDтата директно от адресите в списъка, а правиш запитване към youtube? Защото списъка може да (и почти винаги) съдържа празни редове и коментари. За да свърша същото на bash, трябваше да имам поне още двадесет реда логика. А логиката на bash е много трошлвива. Титла: Re: [BASH] While яде първия знак, на вас случвало ли се е? Публикувано от: 4096bits в Mar 27, 2020, 19:00 Какво искаш да направиш стъпка по стъпка?
Може да пробвам да сглобя нещо на Питоня Титла: Re: [BASH] While яде първия знак, на вас случвало ли се е? Публикувано от: makeme в Mar 27, 2020, 23:44 При мен скрипта не върви, ма може да е от 100 неща. Ако имам време ще го погледна, но ако идеята ти е да сваляш най-кофти формата , има по лесни варианти :)
Цитат You can also use a file extension (currently 3gp, aac, flv, m4a, mp3, mp4, ogg, wav, webm are supported) to download the best quality format of a particular file extension При мен е обратното разбира се. Аз търся най-хубавия: Код
Ако не ти е това идеята, моля обясни каква е :) Титла: Re: [BASH] While яде първия знак, на вас случвало ли се е? Публикувано от: 4096bits в Mar 28, 2020, 06:33 Ами аз се опитах да си го преведа, обаче синтаксиса на bash ми мътна работа все още. Така и не го научих.
Титла: Re: [BASH] While яде първия знак, на вас случвало ли се е? Публикувано от: makeme в Mar 28, 2020, 07:29 Ами аз се опитах да си го преведа, обаче синтаксиса на bash ми мътна работа все още. Така и не го научих.Аз що годе го чаткам, ма Гого е сътворил някаква странна манджа :) Не мога да схвана изобщо логиката. Например това: Код: f=$(youtube-dl --get-filename -f $ft $l) казва дай ми Името на клипа от това ИД и после замени ИДто с името.. :) Дори не знам дали ще може да го направи баш. ПП: Схванах го. Прави си фаелче с името на ИДто :) Титла: Re: [BASH] While яде първия знак, на вас случвало ли се е? Публикувано от: remotexx в Mar 28, 2020, 08:10 Гога като се поосвободя малко ще го мъча, но дотук на прима Виста имам некой въпроси
1. Казваш да подадем името на файла като параметър, но не виждам кода да ползва параметри... script.bash param1 param1 etc. 2. Може би имаш предвид да пренасочим oti > script.bash По въпроса за питона, ако пак ще си ги мерим... аз предлагам с# т.е. .net core Щото питонджиите лъжат, също както и джаварите наремето, споменават само езика и крият якия фреймуърка зад него, който всъщност смятат да ползват ??? Наслушал съм се на безсмислени спорове между пишман програмисти дето си мерят езиците, а всъщност си мерят фреймуърка и даже не се усещат че то на днешно време всички езици почти се изравниха. Титла: Re: [BASH] While яде първия знак, на вас случвало ли се е? Публикувано от: spec1a в Mar 28, 2020, 09:32 Добър вариант според мен е да се ползва командата strace,
може да се види много добре какво точно се извиква,какви файлове се отварят и т.н. Титла: Re: [BASH] While яде първия знак, на вас случвало ли се е? Публикувано от: go_fire в Mar 28, 2020, 09:50 Уф, доста сте писали.
Remo, излъгал съм :( Заковал съм го. 4096, тъпото е, че това, което правя, y-dl го прави и сам. Мейк чудесно го е разбрал. Вземам наличния поток аудио с най-малък размер и същото за видеото. След това ги съединявам. Самия y-dl има такава възможност с --merge-output-format mkv. И отново го прави с ffmpeg. Но го прави единствено при подадени изрично параметрите, които Мейк е дал в мнението си. Аз лично изобщо не съм убеден, че разработчиците y-dl наистина биха го направили при най-малките размери. При най-големите да. Например те знаят ли за съществуването на форматите 597, 599 и 600? Появиха се за малко този месец и пак изчезнаха. А тези формати почти заместват 3gp и почти могат да се ползват в реално време. Те знаят ли за 139, който е много рядко срещан и е само след като нещо е било предадено поточно до момента, когато тубата не реши да го прекодира? А той понякога е счупен. Но е по-кратък от 249. И изобщо 249 ли биха изтеглили или огромния 140? Защото 140 е m4a, а 249 e webm (в действителност opus, но името лъже). 249 е 50 КБ/с, а 140 е 128 КБ/с, което го прави троен по размер. Освен това, в предни мнения казвах, че y-dl никога не са пробвали нещото си при бавни връзки или поне не са ги симулирали с шейпър. Y-dl увисва и спира да има признаци на живот на всеки няколко минути. Затова когато тегля нещо с него винаги ми се налага да го слагам в едноредов цикъл в конзолата от типа: Код
Синтаксиса на bash e много мощен с десетилетия допълван и способен на големи автомагии. Конзолата сама по себе си не е нещо по-различно от текстов редактор с вградено управление на файлове. Нещо като примитивен Емакс или Вим. За съжаление обаче, когато е измисляна концепцията, това е било на бързо и не са се съобразили, че при такава организация си поддтикван към грешки на всеки сантиметър. Не случайно казвах да се пробва нещото в изолирана среда (нов каталог). С Bash това е неизбежно във всеки един случай, ако ще Brian Kernighan да пише. Ще ти обясня подробно, какво прави кода, но ще е в ново мнение. По-удобно ми е да го направя в Емакс, а не директно във форума. Титла: Re: [BASH] While яде първия знак, на вас случвало ли се е? Публикувано от: 4096bits в Mar 28, 2020, 12:43 ... Не си мерим езиците. Аз съм любител програмист и програмирам за да си улесня живота. Досега не съм имал нужда от C#. Впрочем, не намирам нищо лошо във библиотеки, които не идват с езика. Улесняват живота И смятах да ползвам urllib, за да не се налага да се дърпат и инсталират още неща. Цитат Освен това, в предни мнения казвах, че y-dl никога не са пробвали нещото си при бавни връзки или поне не са ги симулирали с шейпър. Y-dl увисва и спира да има признаци на живот на всеки няколко минути.Погледнах по-обстойно опциите, защото ползвам само няколко. Тези нямат ли отношение към това, за което споменаваш? Сваляне при малка скорост и прекъсването след време. Код: Download Options: Видях и че има опция -F, с която могат да се вземат възможните видео формати: Код: $ youtube-dl -F https://www.youtube.com/watch?v=eURPTdaO3ck Може още да се ползва и тази опция, за да се пести време и трафик: Код: --youtube-skip-dash-manifest Do not download the DASH manifests and related data on YouTube videos Титла: Re: [BASH] While яде първия знак, на вас случвало ли се е? Публикувано от: go_fire в Mar 28, 2020, 13:40 Код
Титла: Re: [BASH] While яде първия знак, на вас случвало ли се е? Публикувано от: go_fire в Mar 28, 2020, 13:48
За този манифест съм го виждал, но понеже не знам, точно какво прави, не го ползвам. Броя за опити е когато служителя (server) те реже. Тук имаме увисване на клиента. Това с „нормата“ предполагам лъже услуги. Има такива, които се правят на умни като Pornhub, Soundcloud и други, които отначало ти пускат пълна скорост за няколко секунди от съединението, а после ти дават само, колкото да се изтеглят следващите няколко секунди. Идеята е да имаш намален трафик и при теб да е налично съвсем малко повече от това, което вече си видял. Титла: Re: [BASH] While яде първия знак, на вас случвало ли се е? Публикувано от: remotexx в Mar 28, 2020, 18:15 Гого не разбирам що го цепиш на по няколко реда и не ги ползваш, добър подход кофти имплементация
напр. (защо е кофти) Код не е ли по-лесно така Код
напр. (защо е добре) Код
щото твойто не проверява за грешка, винаги създава oti2 (може и празен), и винаги му шляпва същата дата като oti - независмо дали е успяло да обработи целия oti или е гръмнало с грешка (още отначало или по средата) - напр. кофти URL нейде по средата (ред дето не е коментар нито празен и y2dl ще се опита да обработи и ще се провали) напр. втория (средния) линк който си дал там (от трите за тестване) вече не съществува и ти проваля свалянето и на последния който е валиден щото фърля следната грешка дето няма кой да я сайдиса Код
При мен си работи правилно - олекотената версия Код
Код
Некой забележки 1) ';' не е задължително - освен ако няма да слагаш по повече от един оператор на ред (и край на ред върши същата работа) 2) препоръчително е да се ползва "${l}" вместо "$l" ..кой знае къде из тия фермани има нещо което се прихваща като "$l" неправилно и ти яде символите... https://stackoverflow.com/questions/8748831/when-do-we-need-curly-braces-around-shell-variables https://unix.stackexchange.com/questions/4899/var-vs-var-and-to-quote-or-not-to-quote П.П. и друг(ия) път като знеш колко е нефелен сайта моля ограничавай се до 80 (че и по малко) символи на ред, особено на коментарите, че сега трябва да превъртам, 3 дена път с камили, надолу да стигна хоризонталния скролер да превъртам надясно (екран по екран), после пак нагоре до коментара, после пак надолу до скорлера и т.н. докато чета ферман на един ред и после отиваме до началото на следащия ред/коментар и пак се почва сагата отначало :P П.П.П. Знам че има Shift+ScrollWheel ама ми умаля пръста - особ. при връщане от 1024 символ обратно в началото на следващия ред, особено като си помисля че той може и да е 2048 символа и ..да ти се отще (да превърташ) Еххх ако мишките имаха километраж ...сигур щяхме да си ги мерим на километри ;D Титла: Re: [BASH] While яде първия знак, на вас случвало ли се е? Публикувано от: go_fire в Mar 28, 2020, 19:03 Благодаря, Ремо! Естествено, че си прав. Пресъздаването ми в код е кофти, защото и аз като 4096 не съм програмист и нямам нужния опит. Естествено, че твоя вариант е по-добър от моя, но няма кой да се сети. Руснаците на това моето му казват говно-код.
Днес се сетих, защо нещото не е сработило при Мейк ми. Не съм уточнил, че така написано, е задължително да има две неща. Едното е oti (списък), а другото for (този код). По принцип е трябвало (а сигурно съм го и мислел) да заменя имената им с $1 и $0, но съм ги нахакал твърдо и така, ако едното липсва, кода не работи. По двете препоръки. Първата, точката и запетаята е задължителна, защото всичко, което набирам в yar накрая ще е само един ред във for2. Това реално е нещото, което ползвам и до сега. Просто исках да го автоматизирам. По втората. Много съм тъп и не разбрах защо {l}. Ще ходя да се образовам по връзките, дето си дал, че да разбера, каква свинщина съм свършил. Титла: Re: [BASH] While яде първия знак, на вас случвало ли се е? Публикувано от: go_fire в Mar 28, 2020, 19:06 По послеписа. Просто го хвани и го сложи в текстов редактор. Тъпото е, че още в първия, та втория ли коментар казвам, че това трябва да се прави, но не съм го направил :(
ЛАМЕР У-У-У-У-У-У-У-У-У!!! п.п. Наистина не знаех, че форума ще го направи :( Много съм тъп. п.п.п. А бе, още от деветдесетте имаше програмки, дето ти мереха километража. А в ГНУ/Линукс такава програмка мисля, че е десетина реда. Титла: Re: [BASH] While яде първия знак, на вас случвало ли се е? Публикувано от: go_fire в Mar 28, 2020, 19:12 Аз в действителност не гледам набиращите популярност. Просто ги използвах за пример. Например последното, което теглих е предаването на Диков от снощи. А то обикновено няма повече от хиляда гледания. Сега те първа ще го слушам. И преди съм казвал, че тегля обикновено само звук, защото това ми позволява да съм почти в реално време. Няма го вече 3gp за картинка. Този код тук е за специалните случаи (много редки), когато държа да има и картинка и евентуално ще си го и запазя това клипче, а няма да го трия веднага.
п.п. МНОГО БЛАГОДАРЯ за включванията ти и на всички останали! Титла: Re: [BASH] While яде първия знак, на вас случвало ли се е? Публикувано от: remotexx в Mar 28, 2020, 19:52 Гога, извинявай че ти дадох отг. в стил Сисадмин (от близкото минало) " Не знам - при мен работи". То изначално е ясно, че за супер потребителя работи (винаги), а обикновените потребители "да го духат" или да се спасяват сами - стар принцип останал още от римско време:
http://bezistena.blog.bg/history/2019/03/30/da-go-duhat-bednite-kategorichni-sa-rimskite-senatori.1651155 и понеже сме на тема Ю тубата - https://www.youtube.com/watch?v=79V5YIqkHyc но така на прима виста и без валиден тест, мога само да нахвърлям някой идеи да тестваш (за заобикаляне на проблема) 1. Не каза при тебе моя олекотения вариант дали работи - ако работи може да продължиш да си търсиш грешката по ферманите, ако ли не... виж другите идеи 2. Ако е некой бъг що не пробваш клaсическия вариант - през IFS (ако е нещо от whitespace) https://www.cyberciti.biz/faq/unix-howto-read-line-by-line-from-file/ https://bash.cyberciti.biz/guide/$IFS 3. for loop - понеже ИДтата са ти по една дума (на ред) долното би трябвало да сработи та барем разберем while/read ли е виновен или НЕ Код
П.П. пробвай по-лесните варианти и кажи при теб кое сработва и кое не... няма как ще трябва да те ползвам(е) като remote debugger понеже нямаме repeatable test case :o П.П.П. Копиране/поставяне в текстов файл е добра идея ...ако си на десктоп, ма с тея телефони, кой ти сяда вече на десктопа ...голямо превъртане падна ..докато не се сетих да си направя опростен вариант - който обаче за моя изненада при мен сработи правилно?! youtube-dl обновен ли ти е до последно? Титла: Re: [BASH] While яде първия знак, на вас случвало ли се е? Публикувано от: remotexx в Mar 28, 2020, 20:16 и някой др. подводни капани - напр. ако последния ред не всършва с НовРед и пр. (макар че тогава ще ти изяде последния ред - целия, а не по 1 символ на ред)
като цяло е доста образоващо за ролята и обхавата на IFS - кога рябва да се запазва и въстановява и кога е само в контекста на текущия цикъл (while) Виж отг. на codeforester answered Jan 14 '17 at 3:30 https://stackoverflow.com/questions/1521462/looping-through-the-content-of-a-file-in-bash Титла: Re: [BASH] While яде първия знак, на вас случвало ли се е? Публикувано от: 4096bits в Mar 28, 2020, 20:38 Така...
Не ми става ясно, какъв документ while -r l; чете и откъде се взима ( как му е посочен ) Иначе си поиграх малко и до четенето на oti, свалянето на IDтата и уеднаквяването на mtime се докара. Защо предпочитам Питоня вместо баш... Можеш да вършиш няколко неща едновременно ( паралелно ), като например да напускаш наведнъж да се вземат няколко IDта. Ето и нещото, допреди да запецна поради горната причина. Код: #!/usr/bin/env python3 Титла: Re: [BASH] While яде първия знак, на вас случвало ли се е? Публикувано от: go_fire в Mar 28, 2020, 21:11 Remo, a защо като си на телефон не ползваш мобилните версии на форума и портала? Макар точно в този случай да е безполезно :'( :'( :'(
https://www.linux-bg.org/forum/index.php?topic=48741.15;wap2 Титла: Re: [BASH] While яде първия знак, на вас случвало ли се е? Публикувано от: 4096bits в Mar 28, 2020, 21:26 Впрочем, може на oti2 да му се вдигне i флага, за да не може да се променя случайно нещо по него
Титла: Re: [BASH] While яде първия знак, на вас случвало ли се е? Публикувано от: remotexx в Mar 29, 2020, 02:04 Така... Поне от кратката версия не можа ли да се ориентираш - махнал съм всичко излишно - след края на while ... do .. done командата продължава още и има пренасочване на вход от файл и се вижда откъде ги взема - от входа (който му е пренасочен да се изчете от файла) Код
сега стана ли ти ясно къде отива т.е. се пренасочва файлът oti2 може би на един ред ще е по-ясно Код
П.П. Гого не позлвам(е) мобилната версия щото па там има проблем със събмитването - не работи ..инак само за четене става, ама пък линка е много кофти (не запомнящ се, не намиращ се/трудно намиращ се по сайта) - не можаха ли да го направят като хората - m.lugbg.org или lugbg.org/m/.... или по последната мода от User-Agent да се ориентира и там.. каквото му е поискал браузъра т.е. моята Опера винаги му казва - Виж ся пич - аз съм мобилен браузър, обаче сайта му казва, ай като си толко оторен мобилен пич -на ти ся декстоп версията, оправяй са... Титла: Re: [BASH] While яде първия знак, на вас случвало ли се е? Публикувано от: makeme в Mar 29, 2020, 02:28 Гого, усетих се за създаването на файлове и другите неща (даже 1во трябваше да си ъпдейтна версията на youtube-dl, че там е игра на котка и мишка с тубата и за това не ми работеше скрипта). Също като ми гръмна 2рия линк го махнах, но така и не можах да намеря какво ти реже името. Миналата вечер пробвах всичко , но така и не сработи. Самия read, като премахнеш всички твои сътворения по средата си работи , както Ремо е показал.
Мога да ти предложа да спреш, да си играеш със скрипта и да ползваш опциите на самата програма: Цитат youtube-dl -f '\''worstvideo[ext=mp4]+worstaudio[ext=m4a]/worst[ext=mp4]/worst'\''' -a oti Това можеш да си го въртиш колкото искаш (синтаксиса е интуитивен). Сменяй си формата и качеството, както искаш. Може да пробваш и опциите които 4096bit ти даде. Ето и резултата: Цитат makeme:$ youtube-dl -f '\''worstvideo[ext=mp4]+worstaudio[ext=m4a]/worst[ext=mp4]/worst'\''' -a oti*Ужасно качество, ма ти май това искаш :) Също така имай предвид, че заявката youtube-dl --get-id -a oti сама по себе си с 2 линка вътре хаби 200к + . При положение че трафикът ти е кофти, не го хаби излишно. Просто слагаш прекалено много овърхед, при наличието на малък ресурс, при положение, че програмата има всичко вградено. Все пак относно рязането, моето мнение е същото като на Ремо. Някъде при прехвърлянето на променливите и спаменето на процеси и програми се яде, но трудно ще се хване. Иначе read си работи. Като го тествах скрипта, по спомен пробвах и IFS= но не стана при мен. ПП: Ако искаш най простия синтаксис : Цитат makeme:$ youtube-dl -f worst -a oti Дори оти2 не ти трябва ;) ПП2: Сега се сетих че ти искаше да си гъвкав и да можеш да добавяш неща във файловете, пък скрипта да лупи. Та ето ти го на скрипт: Код
Така ще си лупи и ще си проверявя. В момента в който добавиш линк (echo "https://www.youtube.com/watch?v=aaTRHqErehk" >> oti) ще почне да го сваля (след sleep секунди де :) ). -i ще продължава ако има счупени линкове (проверката , дето Ремо ти предложи) ПП3: Надявам се да прочетеш всичко това, и да кажеш дали ти е свършило работа :) Титла: Re: [BASH] While яде първия знак, на вас случвало ли се е? Публикувано от: 4096bits в Mar 29, 2020, 04:07 ;DТака... Сега стана ясно. Не очаквах да е на дъното на цикъла Титла: Re: [BASH] While яде първия знак, на вас случвало ли се е? Публикувано от: go_fire в Mar 29, 2020, 08:35 Мейк, безкрайно ти благодаря, че си направил всичко това за мен!!!
Но, вчера, докато разяснявах на 4096, какво прави този код (и го направих некадърно), му написах следното:
Бях сигурен, че щом разработчиците на програмата изобщо не са я изпробвали на бавни връзки, че няма начин да се погрижат за нуждите на хората, които са с такива. И твоят експеримент го доказва. Ето, какво казва Ydl за тези двете песни: Код
Ако тези избори отговаряха на името си, щяха да ми изтеглят 600 и 597, като за първата имаме дори още по-идеалния 599. Това са най-малките по размер формати. И щеше да е прекрасно, защото щеше да стане за време почти равно на дължината на клипчетата. Вместо това ми тегли ужасяващия 140, който само той се тегли за двойно повече време от продъжителността на клипа. Двойно е само в случаите на добро разположение на планетите. Тая година видяхме, че е зле. Забележи, че в моя списък, отвратителния 140 седи на възможно най-последното място и е в списъка само като резервен вариант. Ако пък съвсем нищо няма, дай ми него. 160 е горе-долу. Почти никъде няма почти нищо по-добро. В редките случаи, като тегля картинка, почти винаги е наличен само той. Така, че, ако трябваше да избирам да ползвам псевдо възможностите на Ydl да удовлетворява нуждите на хора с бавни връзки или на ръка да проверя наличните формати, да изтегля, каквото има, не забравям на всеки няколко минути да прекратявам процеса и да го пускам пак, да сглобя на ръка заявката към ffmpeg, то категорично избирам второто, защото ще стане далеч по-бързо. Казваш, че качеството е отвратително? Добро е. Много е добро даже. Явно никога не си виждал 3gp. п.п. Трябва да взема да ги изслушам тези двете песни, като съм ги дал за пример. Но имам проблем. Константин Трендафилов не може да пее и рядко го изтрайвам. Още, когато изкара „Кекс“ се чудих, този човек, защо пропя? Да не би да е щото малко преди това стана гадже на оная дебела, отвратителна кифла?! А пък този Емилио не съм го чувал, но името подозрително ми прилича на чалгар. Не мога да си насиля слуха с това. Азис става, има глас и идиотски песни. Ама всичко останало е брак. Титла: Re: [BASH] While яде първия знак, на вас случвало ли се е? Публикувано от: go_fire в Mar 29, 2020, 09:10 Между другото, ако няма да запазвам клипчето (което правя рядко), дори не опирам до ffmpeg. Това е така, защото, mpv е достатъчно умен, ако види в същия каталог а mp4 нещо със същото заглавие, но разширение m4a да ги пусне паралелно. Е ако съм изтеглил webm, го преименувам на m4a. Разработчика на mpv няма как да се съобразява с факта, че от Гългъл злоупотребяват с имената на разширенията. То по тази причина в Юникс изобщо няма разширения.
Титла: Re: [BASH] While яде първия знак, на вас случвало ли се е? Публикувано от: makeme в Mar 29, 2020, 09:17 Гого, мился че пак не схвана командата :) Това, което цитира го прочетох и за това ти дадох лесен и сложен (гъвкав) вариант на командата. Това е гъвкавия и ти го дадох зада го разбереш и да си го моднеш според своите нужди (моите са други :) )
Цитат
което е 140 :) Смени го на webm и ще стане това, което искаш. Отделно ако го няма, ще свали следващото, Отделно ако формата накрая не може да стане mp4, ще ти го конвертира в това което може (матрьошка обикновено). По добра автоматизация не виждам :) ПП: Същото важи и за видеото ПП2: Мисля че това е което ти трябва точно: Цитат youtube-dl -i -f '\''worstvideo+worstaudio/worst'\''' -a oti Цитат [youtube] udGtY2bmTxs: Downloading webpage Това е най-кофтито което има и ще го свали и ще го събере във каквото може. 597 и 599 както го искаше :) замени го само в луупа и си готов. Сигурен съм че няма да намериш по-кофти :D Титла: Re: [BASH] While яде първия знак, на вас случвало ли се е? Публикувано от: go_fire в Mar 29, 2020, 10:19 Нави ме. Ще направя изпитания с последното. Най-вероятно ще сработи.
Но все пак, забележи, че не работи точно както трябва. Там дето му подаде да търси за m4a, в списъка имаше m4a с три пъти по-малък размер. Но явно, когато не му казваш изрично, какво да търси, успява някак. Титла: Re: [BASH] While яде първия знак, на вас случвало ли се е? Публикувано от: makeme в Mar 29, 2020, 10:25 Нави ме. Ще направя изпитания с последното. Най-вероятно ще сработи.Имай предвид че при мен 597 и 599 вече ги няма. Да не помислиш че се е скапала командата :) Цитат $ /home/makeme/.local/bin/youtube-dl -F udGtY2bmTxs Иначе за м4а имай предвид че другите опции го карат да търси какво може да събере в мп4. Някъде горе беше писал че го предпочиташ и за това е тая голямата команда дето ти дадох. Това разбира се противоречи с логиката за най-малкото и тн. ПП: Принципно при теб може да ти трябва и само worstvideo+worstaudio, но мисля че така, ако липсват, няма да ти свали нищо. За това и ма worst после за да свали най кофтито което може. Кавичките и другите знаци без слаша между опциите също мисля че можеш да разкараш. Те са ми от алиасите (аз така си слагам командите с опции). Титла: Re: [BASH] While яде първия знак, на вас случвало ли се е? Публикувано от: go_fire в Mar 29, 2020, 10:37 Предпочитам го защото обикновено, най-малкия по размер звук ми идва в webm (249), рядко има нещо по-добро. А така или иначе vp8 е по-голям от mpeg 4 при еднакви други условия, та още по-рядко има webm, по-добър от 160. А ако и двете ще са в webm, то ще трябва да си играя с вградените възможности за именуване, защото по подразбиране би свалило едното, а на другото да твърди, че е вече свалено. Та затова. Иначе винаги гоня размер. По-добър размер, по-скорошно слушане (или евентуално гледане).
Титла: Re: [BASH] While яде първия знак, на вас случвало ли се е? Публикувано от: 4096bits в Mar 30, 2020, 02:30 Тъй, долното нещо не използва oti2 въпреки, че все пак го създава и прави проверка, ако съществува, да не се случва нищо.
Вместо това дърпа от Youtube данните за всяко видео от линковете в oti в JSON формат посредством youtube-dl и използва тези данни така: Взима заглавието на видеото ( без разширението ), за всяко аудио и видео, формата и размера на файл, определя кой файл за всяко видео и аудио е най-малък и най-голям ( за всеки случай и второто ) и събира всичко това за всеки линк в oti накуп в някакаква структура. След това сваля форматите на най-малките видео+аудио. Всичко това е моя интерпретация на това, което разбрах, че искаш - както разбрах, възможно най-малък трафик. Ако искаш точно определен файлов формат да свалиш, може да се промени. Засега работи. Хубаво е, че единият трите линка към Youtube, които даде като пример за oti, вече не е наличен, та промених някои неща. Тествай и кажи, дали е наред. Така и не разбрах малко по-надолу, как правиш имената. Щото не стигнах до там, но ще променя и това. Също и датата на новите mkv. Искам само да разбера, дали работи при теб. Код: #!/usr/bin/env python3 Титла: Re: [BASH] While яде първия знак, на вас случвало ли се е? Публикувано от: go_fire в Mar 30, 2020, 09:34 Благодаря! Ще го пробвам. Едни изпълнения от снощи взеха да убиват надеждите ми, че ще е възможно да тегля в бъдеще време. Снощи си свалях някакви неща за слушане, като оставих едно дълго (близо час) да се сваля докато спя. На сутринта имах точно 6,7% от него.
Но си има предистория. Споменавал съм за един хубав формат под номер 139. Той се появява само, когато е имало поточно предаване и стои наличен, докато тубата не реши да прекодира нещото. При популярно видеа и канали го прави в рамките на не повече от час или два, а за не толкова посещаваните, някога във времето, като е възможно и никога. Попадал съм на такива след години. Например може да се види в канала на вестник „Банкеръ“. Също споменах, че този месец се появиха едни формати 597, 599 и 600. Те ту се появяват, ту изчезват. Много са добри, защото карат с 15 кадъра в секунда за видео и около 30 КХц за аудио. Това ги прави почти идеални за мобилна връзка, където един умен клиент би могъл да ги ползва почти в реално време за предаване. Снощи връзката ми спадна от 7 КБ, на около 3. Това не е нещо ново. Става почти всяка вечер. Предполагам вечер клетките са по-натоварени и затова ми пуска по-малко връзка. След два-три часа се оправя. Това обаче не ми позволява да гледам по време на сваляне, като дам няколко минути аванс, защото при 50 КБ/с (249), времето за сваляне става почти двойно. Но аз съм подготвен за такива ситуации и си имам свалени неща за слушане. Подкасти, влогове, такива неща. Но забелязах друго. От Гългъл са започнали смяна на алгоритмите. Когато достъпиш 249 след около пет минути ти праща за малко 600. След още няколко минути го скрива. Това на практика означава, че цикленето се затормозява. Започва един формат, сменя го, връща се на стария. Това все още се преживява, защото са различни (единия е ogg, другия m4a). И стигаме до случката от снощи. Това, което оставих да се тегли за през нощта (защото е близо час продължителност) имаше наличен само 140. Не е често, но тази гадна ситуация съществува. Но все пак за една нощ щеше да успее. Обаче се е случило същото. Някъде на разсъмване, за малко е подал хубав формат (най-вероятно 600, съдейки по отличния размер). И двете са в m4a. M4a поради някаква причина се тегли на части. Прилича на теглене на списък за изпълнение (m3u8). Това е много гнусна интерпретация на понятието „списък за изпълнение“, но за съжаление съществува широко извън тубата. В резултат на това е изтрило изтегленото от последните часове и е започнало на ново. След няколко врътки, хубавия формат се е скрил и е дошъл отново 140. И упражнението се е повторило. Какво предполагам, че се случва? Гългъл провеждат изпитания за нов мобилен клиент. Той, когато надуши, че връзката му е слаба, ще прескача на тези по-добри варианти, за да продължи да свири. После ще се връща към ужасния 140. Така ще прескача, колкото е необходимо. Засега само по веднъж се включва. Снощи изтеглих десетина клипчета за слушане днес и навсякъде беше по веднъж. Обаче предположението ми е, че в бъдеще няма да е само по веднъж, защото веднъ не върши работа за просвирване в реално време. А те не гонят мен, гонят МИЛИАРД и кусур индийци. Така цикличното сваляне ще стане невъзможно, защото прехвърлянето между форматите непрекъснато ще изтрива вече сваленото. Разбира се новия клиент ще е за Андроид. Не вярвам да го има за ГНУ/Линукс. И да го има, не бих го ползвал. Не желая да предоставям информация на Гългъл, кой съм и от какво точно се интересувам. Засега съм открил, че Гългъл все още е доста глупав и при ползване на един и същ компютър от няколко човека не успява да разпознае предпочитанията им. Радвам се за което. Така ги приема за един човек с широки интереси, които рядко се съвместяват. Това определено бърка алгоритмите му и съм щастлив. п.п. Мейк твърдеше, че качеството е отвратително, но това не е така. Звука не може да бъде отличен от нормално ухо. Музикант сигурно би видял разликата, но не би ползвал тубата. Пък и аз не я ползвам за музика. Картината не е пикселизирана, просто има загуба на детайли. Това е като да гледаш без очила. Разбираш, какво гледаш, просто не всяка подробност виждаш. Но е напълно достатъчно, когато има връзка между звука и картината (което е съвсем, съвсем рядко) да разбереш това, което не би разбрал само от слушане. А дори в този случай е малко. Титла: Re: [BASH] While яде първия знак, на вас случвало ли се е? Публикувано от: go_fire в Mar 30, 2020, 16:03 Една странична случка. Вчера си направих труда да проверя, защо песен в тройката на набиращите популярност е изчезнала. Оказа се, че цитирам някоя си Мария Найденова, песента на „кака Дени“ е свалена за авторски права. Явно „кака Дени“ не си е платила. Същата „кака Дени“ е най-известна с това, че в извънредно тъпата песен „Майко, майко“ на Boreau, има посветен ред на нея. В него се казва:
Цитат „Като съм звезда, не мога да ходя с рейса“ За нямащите деца уточнявам, че Lay's е марка чипс. Чипса е изключително чупливо нещо и за да може да се пренася в по-големи количества (например кашон), то пакетите се пълнят до две трети от обема си с въздух. Това има страничен, рекламен ефект, защото пакетите изглеждат по-големи. И в реалния живот е така. Като си поемеш много въздух, се изпъчваш хубавичко да те видят, но така обикновено става видна и простотията ти. За пак с хората без деца в пубертета уточнявам, че „кака Дени“ е певица (силно казано). Тя е звезда от Youtube на младото поколение, опитваща се да повтори успеха на Криско, 100 кила и др., като например последните трима спечелили Бай Брадър. Не успя да прескочи от Youtube в телевизията и успеха ѝ позавехна след няколко „песни“. В последните две години ми изпадна от поглед, но вчера разгледах канала ѝ. Очевидно е решила да се пробва на друго поприще. Има песен с Галин (този е чалгаджия, имащ дуети с всякакви скандални личности като Сузанита), а свалената песен от името личи, че е кавър на турска. Титла: Re: [BASH] While яде първия знак, на вас случвало ли се е? Публикувано от: Acho в Mar 30, 2020, 16:13 Еми те чалгиите са така, работата е "ако стане" "ако мине". Ако на някой се хареса песента - ОК. Ако не се хареса - "би маа му" и песен. Следваща ще се прави.
Титла: Re: [BASH] While яде първия знак, на вас случвало ли се е? Публикувано от: makeme в Mar 30, 2020, 22:53 Гого, на гугъл в момента не може да се разчита на консистентност, понеже имат проблем с трафика. Не знам дали следиш, но от началото на кризата в европа, а сега гледам и световно правят промени
https://abcnews.go.com/Technology/netflix-youtube-throttle-streaming-quality-europe-coronavirus-forces/story?id=69754458 Знам че няма да отвориш линка, но накратко - всички компании имат проблеми с трафика и правят промени (ограничават качеството и тнт). *Първоначално преомените важяха само за европа Титла: Re: [BASH] While яде първия знак, на вас случвало ли се е? Публикувано от: go_fire в Mar 31, 2020, 06:59 Ми не. Абц ми се отвори без проблем. Онова на Ремо не ми се отваряше, защото съм с изключен js и бисквитки, иронично поради трафик и да не ги подпомагам допълнително в шпионажа. Но това си се отвори без проблем. Бяха достигнали до мен няколко новини за проблеми с трафика, но в тях се говореше крайните клиенти. Били потребявали много повече, а мрежите били стари. Но не знаех, че и доставчиците на съдържание изпитват трудности. Последно чух, че Тръмп се обърнал към Netflix принудително да ограничат качеството.
Вчера правих изпитания на worstvideo+worstaudio/worst. Ами, както и предполагах, разработчиците на Ydl не са се справили, кой знае, колко добре. Да кажем в три четвърти от случаите се справя, но по принцип алгоритъма не е добър. Например, там където има 278 и 160, винаги избира 278. Това е vp9, другото е mpeg4. Ами то винаги се е знаело (и аз го знам от преди да ми пука за трафика), че vp8/9 са по-големи по размер при равни други условия. Гългъл също го знаят и за целта са понижили битовия поток от 113 на 97 та горе-долу да са съпоставими. Ама пак е грубо 20% по-голям. Няма как да докараш VP с подобно качество да е на подобен размер, колкото и да си Гългъл. Забележи, че това е вярно абсолютно навсякъде. Например за размерите дето теб те интересуват (1080p) са свалили битовия поток почти наполовина. Така, че това worstvideo просто не върши работа. Смешното е, че научих нещо от него. Има някакъв нов формат (или поне не съм му обърнал внимание) 378. Той е мъничко по-голям от 160, но все пак по-голям. При време три минути добавя половин да речем. Нещо такова. Интересното е, че това е AV1. Естествено Ydl си казва, я какъв приятен формат, само с 15% Е по-голям от mp4, дай да прекарам човека и да го сваля, като няма нищо по-голямо. Понеже изпитанията провеждам с кратки клипчета по минута, две (най-кратките, които намирам), това никак не ми се отрази видимо във времето. Обаче проблема следваше след това. В стария Дебиан това няма, с какво да се отвори. То хубаво мога да дам на mpv --no-video, ама що съм го теглил? В новия Дебиан Бъстър има някаква библиотечка libaom0 (от паяжината разбрах доста лоша), която се инсталира без проблем, но mpv отказва да я ползва. Нещо повече дори vlc от Deb-multimedia явно е достатъчно стара версия, че не поддържа AV1. За не следящите сагата AV1 уточнявам, че VLC развиват собствена библиотека за AV1. Та така. Ydl е отлична програма, но опре ли до нуждите на хора с бавни връзки, са си оставили ръцете. Не ги обвинявам. Те просто никога не са имали същия проблем, за да го решават. Титла: Re: [BASH] While яде първия знак, на вас случвало ли се е? Публикувано от: remotexx в Mar 31, 2020, 08:17 Очакваше се и Гугъл да последва Нетфликс, а сега хората дето си накупиха 8К телевизори какво ще гледат? Ами тия с 4К? Включително и Гогата с неговия Full HD/1080p, като те ограничиха всичко на SD/480p
Интересно имаше 1-2 ... няколкоо 4К канала, какво се случи с тях, спряха ли ги или ги прекръстиха на SD или 0.48 К ха-ха-ха Гого аз не разбрах нещо, мислех че на моменти ти пускат по добро качество, а според мейкми пускат по лошо... Би ли уточнил моля... вероятно аз съм се подвел че по големите номера означават по добро качество. И за финал .net core версия искаш ли? А ако много държиш да е на баш, що да не преместим темата в конкурса за баш майстора, а? Титла: Re: [BASH] While яде първия знак, на вас случвало ли се е? Публикувано от: go_fire в Mar 31, 2020, 08:44 Като те сърби, давай ;)
Мислех, че за програматорите вирус „Корона“ не важи и си работят :P Проблема е терминологичен. Според света (вкл. Мейк) по-добро е това с по-добро качество. Според мен по-добро е това с по-малък размер, което възможно най-скоро ще мога да слушам/гледам и ще го чакам най-малко да се сваля. Например, ако форматите 599/600 бяха налични навсякъде и по всяко време, щях да мога да ги пускам директно с mpv --ytdl-raw-options=f=599/600, без да ми се налага изобщо да ги тегля. С доста разпространения 249 (има го на почти всяко видео) това е на ръба да се случи. Ако имах стабилни 7КБ, а не нещо лашкащо се между 5 и 8, а едва усреднено да е 7, то щеше да е възможно. Конвенциите за именуване в тубата имат наследство и затова съвсем ясни. Например 17 означаваше 170i, а 36, 360i. Следователно след 17, следващ дойде 18 (реално най-стария формат), който е 360p. Mp4 720p го направиха 22. Първия webm (360p) го кръстиха 43. И някъде в този момент им дойде до акъла, че трудно ще могат да поддържат две цифри, ако продължат да трупат формати. А те продължиха. И тогава решиха да сложат трета цифра. Така всичко с 1** е mo4/m4a, всичко с 2** е vp8,9/ogg, а очевидно 3** вече са av1. Отначало 24* бяха webm, защото на старите 4* бяха закачили една двойка отпред, а mp4 бяха 13*. Ама и това бързо се промени. Например има 249, който отговаря на 139, но решиха да вкарат два пъти по-дискртизирани, които станаха 250 и съответно 140. А накрая добавиха и 251. Ще има 252 и 253, когато решат да стигнат до качеството на mp3 с 192 и 360 КБ/с. А за FLAC ще почакаме. Нарастването на цифрите означава нарастване на качеството. Обаче понеже все още са налични и старите кодове, то конвенцията не е пълна. Титла: Re: [BASH] While яде първия знак, на вас случвало ли се е? Публикувано от: makeme в Mar 31, 2020, 09:57 Гого аз не разбрах нещо, мислех че на моменти ти пускат по добро качество, а според мейкми пускат по лошо... Би ли уточнил моля... вероятно аз съм се подвел че по големите номера означават по добро качество.Проблемът е че в случая не може да се лепне етикет "по-добро" или "по-лошо". Принципно за тубата и нетфликс, може, но не и за изискванията на Гого :) .От там идва и объркването ти. Тези формати, които Гого желае почти не се използват и се появяват, и изчезват постоянно. За това и той твърди, че ydl не работи. Аз колкото и пъти да го тествах, си работеше (сигурно вече над 100). Просто той докато свали едно клипче може да се появят и изчезнат. При мен тъй като ги свалям моментално, ако проверя най-малкия формат преди и след свалянето, то винаги ydl си е свършил работата. Заради това същото нещо му предлагам да си ползва него, защото дори и скрипт да му напишеш, крайният резултат ще е същия. ПП: Сега се сетих- Гого, дръж си версията на ydl последна, че е доказано че от версия до версия, не се държи по един и същи начин (както споменах горе за котката и мишката). Моята е тази - 2020.03.24 . Старата която не работеше, беше на 4 месеца :) ПП2: Ето за какво говоря: Цитат -rw-rw-r-- 1 makeme makeme 1,9M мар 22 11:09 'Papi Hans - Стой си вкъщи [Official Video]-udGtY2bmTxs.mkv'Едното го пуснах преди да напиша поста, а другото след като го написах. При проверка се вижда че за час изчезнаха 597 и 599): Цитат $ youtube-dl -F https://www.youtube.com/watch?v=udGtY2bmTxsТа от всичките писания и аз научих нещо ;) ПП3: Например, там където има 278 и 160, винаги избира 278.Както виждаш от примера - това не е вярно. Ето ти аутпута: Цитат [ffmpeg] Merging formats into "Papi Hans - Стой си вкъщи [Official Video]-udGtY2bmTxs.mkv" Титла: Re: [BASH] While яде първия знак, на вас случвало ли се е? Публикувано от: go_fire в Mar 31, 2020, 10:23 Държа си я нова версия, защото ползвам тубата постоянно:
Код
597 за видео, 599, 600 за аудио са чисто нови формати от този месец. Опитно открих, че ти ги пуска веднъж на час, когато поискаш 249. 160 и 278 за видео, 140 и 249 за аудио ги има за почти всеки клип. 249 е до три пъти по-малък от 140, а 160 е почти с една трета по-малък от 278. С worstaudio винаги предпочита 249 пред 140 и това е правилна стратегия. За съжаление с worstvideo винаги взема 278 пред 160. А вече предпочита и още по-новия 378 пред 160. Съобразно името това може и да е вярно. 278 може би наистина е с една идея с по-лошо качество от 160 (поради по-ниското кодиране в битове на секунда), но едва ли има човек, който сваля с по-лошото качество заради самото качество. Сваля го заради размера. И точно в това youtube-dl се дъни лошо. Титла: Re: [BASH] While яде първия знак, на вас случвало ли се е? Публикувано от: makeme в Mar 31, 2020, 10:28 За съжаление с worstvideo винаги взема 278 пред 160.Горе ти дадох пример, че това не е вярно, което казваш. Махни и /worst накрая, че при твоята връзка може да го бърка нещо и остави само worstvideo+worstaudio. Не можеш да ме убедиш че не работи след като го тествах повече пъти от колкото съм го ползвал тоя ydl през живота си :) Титла: Re: [BASH] While яде първия знак, на вас случвало ли се е? Публикувано от: go_fire в Mar 31, 2020, 11:01 Съгласен. Днес ще продължа изпитанията без worst. Обаче тъпия му Константин Трендафилов ми се вижда ненадежден случай. Клипчето му е снимано с телефон и се откроява рязка разлика между 160 и 278. Това е в случая (както подозирам) Ydl да вземат под внимание разделителната способност, а не размера и да вземат първата, която открият. По това клипче разбирам, че webm ги закачат за височината, а mp4 за ширината. Странно решение. Гългълска му работа.
Както обещах днес ще взема още клипове и ще правя още проби за да имам сигурен резултат, а не теоретичен. Но все пак при worstvideo+worstaidio/worst би трябвало да значи дай ми най-лошото видео, като с него искам и най-лошото аудио, но ако няма, дай ми най-лошото възможно аудио. Защото наклонената черта в Ydl значи логическо ИЛИ. Наистина ще направя днес изпитания, за да не са напразни приказки, а да проверя, има ли промяна без /worst, навсякъде ли е или само в някои случаи. Титла: Re: [BASH] While яде първия знак, на вас случвало ли се е? Публикувано от: makeme в Mar 31, 2020, 11:17 Да, логиката е такава. Проблемът при теб мисля обаче, че може и да не се реши, тъй като от тестовете ония ден, засякох че тя самата заявка към тубата "дай възможностите" хаби доста трафик (от твоя гледна точка). Та не знам това, което получаваш като резултат дали е актуално или дали въобще не е бъгнато. Примерно пращаш заявката и тя ти върви (по мои изчисления) 2-3 мин. Да ама за тея минути, нещо се е променило и списъка или е неверен или частично е неверен (не знам точно как работи заявката).
Иначе за моето 1080п, аз си ползвам командата която по-горе дадох понеже за мен е най-доброто (цена/качество :) ). Ако прочетеш man-a ще видиш че по подразбиране работи така bestvideo+bestaudio/best. Само че на мен ми трябват мп4ки за телевизора и не виждам кой знае каква разлика в качеството. За това и използвам онези опции, които по-нагоре ги бях дал. От там се залъгах че и ти това желаеш и ти я сглобих "уж кат за тебе". Накрая осъзнах обаче, че ти искаш просто най-малкото по размер (макар и да упрекваш разработчиците, че трябва да гледат качеството) и реално стигаме до worstvideo+worstaidio . Ако това не ти свърши работа, не мисля че друго ще ти свърши. Ако все пак не ти свърши работа, бих ти предложил, ако имаш достъп до някой сървър да си ги сваляш там и после, да си ги дърпаш с rsync. Ако вземат да се каръптват по пътя към теб, можеш да ползваш опцията му -W. Титла: Re: [BASH] While яде първия знак, на вас случвало ли се е? Публикувано от: go_fire в Mar 31, 2020, 13:57 Понеже вчера говорех за този бавно развиващия Boreau, то днес реших да пробвам с негови песни. Избора е добър, защото песните му са кратки, а и записва от 11 години, та има стари, има нови качени. Тубата ми предложи някакви и започнах.
WjOxsKHY-6w: 242 webm 426x240 240p 39k , vp9, 15fps, video only, 435.60KiB 278 webm 256x144 144p 46k , webm container, vp9, 15fps, video only, 312.18KiB Са първите две от списъка с видео. Избра 242. Звук избра 249, но точно там беше пръв. Нямаше друго преди него в списъка. По нито един критерии не отговаря за „най-лошото“ видео. Просто е първо в списъка. 3bE6ryJU640: 242 webm 426x240 240p 9k , vp9, 15fps, video only, 146.87KiB 243 webm 640x360 360p 16k , vp9, 15fps, video only, 256.82KiB 278 webm 256x144 144p 17k , webm container, vp9, 15fps, video only, 226.70KiB Няма 160. 242 е добре. UuDkjkyRa1M: j6AukuckLq0: cu0-Cob7SO0: efabPdPgSws: ft4ohRC1pSY: nk0EYhwm-60: SXBH8_yT23A: 160 mp4 256x144 144p 29k , avc1.4d400b, 15fps, video only, 269.14KiB 278 webm 256x144 144p 59k , webm container, vp9, 15fps, video only, 682.27KiB 160 mp4 256x144 144p 84k , avc1.4d400c, 25fps, video only, 1022.46KiB 278 webm 256x144 144p 95k , webm container, vp9, 25fps, video only, 1.98MiB 160 mp4 256x144 144p 107k , avc1.4d400c, 25fps, video only, 1.55MiB 278 webm 256x144 144p 146k , webm container, vp9, 25fps, video only, 2.41MiB 160 mp4 256x144 144p 29k , avc1.4d400b, 15fps, video only, 275.54KiB 278 webm 256x144 144p 59k , webm container, vp9, 15fps, video only, 696.12KiB 160 mp4 256x140 144p 110k , avc1.42c00c, 15fps, video only, 1.58MiB 278 webm 256x140 144p 128k , webm container, vp9, 15fps, video only, 1.62MiB 133 mp4 426x234 240p 260k , avc1.4d4015, 30fps, video only, 3.56MiB 160 mp4 256x144 144p 35k , avc1.4d400c, 30fps, video only, 438.64KiB 133 mp4 426x240 240p 77k , avc1.4d4015, 30fps, video only, 740.52KiB 242 webm 426x240 240p 85k , vp9, 30fps, video only, 1001.48KiB 278 webm 256x144 144p 86k , webm container, vp9, 30fps, video only, 987.61KiB 160 mp4 256x144 144p 51k , avc1.4d400c, 25fps, video only, 603.92KiB 133 mp4 426x240 240p 95k , avc1.4d4015, 25fps, video only, 1.10MiB 278 webm 256x144 144p 97k , webm container, vp9, 25fps, video only, 1.38MiB 242 webm 426x240 240p 115k , vp9, 25fps, video only, 1.32MiB Избра 249/160. Има 278 в списъка, но е след 160. Други клипове: Xs0OM6DRrbM: r0NqK4rVEpU: 6I71vtR73cw: gxj7Gsje8Jo: kLSSb5jiH3g: zjXVcu46LAg: 278 webm 256x144 144p 97k , webm container, vp9, 25fps, video only, 2.07MiB 160 mp4 256x144 144p 110k , avc1.4d400c, 25fps, video only, 1.79MiB 278 webm 256x144 144p 98k , webm container, vp9, 25fps, video only, 2.26MiB 160 mp4 256x144 144p 110k , avc1.4d400c, 25fps, video only, 1.69MiB 242 webm 426x240 240p 213k , vp9, 25fps, video only, 3.91MiB 133 mp4 426x240 240p 244k , avc1.4d4015, 25fps, video only, 3.07MiB 278 webm 256x144 144p 98k , webm container, vp9, 24fps, video only, 1.80MiB 160 mp4 256x144 144p 112k , avc1.4d400c, 24fps, video only, 1.91MiB 278 webm 256x144 144p 54k , webm container, vp9, 15fps, video only, 933.96KiB 242 webm 426x240 240p 57k , vp9, 15fps, video only, 937.40KiB 160 mp4 256x144 144p 114k , avc1.42c00c, 15fps, video only, 1.63MiB 278 webm 192x144 144p 79k , webm container, vp9, 24fps, video only, 1.91MiB 160 mp4 192x144 144p 86k , avc1.4d400b, 24fps, video only, 2.43MiB 133 mp4 320x240 240p 186k , avc1.4d400d, 24fps, video only, 5.30MiB 242 webm 320x240 240p 190k , vp9, 24fps, video only, 3.31MiB 278 webm 256x144 144p 95k , webm container, vp9, 25fps, video only, 1.93MiB 160 mp4 256x144 144p 110k , avc1.4d400c, 25fps, video only, 1.98MiB 242 webm 426x240 240p 221k , vp9, 25fps, video only, 3.79MiB 133 mp4 426x240 240p 319k , avc1.4d4015, 25fps, video only, 4.04MiB Вече неизненадващо избира 278. Явно това е алгоритъма. Просто взима първото от списъка. 249 също е първо в случая. Изненадващото без първите две е, че все пак стратегията на Гългъл е проработила и webm наистина е по-малък от mp4. Но това го виждам рядко. ph7d643jpwM: 160 mp4 256x144 144p 35k , avc1.4d400c, 30fps, video only, 407.54KiB 133 mp4 426x240 240p 82k , avc1.4d4015, 30fps, video only, 862.62KiB 278 webm 256x144 144p 83k , webm container, vp9, 30fps, video only, 832.10KiB 242 webm 426x240 240p 109k , vp9, 30fps, video only, 1.08MiB Избира 160. Пръв е в списъка и е правилен. Разглеждайки всички примери разбирам, че тубата ги подрежда по битове на секунда, но това, когато си говорим за VP8/9 и MPEG 4 рядко значи по-малък размер. Омръзна ми от отровната музика и лирика на този. Макар „Ай малко“ („Чаай малко“ е друга песен) с код WjOxsKHY-6w да ме впечатли. Има почти нормални послания, ако изключим първото. Но пък музиката някаква наркоманска. =*= Като цяло експеримента с worstaudio+worstvideo е напълно успешен. Понеже вчера не водех точна статистика, не знам дали съм попадал само на клипове с 278 преди 160. Но пък със сигурност 278 беше по-голям от 160. При тези тук повечето пъти 278 е след 160 в списъка, а единствения случай дето 278 не е наистина по-малък, сигурно и аз щях да го изпусна при нормални обстоятелства и щях да сваля 160. Това определено е по-гъвкаво от моя вариант. Моето с изброяване на форматите конкретно си работи. Само, че подтикнат от теб ще изпробвам вместо: 599/600/249/250/139/251/140,597/160 да дам 599/600/249/250/139/251/140+597/160, защото иначе --merge-output-format mkv не работи (както е описано в help, че не трябва да работи), а точно това е оптимизацията, която печеля с твоя вариант. Досега трябваше да пускам ffmpeg ръчно. Но, ако плюса работи и за изброени формати, то това отпада. доп. === Пробвах и ми каза, че първо трябва да сложа формата на видеото, после на аудиото, но обеща да ги събере в mkv. Трябва да пробвам с изброявания дали става. Обаче дали е по-бързо, отколкото да дам worstaudio+worstvideo не знам за сега. Онези горе не ми ги бавеше много, ама всичките са по около две минути. Когато тегля нещо истинско, дето е половин или час, ще разбера. п.п. До man се допитвам рядко, защото всичко важно го има в --help. В man са вече завъртяните подробности, като това, че можеш да дадеш плюс. п.п.п. Не мога да си платя сметка за достъп до Интернет, но мислиш, че мога да си позволя да наема сървър :) Благодаря за пожеланието, дано някога е възможно. Но с тая депресия, няма да е скоро. Не, че нямаше и такива времена, но отминаха в предното десетилетие. ОТНОВО ГОЛЯМО БЛАГОДАРЯ! Титла: Re: [BASH] While яде първия знак, на вас случвало ли се е? Публикувано от: jet в Mar 31, 2020, 15:24 Във Видин на чаршията няма ли някакъв безплатен WiFi.
Нали сега се фукат, че с европейски кинти по центровете на градовете щяло да има безплатен интернет. Слагаш едно Распбъри в раницата със списък на файловете за сваляне и докато изпиеш едно кафе си напълнил кошницата. Титла: Re: [BASH] While яде първия знак, на вас случвало ли се е? Публикувано от: go_fire в Mar 31, 2020, 15:38 Има то, нищо няма. Обичам да казвам, тоя град е останал в тринадесети век. В края на четиринадесети пада под турско. Значи два века преди това без четири години. А и Малинка е още нещо, което не мога да си позволя.
Не знам по америчките градове как е, ама тук има всеобща забрана за излизане за нещо различно от това да ходиш до магазина, аптеката и да си разходиш кучето. Аз куче нямам. А и градовете също са под обсада. Никой не може да ги посещава или напуска. Макар, че сме в РБългария и карантината реално изтрая две седмици. Тази седмица хората си щъкат, закусвалните работят, много магазини също, полицията се е покрила и я няма никаква. Аз обаче си поддържам изолацията. И не щото ме е страх от зараза. Ако има да мра, тая зараза ще влезе през прозореца и пак ще ме убие. Просто това си ми е стила на живот. Страня от хората и си седя вкъщи. За мен нищо не се е променило. Титла: Re: [BASH] While яде първия знак, на вас случвало ли се е? Публикувано от: 4096bits в Apr 05, 2020, 09:48 Намерих време да направя дребните промени.
Всичко вече е в един loop, който на тридесет секунди поглежда в oti. Това време може да се промени разбира се. Най-накрая на скрипта е. Търси и трие свалените файлове ( форматите, не готовия mkv ), ако youtube-dl не го е направил по някаква причина. Не търси за .part. Променя датата на сваления файл според датата на качване в Youtube. Сега се сещам, че се получава малко тъпо, понеже, ако трябва да се трие файл, трябва да се изтрие първо линка му в oti, щото иначе ще започна да го сваля отново. Може да се добави опция --download-archive FILE към командата за сваляне, за да не сваля повтарящи се файлове, но ще се наложат и някои други промени. Код: #!/usr/bin/env python3 |