Форум русскоязычного сообщества Ubuntu


Хотите сделать посильный вклад в развитие Ubuntu и русскоязычного сообщества?
Помогите нам с документацией!

Автор Тема: Ретрансляция потоков средствами ffmpeg  (Прочитано 2072 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн netkovali

  • Автор темы
  • Новичок
  • *
  • Сообщений: 6
    • Просмотр профиля
Необходимо ретранслировать поток HLS вида (пример) http://video.com/live/index.m3u8 и транслировать его в rtmp://meserv/live/stream  Всё это было успешно реализовано ffmpeg + nginx + rtmp примерно так:
ffmpeg -re -i http://video.com/live/index.m3u8 -acodec copy -bsf:a aac_adtstoasc -vcodec copy -f flv rtmp://meserv/live/stream
и всё прекрасно работает, но.. в последнее время появилась необходимость ретранслировать сразу 5 потоков и тут я завис. Создал файл с несколькими командами ffmpeg, сделал его исполняемым и потерпел сокрушительное поражение так как запускалась только первая команда. Как быть и что делать ? Заранее благодарю. 

Оффлайн zotkindm

  • Старожил
  • *
  • Сообщений: 2452
  • (K)Ub 14.04
    • Просмотр профиля
Re: Ретрансляция потоков средствами ffmpeg
« Ответ #1 : 30 Август 2016, 15:52:29 »
Ну дак сделай 5 скриптов, и один шестой на запуск всех.

Оффлайн netkovali

  • Автор темы
  • Новичок
  • *
  • Сообщений: 6
    • Просмотр профиля
Re: Ретрансляция потоков средствами ffmpeg
« Ответ #2 : 30 Август 2016, 16:05:27 »
Ну дак сделай 5 скриптов, и один шестой на запуск всех.

сделал, из 5ти скриптов работает только один

Пользователь добавил сообщение 30 Август 2016, 16:25:59:
получилось ретранслировать 2 потока вот так:
1 поток - прописал команду- ffmpeg -re -i http://video.com/live/index.m3u8 -acodec copy -bsf:a aac_adtstoasc -vcodec copy -f flv rtmp://meserv/live/stream  в /etc/rc.local
2 поток - ffmpeg -re -i http://video.com/live/index.m3u8 -acodec copy -bsf:a aac_adtstoasc -vcodec copy -f flv rtmp://meserv/live/stream2 запустил из консоли.

При попытке запустить 3 поток ругается на неизвестную ошибку.
« Последнее редактирование: 30 Август 2016, 16:25:59 от netkovali »

Оффлайн zotkindm

  • Старожил
  • *
  • Сообщений: 2452
  • (K)Ub 14.04
    • Просмотр профиля
Re: Ретрансляция потоков средствами ffmpeg
« Ответ #3 : 30 Август 2016, 16:42:31 »
Не помешало бы ошибку увидеть

Оффлайн netkovali

  • Автор темы
  • Новичок
  • *
  • Сообщений: 6
    • Просмотр профиля
Re: Ретрансляция потоков средствами ffmpeg
« Ответ #4 : 30 Август 2016, 16:56:56 »
Не помешало бы ошибку увидеть
магия блин, запустил 3 потока, один через rc.local, второй и третий через ssh (putty) под разными сессиями! https://yadi.sk/i/PVIsw8fKubxtv
возможно ошибка была глюком. как теперь собрать это в один скрипт который будет стартовать при загрузке? делал .sh работает, но только первый по списку поток.

Оффлайн zotkindm

  • Старожил
  • *
  • Сообщений: 2452
  • (K)Ub 14.04
    • Просмотр профиля
Re: Ретрансляция потоков средствами ffmpeg
« Ответ #5 : 30 Август 2016, 17:20:59 »
Может в одну строку все, между командами && ставить

Оффлайн netkovali

  • Автор темы
  • Новичок
  • *
  • Сообщений: 6
    • Просмотр профиля
Re: Ретрансляция потоков средствами ffmpeg
« Ответ #6 : 30 Август 2016, 17:28:04 »
Может в одну строку все, между командами && ставить

не (( всё равно запускается только один поток

Оффлайн Peter_I

  • Старожил
  • *
  • Сообщений: 1801
    • Просмотр профиля
Re: Ретрансляция потоков средствами ffmpeg
« Ответ #7 : 30 Август 2016, 21:26:53 »
А если просто каждый скрипт из своего терминала?
Пётр.

Оффлайн netkovali

  • Автор темы
  • Новичок
  • *
  • Сообщений: 6
    • Просмотр профиля
Re: Ретрансляция потоков средствами ffmpeg
« Ответ #8 : 30 Август 2016, 23:48:21 »
А если просто каждый скрипт из своего терминала?
работает! и вот как это выглядит https://yadi.sk/i/PVIsw8fKubxtv

Оффлайн netkovali

  • Автор темы
  • Новичок
  • *
  • Сообщений: 6
    • Просмотр профиля
Re: Ретрансляция потоков средствами ffmpeg
« Ответ #9 : 28 Декабрь 2016, 15:08:01 »
получилось! в /etc/init.d создал файлик в который прописал:
ffmpeg -re -i http://stream.ru/index.m3u8 -c copy -f hls -hls_list_size 3 -hls_wrap 5 -y /usr/local/nginx/html/stream0.m3u8
в файлике прописаны 3 потока через sleep 1, запускается всё это при старте системы.

через пару часов ретрансляция сама отваливается! лечится перезагрузкой, но это не по людски(((( буду думать дальше

Оффлайн ReNzRv

  • Старожил
  • *
  • Сообщений: 1971
    • Просмотр профиля
Re: Ретрансляция потоков средствами ffmpeg
« Ответ #10 : 28 Декабрь 2016, 17:43:59 »
Цитировать
через пару часов ретрансляция сама отваливается! лечится перезагрузкой
Запиши команду в цикл:
Код: Text
  1. while true
  2. do
  3. ffmpeg -re -i http://stream.ru/index.m3u8 -c copy -f hls -hls_list_size 3 -hls_wrap 5 -y /usr/local/nginx/html/stream0.m3u8
  4. done
  5.  
и при любом падении трансляции будет всегда перезапускатся.

 

Страница сгенерирована за 0.059 секунд. Запросов: 26.