LINUX.ORG.RU

Убийство видео в потоке )

 


0

1

Привет.

Завел себе в голове глупую затею. Нужно с помощью ffmeg задушить видео. Выглядит задумка примерно так - Есть поток типа m3u8 , там видео и аудио. Хочется вместо видео зациклить статическую картинку и оставить аудиопоток , и транслировать дальше. Есть ещё отдельный поток радио , типа аас кажись , но я его вообще не представляю как втулить в коману ffmeg.

Только без тапок и камней ))

Хочется вместо видео зациклить статическую картинку и оставить аудиопоток , и транслировать дальше

Такой же принцип на Coub. Мой пример с ffmpeg, yt-dlp и mpv, Coub закрывается (комментарий).

krasnh ★★★★★
()
Последнее исправление: krasnh (всего исправлений: 2)

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

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

такое нужно для научных экспериментов… какие эксперименты проводищшь ты? я могу понять - убрать звук и оставить видео, но ты же хочешь наоборот… это для слепых что ли?

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

параметрами ffmpeg никак не выходит ))

Похоже на лень думать и пробовать )) что не выходит, на каком этапе загвоздка?

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

А ChatGPT что говорит? Или у него еще праздники, он ленится работать и тупо доедает тазик с оливье?

Или зачем нам Роботы, когда ‘кожаные мешки’ быстренько помогут? )

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

У чата гпт мозгов нет , он ищет в интернете ту же самую фигню , которую я вижу и без него. Ну а что навалено в интернете , сам видел.

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

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

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

пример, делаем видео из кадра

ffmpeg -i http://hls-igi.cdnvideo.ru/igi/igi_hq/playlist.m3u8 -frames:v 1 -an -c:v h264 -preset veryfast -tune stillimage -r 25 -g 50 -t 2 video.mp4

делаем поток из этого видео и аудиопотока

ffmpeg -stream_loop -1 -i video.mp4 -stream_loop 0 -i http://hls-igi.cdnvideo.ru/igi/igi_hq/playlist.m3u8 -map 0:v -map 1:a -c copy out.mp4
yandrey ★★
()
Ответ на: комментарий от yandrey
ExecStart=ffmpeg  -re loop 1 -i /home/symon2014/symon.jpg -i http://blablabla.m3u8 -map 0:1 -c:a copy -f flv  rtmp://x.rtmp.youtube.com/live2/key

Пример последней пробы ))

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

Мне не в файл нужно. И ещё , если я указываю h264 для обработки , то у меня проц на сервере поднимается к сотке )

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

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

кодирование там секундное 1 кадра, не нагрузит оно сервер

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

Если я понял правильно , первая команда просто вырезает видеофайл на 1 сек. А вторая использует его как заставку. Но я не вижу во второй команде того , что видео из потокового адреса обрезается , и идёт только аудио. Я конечно попробую чуть погодя применить твои параметры. И ещё , вместо секундного видео я же могу вставить просто картинку ?

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

Или -map 0:v без -с параметров не пропустит видео ?

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

невнимательно прочитал, думал картинку тоже из потока, тогда так:

ffmpeg -framerate 1/2 -i image.jpg -c:v h264 -preset veryfast -tune stillimage -r 25 -g 50 -t 2 video.mp4


ffmpeg -re -stream_loop -1 -i video.mp4 -stream_loop 0 -i http://hls-igi.cdnvideo.ru/igi/igi_hq/playlist.m3u8 -map 0:v -map 1:a -c copy -f flv  rtmp://x.rtmp.youtube.com/live2/key

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

сделать 2-х секундное видео из картинки с одним опорным кадром, чтобы потом его циклически транслировать

сразу из картинки не получится

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

Словами я понял это так. Создать из картинки короткое видео с определёнными параметрами для использования во второй команде. Так ?

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

ffmpeg -loop 1 -i image.jpg ... это же абсолютно нецелесообразное расходование ресурсов, так постоянно идёт кодирование видео из картинки, нужно использовать готовое видео

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

Картинку сделал в Fooocus и скрестил её со своей фоткой , чтоб черты лица добавить. Получилось неплохо)) Вылитый бизнесмен ))

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

В разных гайдиках и хаутушках такого ничего не обьясняют , тупо копипастят чужие пересказы ))

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

Почему я и подробно расспрашиваю , у меня дешманский впс в польше. ЦПУ 1х3г и 1г рамы , стоит дебиан 11 , приходится экономить ресурсы ))

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

Не катит эта вторая команда

ffmpeg -re -stream_loop -1 -i /home/symon2014/symon.mp4 -stream_loop 0 -i http://blabla.m3u8 -map 0:v -map 1:a -c copy -f flv  rtmp://x.rtmp.youtube.com/live2/key
symon2014 ★★
() автор топика
Ответ на: комментарий от symon2014

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

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

вряд ли что освоишь

Не вижу желания и стремления, за пару месяцев освоил все особенности трансляции c помощь ffmpeg, есть несколько нюансов которые нигде не написаны, но вцелом всё просто ))

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

Сложно почти 62 летнему электрику следить за ньюансами ffmpeg ))

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

создавать новые кадры?

С новыми кадрами надо менять отправку с rtmp на hls, тогда можно ненадолго прерываться для создания нового кадра без остановки трансляции, главное чтобы сегменты были точно равны по продолжительности.

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

Спасибо. Разобрался. Сам лошара. Упустил досадную мелочь. В твоей команде написано video.mp4 . Создал с ним , а в команде написал symon.mp4. Короче сам лошара , с утра попил чайку , почитал , подготовил всё на ноуте , запустил руками , и оно пошло. Тогда и нашёл этот мелкий косяк на сервере. Проц забирает всего 1.5 процента , значит видео точно не идёт.

Короче Спасибо!!!

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

Делается просто:

1. Из картинки делается короткое видео 1сек 10fps(или другие)

2. В ffmpeg'е оно зацикливается и добавляется аудио(Радио)

3. Кодируется и транслируется куда угодно.

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

Картинка ни при чём. Причём твоя манера давать совет ни о чём. Выглядит примерно так - хочешь сделать , сделай , фиг ли тут такого.

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