LINUX.ORG.RU
ФорумAdmin

Перенаправление потока.


0

0

Здравствуйте.
В цикле ffmpeg с сетевого потокового ресурса ловит сигнал и записывает его в файлы по 1 минуте. Но на перезапуск ffmpeg тратится время и если потом воспроизводить подряд эти записанные файлы, то видно, что пропадает от 5 до 10 секунд ~ 200 кадров.
Надо сделать так, что бы кадры не пропадали, для этого надо исключить перезапуск ffmpeg. Может у него есть ключик, который позволяет резать сжимаемое видео "на лету" на куски? Думал писать в pipe файл, а из него раз в минуту перенаправлять в др файл, только не знаю как это реализовать. Возможно есть другие решения, подскажите.


С помощью пайпа или fifo не получится, т.к. поток будет обрываться на середине фрейма и начало/конец у кусков будут битые (а может куски и вобще не будут играться, зависит от формата в который ты кодируешь).

Можно писать большой файл, а уже потом разбивать его на части.

Если устроит что будет небольшой «излишек» в начале файлов, то можно сделать как-то так:

for (( a=1;1;a=$((a+1)) )) do
  ffmpeg -t 60 .... outfile.$a &
  sleep $((60-10))
done
Nao ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.