LINUX.ORG.RU

Прямая трансляция видео на сайте

 action script, , ,


0

1

Подскажите как можно стримить видео-поток (это вроде умеет ffmpeg?) так, чтобы на сайте его могли смотреть в MP4, OGG (theora/vorbis), FLV. Для последнего прошу показать, как накидать простенький плеер видео из потока (желательно чтобы работал в Macromedia Flash 7).

★★★

hls, mpeg-dash, html5 <video> tag.

как накидать простенький плеер видео из потока (желательно чтобы работал в Macromedia Flash 7)

Флеш сдох. Больше ничего не надо накидывать. Используй тег video из html5. Есть js обёртки над ним, чтобы не костылять самому.

ox55ff ★★★★★
()
Последнее исправление: ox55ff (всего исправлений: 1)
Ответ на: комментарий от zx_gamer

Вставить видеострим в сайт на XHTML 1.0 Strict не так просто, так как этот стандарт не поддерживает тег , который используется для встраивания видео в HTML51. Однако, вы можете использовать тег object или embed для воспроизведения видео с помощью плагинов, таких как Flash или QuickTime23. Вот пример кода, который вставляет видео с YouTube в XHTML 1.0 Strict:

<object type="application/x-shockwave-flash" 
data="https://www.youtube.com/v/VIDEO_ID" width="640" height="480">
  <param name="movie" 
value="https://www.youtube.com/v/VIDEO_ID" />
  <param name="allowFullScreen" value="true" />
  <param name="allowscriptaccess" value="always" />
  <p>Тег object не поддерживается вашим браузером. <a 
 href="https://www.youtube.com/watch?v=VIDEO_ID">Смотрите видео на YouTube</a>.</p>
</object>

В этом коде вы должны заменить VIDEO_ID на идентификатор видео, которое вы хотите вставить. Вы также можете изменить ширину и высоту видео, указав другие значения для атрибутов width и height.

symon2014 ★★
()
Ответ на: комментарий от zx_gamer

Чтобы у всех работало - нужно использовать html5

alex1101
()
Ответ на: комментарий от zx_gamer

Хочу чтобы у всех работало.

Давай тупо ссылку на видеопоток, пусть во внешнем плеере открывают.

devl547 ★★★★★
()

Желающий смотреть много? можно с помощью ffmpeg стримить на ютуб, оттуда точно все смогут смотреть.

yandrey
()
Ответ на: комментарий от zx_gamer

Хочу чтобы у всех работало

А в итоге проковыряешься с Adobe Flash для 0.5 пользователей с четверопнями, которые смотреть то что ты там делаешь даже не будут и не успеешь сделаешь нормально ни для них, ни для нормальных пользователей с HTML5 Video и JavaScript.

Учись расставлять приоритеты и отсекать неликвид в лице луддирующих флешеюзцев.

EXL ★★★★★
()
Ответ на: комментарий от yandrey

Ну это средненький вариант. Для этого нужно или сервер где нить на VPS , или отдельный компик с постоянным допуском к сети , и электрической и интернет сети )

symon2014 ★★
()
Ответ на: комментарий от symon2014

Запланированные трансляции при обрыве потока завершаются только через несколько часов, некоторым стримам несколько лет не благодаря тому что ведутся из датацентов с резервированием всего.

yandrey
()
Ответ на: комментарий от yandrey

Ну вообще то у меня прямо сейчас идут две трансляции с потоковых адресов через мой VPS на ютуб. Там не всё так сладко выглядит , особенно про несколько часов при обрыве потока ))

symon2014 ★★
()
Ответ на: комментарий от zx_gamer

Вы либо хотите, чтобы у всех работало, либо хотите использовать Macromedia Flash. Не вместе.

Ghostwolf ★★★★★
()
Ответ на: комментарий от symon2014

идут две трансляции

Не несколько часов, но до часа точно держится

сколько рекорд максимально продолжительности? мой 303 дня, из дома.

yandrey
()
Последнее исправление: yandrey (всего исправлений: 1)
Ответ на: комментарий от yandrey

Мы наверно говорим о разном. Видимо у тебя контент свой , залитый на машину. А я беру поток из сети. И если он оборвётся , то ютубная трансляция будит тупо крутиться на одном кадре. Наверно очень долго . Но это не то что мне нужно. systemd у меня на сервере отслеживает и перезапускает входной поток максимум в течении 2 минут Больше нет смысла. А бывает что потоковые адреса тупо устаревают или тухнут. В интернетах всяко бывает ))

symon2014 ★★
()
Ответ на: комментарий от symon2014

И если он оборвётся

На случай обрыва, нужно генерировать какой нибудь статичный или повторяющийся поток с заглушкой.

Видимо у тебя контент свой , залитый на машину

с локальной камеры

yandrey
()
Последнее исправление: yandrey (всего исправлений: 1)
Ответ на: комментарий от yandrey

Мне это напомнило сцену из импортной глупой комедии кажется из серии Голый пистолет. Про двух полицейских. Старого и седого , и молодого негра. Там есть сценка , как негр из кольта , при помощи разных приспособ , в конце концов собрал безоткатную пушку ))

symon2014 ★★
()
Ответ на: комментарий от symon2014

серии Голый пистолет

Вообще не любитель комедий, но эту серию обожаю)

alex1101
()
Ответ на: комментарий от symon2014

Никаких приспособ, один ffmpeg, отправка только через hls, позволяет легко и просто добиться безотказности ))

yandrey
()
Ответ на: комментарий от yandrey

У меня тоже один ffmpeg + 3 разных VPN ))

А тем временем ТС приутих , наверно начитался жути в теме ))

symon2014 ★★
()

На сервере ставь nginx, ставь js видео-плеер (чтобы hls кругом открывался), а с компа - фигачь ffmpeg-ом на сервер.

PS: Без JS HLS видео нормально будет работать только на айфонах.

alexmaru
()
Последнее исправление: alexmaru (всего исправлений: 1)

У… Да я смотрю народ не в теме, что можно сделать следующее: вставить через object флэш, а уже в него object с видео MP4. Тогда у кого есть флэш, будет работать флэш, а у кого нет, будет работать просто видео.

По делу, а именно, как застримить ffmpeg’ом FLV и простеньким плеером это показать, пока никто сказать не может…

zx_gamer ★★★
() автор топика
Ответ на: комментарий от zx_gamer

Ну давай как пример:

  1. Убедись, что у тебя есть открытый внешний порт.
  2. Подними на локальном компе nginx, на этом порту, укажи, чтобы он смотрел в какую-то директорию.
  3. ffmpeg -i udp://источник -map 0:0 -vcodec libx264 -vb 5000k -maxrate 3000k -bufsize 3500k -pix_fmt yuv420p -level 40 -map 0:1 -acodec copy -map 0:2 -acodec copy -hls_list_size 0 -hls_segment_filename «file%03d.mp4» путь-к-результату.m3u8

С этого момента внешний мир уже видит твой стрим в HLS.

  1. Берёшь nginx на сервере.
  2. Пишешь ему location с прокси до твоего компа - и тут он уже начинает проксировать твой поток.

А с FLV - у GPT спроси, не маленький.

alexmaru
()
Ответ на: комментарий от alexmaru

А с FLV - у GPT спроси, не маленький.

На всем ЛОРе нет ни одного action script программиста, серьезно?

zx_gamer ★★★
() автор топика
Ответ на: комментарий от symon2014

Да, на сайте 1) просто видео поток, который можно открыть в современном браузере, 2) флэш-программа, которая может показывать в плагине flash player’а видео-поток, получаемый по сети.

zx_gamer ★★★
() автор топика

желательно чтобы работал в Macromedia Flash 7

заканчивался 2023 год

user13
()
Ответ на: комментарий от zx_gamer

Флеш ни у кого работать не будет. А вот html5 это как раз про «работать».

ox55ff ★★★★★
()
Ответ на: комментарий от zx_gamer

Ну ничего, покопротивляешься и сделаешь как я тебе подсказал.

ox55ff ★★★★★
()
Ответ на: комментарий от zx_gamer

Чтобы запустить флеш, нужно для начала вернуться в 2011-й.

О, кстати, для стрима в стиле 2011-го можешь раскопать flussonic, последнюю открытую версию.

alexmaru
()

Кстати, а прегенерация any2gif и простенький js кто-то пробовал? Работать будет 146% даже на утюге.

Anoxemian ★★★★★
()
Ответ на: комментарий от Anoxemian

Во-первых не будет звука, а во-вторых вы представляете сколько будет весить видео без кодека?

zx_gamer ★★★
() автор топика
Ответ на: комментарий от ox55ff

Это лучшее, что есть на текущий день.

zx_gamer ★★★
() автор топика
Ответ на: комментарий от zx_gamer

Хочу чтобы у всех работало

Тогда стримь через ютуб и не выделывайся. Иначе придется разгребать проблемы типа что некоторые андроид телефоны не хотят показывать видео, если оно больше разрешения экрана.

goingUp ★★★★★
()
Ответ на: комментарий от goingUp

У сайта нет мобильной версии. Если и будет, то только WML и 3gp (опять-таки чтобы у всех работало).

zx_gamer ★★★
() автор топика
Ответ на: комментарий от zx_gamer

Это уже даже не «бронзовый» век с такими запросами.

symon2014 ★★
()
Ответ на: комментарий от zx_gamer

Короче во времена флеша я юзал rtmp модуль nginx, видео туда можно стримить ffmpeg просто указать вместо имени файла rtmp://bla-bla на твой сервер с nginx. На сайт вставлялся какой-то опенсорсный js плеер с поддержкой флеша. Все, брат, больше тебе ни чем помочь не могу покойся с миром)

goingUp ★★★★★
()
Ответ на: комментарий от zx_gamer

WML и 3gp (опять-таки чтобы у всех работало)

У кого ВСЕХ? У луддитов которые застряли в 2007 году на Nokia?

Android и iOS не поддерживают WAP и WML. А эти OS сегодня занимают 70% и 30% рынка соответственно. А Nokia из 2007 года занимает 0%

https://gs.statcounter.com/os-market-share/mobile/worldwide

Так про каких «всех» идёт речь?

EXL ★★★★★
()
Последнее исправление: EXL (всего исправлений: 2)
Ответ на: комментарий от alexmaru

PS: Без JS HLS видео нормально будет работать только на айфонах.

Пофиксил

ya-betmen ★★★★★
()

Чё-то вспомнился анекдот про комсомольца на лыжах и в гамаке.

Nervous ★★★★★
()

Где-то сохранились примеры готовых плееров. Поищи. Даже в книге какой-то было описано как это сделать. Я такой штукой интересовался в 2004 году.

dicos ★★
()
Ответ на: комментарий от static_lab

Допустимо, но лучше

<?xml version="1.0" encoding="koi8-r"?>
zx_gamer ★★★
() автор топика
Ответ на: комментарий от max_lapshin

Тогда вы общаетесь со мной на несуществующем сайте, ибо LOR без последнего прекрасно работает.

zx_gamer ★★★
() автор топика
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.