Искате ли вградени YouTube/Vimeo/etc. видеота в постовете?
Ако да, ще ми трябва малко помощ с JS-та.
Идеята е, ще направя форматирането примерно така:
MiniMag:
;embed PROVIDER
VIDEOID
;end
BBCode:
[embed=PROVIDER]VIDEOID[/embed]
И в двата варианта, PROVIDER може да се пропусне, а да остане само share URL-то на съответното видео вместо атрибута video. Примерно https://youtu.be/W1B3NTB2wfQ или направо https://www.youtube.com/watch?v=W1B3NTB2wfQ
JS-та трябва да провери (или разпознае) провайдера от фиксиран списък с разрешени провайдъри, да реконструира URL-то до схемата на провайдъра, примерно https://www.youtube.com/embed/VIDEOID за YouTube и да замести div-a с iframe със съответното URL.
Идеята на цялата сложна схема е, че няма да се кодира самият провайдър в бакенда. Защото не искам да вкарвам зависимост от трети страни в сорса.
А в шаблоните такава зависмост е допустима и лесна за корекция.
waldorf
Създадено на 26.05.2023, видяно: 603 пъти. #91129
То за искане, искаме(е) ... и за JS може едно рамо да се даде ... ама няма време
BIGBUGEX
Създадено на 26.05.2023, видяно: 598 пъти. #91131
По принцип, чуек, тва си е работа за бакенда. Но ако ще се конвертира динамично, по-добре да е <a class="Video" href="url">url</a>. Защото ако няма йс ще е невидимо.
Ами по принцип да, работа на бакенда е. Но точно това е прекалено силно обвързано с разни странични играчи, за да ми се иска да се обвързвам точно на бакенда.
YouTube утре ще го затворят, а AsmBB е за векове. Не може да зависи от прищявките на Googlе...
А специално кой таг да се използва, може да се обсъжда и подлежи на промени. Аз избрах <div> защото може да се направи да изглежда като "видео" за тези, на които им е изключен JS-та. Не че <a> не може да се направи правоъгълен и с фон някакъв, но семантиката ще куца.
Може компромисно, примерно така: <a href="URL"><div class="video">Video link</div></a>
Но това са не много важни детайли, които могат свободно да се променят. JS кода ще се различава незначително. А бакенда мога да го направя всякак. Главната идея е достъпните провайдъри да се конфигурират и определят откъм фронтенда.
Ще направя. Но по-нататък. Просто изисква по-големи усилия и сериозни промени в базата данни и общото устройство на енджина. Съответно значително повече проектиране и време.
ДонРеба
Създадено на 26.05.2023, видяно: 583 пъти. #91136
няма смисъл, то и сега може временен адрес от тубата да се ембедне с онова заклинание за видео, а всичко гугълско е преходно така че перманентен адрес няма смисъл
Реално може желаното видео да се свали като стрийм и да се ембедне в поста с minimag или каквото там казва Джони, така ще се запише в sqlite базата която не може да натовари дори с минималната виртуалка, въобще аз ли, един упадъчно-интелигентен архитект да ви казвам как би го решил истинския асемблерджия?!?
няма смисъл, то и сега може временен адрес от тубата да се ембедне с онова заклинание за видео, а всичко гугълско е преходно така че перманентен адрес няма смисъл
Реално може желаното видео да се свали като стрийм и да се ембедне в поста с minimag или каквото там казва Джони, така ще се запише в sqlite базата която не може да натовари дори с минималната виртуалка, въобще аз ли, един упадъчно-интелигентен архитект да ви казвам как би го решил истинския асемблерджия?!?
Естествено, че може. Спокойно можете да атачвате видео файлове с произволна дължина, стига тя да не превишава 9MB.
Впрочем, в момента на сървъра има около 14ГБ свободна памет, така че, място има. SQLite естествено ще поеме такъв размер без въобще да се замисли.
Ако този вариант ви устройва, то да, няма смисъл да правим нищо.
Еми като опря до това да не правим нищо - за мен copy/paste или drag-and-drop на линк вкл. от тубата си е перфектно решение, това че екипа разработчици не е квалифициран да се справи с обичаен проблем си е проблем ... на екипа
waldorf
Създадено на 26.05.2023, видяно: 553 пъти. #91152
Абе нещо не разбирам, то си има <video/> tag в html5 - и като гуглосаш за "html video tag youtube" излизат сумата резултати - ей първия от стака:
Ако търсиш предизвикателства, що не направиш превю на линкове както е във википедията?
Просто YouTube менят директните линкове към видеото, както и схемата по която ги създават. Номерът минава, но само за ограничено време. Ако беше прочел тая връзка дето я даде, щеше да видиш, че в първият отговор пише с големи букви:
This answer does not work anymore, but I'm looking for a solution.
С YouTube или играеш по техните правила или не играеш въобще.
Можеш да пробваш в следващия си пост. Видео се вмъква с тага [$VIDEOURL]. Дай да видим ще намериш ли някакво валидно URL на видео файл от YouTube?
Щото то не е само да линкнеш видеото, требе си контроли пауза, напред назад стоп рилоад итн итн.
Тубата ти ги дава наготово в ембед линка да не си играеш и накрая да оплескаш жабите
Виж сега, нещата не стоят така.
YouTube иска да има пълен контрол на видеотото, затова и не дава директен достъп до видео файловете. Това, дето ти го постна като уж връзка към видео файла, пак е сайта на YouTube със все HTML и най-важното JS, а не връзка към видео файл. Просто погледни в дебъгера на браузъра.
Целта е да могат да си пускат рекламите и да си тракват потребителите. Разбира се, те са си безспорно в правото – техен сайт, техни правила.
А иначе, всичко това, дето уж "ти го дава" youtube, си го има вградено в HTML5, и плеер със всичките му контроли, пауза, напред-назад и т.н.
Но без тракинг и реклами, разбира се.
Ето например:
Но разбира се, трябва да си хостваш файловете сам. А видео файловете са големи.
Ако търсиш предизвикателства, що не направиш превю на линкове както е във википедията?
Просто YouTube менят директните линкове към видеото, както и схемата по която ги създават. Номерът минава, но само за ограничено време. Ако беше прочел тая връзка дето я даде, щеше да видиш, че в първият отговор пише с големи букви:
This answer does not work anymore, but I'm looking for a solution.
С YouTube или играеш по техните правила или не играеш въобще.
Можеш да пробваш в следващия си пост. Видео се вмъква с тага [$VIDEOURL]. Дай да видим ще намериш ли някакво валидно URL на видео файл от YouTube?
Е ти само първия коментар ли четеш? Виж и втория ... има пример, гитхъб проект някакъв и т.н. - може и да не работи де, не съм го проверявал ама от описанието изглежда обещаващо - някакъв скрипт сигурно парсва за видео тагове и сигурно ги променя така, че да тръгнат.
Ами трябва да си видиш какви са то целите:
- да дадеш лесен начин на потребителите да ембедват и постват линкове от тубата
или
- да клонираш тубата със всичките рискове които следват от там.
Аз искам да дам възможност на потребителите да ембедват видеота от YouTube и произволни други настоящи или бъдещи провайдъри** (например Vimeo), по начин, който:
1. Съответства на условията на провайдъра, защото те често менят архитектурата на сайтовете си и ако ги хакваш, трябва постоянно да бягаш след тях (пример – проекта youtube-dl).
2. Позволява да се конфигурират провайдърите гъвкаво и в движение. Да се добавят нови и да се махат старите. Без да се налага прекомпилиране на бакенда, например.
3. По възможност да осигурява приватност на зрителите на видеото.
Е ти само първия коментар ли четеш? Виж и втория ... има пример, гитхъб проект някакъв и т.н. - може и да не работи де, не съм го проверявал ама от описанието изглежда обещаващо - някакъв скрипт сигурно парсва за видео тагове и сигурно ги променя така, че да тръгнат.
Е, зависимост от странични проекти (а още повече SAAS) не смятам да вкарвам. Това би било глупаво.
А да пиша собствен екстрактор също не смятам – за това трябва да се прави отделен проект, който редовно ще се чупи и ще трябва да се ъпдейтва, когато YouTube си сменят схемата на плеера. А те го правят редовно.
Ами трябва да си видиш какви са то целите:
- да дадеш лесен начин на потребителите да ембедват и постват линкове от тубата
или
- да клонираш тубата със всичките рискове които следват от там.
Аз искам да дам възможност на потребителите да ембедват видеота от YouTube и произволни други настоящи или бъдещи провайдъри** (например Vimeo), по начин, който:
1. Съответства на условията на провайдъра, защото те често менят архитектурата на сайтовете си и ако ги хакваш, трябва постоянно да бягаш след тях (пример – проекта youtube-dl).
2. Позволява да се конфигурират провайдърите гъвкаво и в движение. Да се добавят нови и да се махат старите. Без да се налага прекомпилиране на бакенда, например.
3. По възможност да осигурява приватност на зрителите на видеото.
Cool, ok ако мога да се осмеля да дам съвет: Не се опитвай да "хакваш". Нема да стане.
По-добрите дават начин за ембедване.