Тагът video само "ръчно" ли може да се управлява гъвкаво?

rujel

Active Member
Въпросът ми е свързан с програмирането при което се ползва въпросния вид таб. Ако искам да направя някакво по-особено управление, то единствената възможност дали е такава върху видеото да сложа съответна прозрачна плоскост в която да се визуализират и управлява с мишката каквото трябва?
Веднага давам пример. В Youtube като почнат рекламните клипове, то се появява жълт скролер за показаната реклама, който няма възможност за превъртане напред и назад. Това може ли да е в основния таг video или е нещо поставено отгоре, както споменах...
 

ReminD

Well-Known Member
Какво е това нещо 'таб'? За хтмл тага видео ли говориш?

Зависи как го имплементираш, честно казано не разбрах много какво искаш да постигнеш? И това за рекламите не е поставено отгоре или отдолу или на бекграунд - а е имплементирано в бек енда - спира стрийминга на видеото, и пуска реклама някакво време.

пс: Повечето players, които можеш да имплементираш ( бек енд имплементация, не някакъв ембед ) имат възможност за вкарване на разни неща по видеата - статистика - гледаемост, дали да се спира, дали не, след колко време да се пропуска и т.н..
 
Последно редактирано:

rujel

Active Member
Не е 'таб', а 'таг' - очевидно правописна грешка. В заглавието е правилно написано...
По принцип бекенда не реализира нищо видимо в браузъра, а само управлява подходящо фронтенда. Ако говориш, че нещата са вкарани в съдържанието на самото видео - ами очевидно не е така, защото скролерът за придвижване се променя. Вариантът да имаме live streem управляван външно също изглежда не е верен, защото дори самото зареждане на клипа се визуализира (с разширяваща се сива ивица в скролера на клипа).
 

ReminD

Well-Known Member
По принцип бекенда не реализира нищо видимо в браузъра,
Всъщност реализира всичко видимо в браузъра. req/ res принципа - пускаш рикуест към сървъра, сървъра връща риспонс , е точно каквото виждаш е от риспонса, който сървъра дава. При SPA архитектурата - req/res пак има, но response-a не е html, a Json

Ако говориш, че нещата са вкарани в съдържанието на самото видео - ами очевидно не е така
Не казах това, а че видеото се спира, и на негово място се пуска реклама.


Код:
VideoPlayerController.addListener(() {
  int durationInSec = chewieController!.videoPlayerController.value.duration.inSeconds;
  int positionInSec = chewieController!.videoPlayerController.value.position.inSeconds;

  //1500 sec = 25 minutes, isDurationLoaded bool used to make sure it run just once.
  if (durationInSec > 1500 && isDurationLoaded == false) {
    isDurationLoaded = true;

    //if duration > 25 mins then show ad every 20 mins approx.
    totalAds = (durationInSec ~/ 1200).toInt();
    adEvery = (durationInSec ~/ totalAds).toInt();

    //get timestamps in seconds list at which ad should be shown
    for (int i = 1; i < totalAds; i++) {
      adIntervalSeconds.add(adEvery * i);
    }     
    
  }

  if (videoPlayerController.value.isPlaying &&
      adIntervalSeconds.isNotEmpty &&
      adIntervalSeconds.contains(positionInSec) &&
      throttle == false) {
    throttle = true;
    
    Future.delayed(const Duration(seconds: 2), () {
      throttle = false;
    });

    adIntervalSeconds.remove(positionInSec);
    showInterstitial();
  }
}

За пример реклама имплементация на Chewie
 
Последно редактирано:

rujel

Active Member
Всъщност реализира всичко видимо в браузъра. req/ res принципа - пускаш рикуест към сървъра, сървъра връща риспонс , е точно каквото виждаш е от риспонса, който сървъра дава. При SPA архитектурата - req/res пак има, но response-a не е html, a Json
Това някакъв философски спор ли е? Прекрасно знаем как работи браузъра. Всичко се чете от сървъра, като може да се четат и подходящо подготвени данни, но това са само данни. Визуализира се html-ът, но за да станат динамично (парсването на html е тромаво, за да се прави непрекъснато) нещата задължително се ползва javascript, който е фронтенд. Ако резултатът пък е в Json, тогава вече със сигурност без js абсолютно нищо не се визуализира. Споменатият от теб Chewie предполагам, че е framework, т. е. е нещо надградено над фронтенда плюс нещо съвсем различни надградено над бакенда.
 

ReminD

Well-Known Member
Това е бекенд... Отвори който и да е плейър в гугъл и документацията им и потърси как да имплементираш реклами, пишеш пълни глупости, няма нужда и да ги адресирам дори.

Визуализира се html-ът, но за да станат динамично (парсването на html е тромаво, за да се прави непрекъснато нещата задължително се ползва javascript, който е фронтенд)
да, който js прави request към сървъра и пита къв е стейта вмомента, и сървъра казва сега ли е време за реклама или не. Примерно.И няма никакво парсване на хтмл при видео


Ей ти за пример видео, което сега гледам и за 5 секунди това са requests пратени към сървъра от youtube
f6caf6e26cc5bab8659575c0dd2be692.jpg
 
Последно редактирано:

rujel

Active Member
Това, че времето за реклами се указва от сървъра на момента е ясно, но самият javascript реализира пускането и спирането на рекламите, както и визуализацията на управлението на скролера. Освен ако няма някаква интегрирана функционалност в браузъра, т. е. нещата да се случват на някакво по-вътрешно ниво в браузъра. Ако това, че самият framework ти върши голяма част от нещата - то ти си в пълна грешка, че считаш това за backend, просто защото не го виждаш "на живо" в кода на страницата.
 

ReminD

Well-Known Member
Оф добре, оправяй се

Освен ако няма някаква интегрирана функционалност в браузъра, т. е. нещата да се случват на някакво по-вътрешно ниво в браузъра
Пишеш глупости. Всеки браузер си има вграден JS , има и документацията за <video> от HTML5 , все тая - смисъл, не ми се пише по темата, щото много глупости станаха.
 
Последно редактирано:

alexkuzmov

Well-Known Member
Въпросът ми е свързан с програмирането при което се ползва въпросния вид таб. Ако искам да направя някакво по-особено управление, то единствената възможност дали е такава върху видеото да сложа съответна прозрачна плоскост в която да се визуализират и управлява с мишката каквото трябва?
Веднага давам пример. В Youtube като почнат рекламните клипове, то се появява жълт скролер за показаната реклама, който няма възможност за превъртане напред и назад. Това може ли да е в основния таг video или е нещо поставено отгоре, както споменах...
Какво искаш да постигнеш точно? Да пускаш реклами или?
 

Станимир И

Well-Known Member
Това което ти трябва се казва байтов поток, преди години участвах в екипа на dtube за рекламите, всяка една сериозна платформа изтегля видеото на парчета, между тези парчета може да сложиш реклама или да провериш, дали даденият посетител още е започнал да гледа или не е гледал, дали е затворил и други проверки. За това youtube има толкова заявки към сървъра. Браузърът изтегля едно парче, той изпраща обратно токен към сървъра, изисквайки следващото парче, между всяко парче има клейма.

Линк: https://w3c.github.io/mse-byte-stream-format-webm/


Поздрави.
 

ReminD

Well-Known Member
Това което ти трябва се казва байтов поток, преди години участвах в екипа на dtube за рекламите

Стрийминг не е задължителен - зависи как искаш да направиш нещата. Ако беше правил нещо по dtube щеше примерно да знаеш, че там никакви реклами няма, всичко е от тубата, нито пък имат някакъв стрийм.
 

rujel

Active Member
Това което ти трябва се казва байтов поток, преди години участвах в екипа на dtube за рекламите, всяка една сериозна платформа изтегля видеото на парчета, между тези парчета може да сложиш реклама или да провериш, дали даденият посетител още е започнал да гледа или не е гледал, дали е затворил и други проверки. За това youtube има толкова заявки към сървъра. Браузърът изтегля едно парче, той изпраща обратно токен към сървъра, изисквайки следващото парче, между всяко парче има клейма.

Линк: https://w3c.github.io/mse-byte-stream-format-webm/


Поздрави.
Изтеглянето на парчетата може лесно да стане с множество заявки към сървъра. Но естествено е докато се теглят последните парчета вече да се показва напълно заредените първи парчета. Но как скролера на видеото да показва точната позиция, след като нямаме цялостно заредено съдържание? Този скролер отделно ли трябва да се прави? Най-вече ме интересува нещата от страната на програмирането. Чрез анимация ли се показва или има някакъв интегриран в новите браузъри web компонент, който е подходящ за доста специфични настройки?

Самият таг video преди време го гледах и там нещата бяха твърде постни. Но може да има други тагове или функции, чрез които да се правят нещата много по-удобно от най-кръчмарския начин с директно чертаене.

ReminD ще се радвам да престанеш да пишеш по темата, защото малоумното поведение е от твоя страна...
 

alexkuzmov

Well-Known Member
Изтеглянето на парчетата може лесно да стане с множество заявки към сървъра. Но естествено е докато се теглят последните парчета вече да се показва напълно заредените първи парчета. Но как скролера на видеото да показва точната позиция, след като нямаме цялостно заредено съдържание? Този скролер отделно ли трябва да се прави? Най-вече ме интересува нещата от страната на програмирането. Чрез анимация ли се показва или има някакъв интегриран в новите браузъри web компонент, който е подходящ за доста специфични настройки?

Самият таг video преди време го гледах и там нещата бяха твърде постни. Но може да има други тагове или функции, чрез които да се правят нещата много по-удобно от най-кръчмарския начин с директно чертаене.

ReminD ще се радвам да престанеш да пишеш по темата, защото малоумното поведение е от твоя страна...
Няма как да стане това със video tag.
Ако искаш да имаш повече и по-сложна функционалност ти трябва player.
Пример: https://docs.videojs.com/
 

Горе