LINUX.ORG.RU

Видеорегистратор из cvlc

 ,


1

1

Всем добра!
Есть задача: писать с камеры поток в файл с разбитием по размеру, добавлением префикса даты/времени, и желательно, удалением старых файлов по времени или нехватки свободного места.
Как это всё реализовать на cvlc?

Просто запись работает так:

cvlc  v4l2:// :v4l2-dev=/dev/video0 --sout '#transcode{vcodec=theo,vb=2048}:file{access=file,mux=ogg,dst=out.ogg}' --sout-keep

нормально, это 3 всего строчки на баше, но возьмите хотя бы ffmpeg (я бы рекомендовал libav, однако лично мне пришлось от него отказаться по целому ряду причин ещё несколько лет назад)

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

А подробнее можно? Найти доки по ffmpeg я могу, но хоть в какую сторону копать?
И получается, что на cvlc это невозможно?
Или ты предлагаешь из cvlc транслировать в ffmpeg?

Strannik-j ★★ ()
#!/bin/sh

mkdir -p -m 777 "/var/www/storage/Двор_131"
mkdir -p -m 777 "/var/www/storage/Двор_131/`date +%d-%m-%Y`"
kill -TERM $(cat /var/run/rtsp_cam58_web.pid)
/usr/bin/sudo -u www-data cvlc --daemon -vv --no-rtsp-tcp "rtsp://192.168.80.62/?user=user&password=user&channel=1&stream=0.sdp" --run-time=3600 --http-reconnect --rtsp-caching=10000 --repeat --loop --no-sout-audio --sout '#duplicate{dst=file{dst="/var/www/storage/Двор_131/%d-%m-%Y/%H_%M_%S.avi",mux="ts"}:transcode{vcodec=FLV1,vb=2048,fps=25}:dst=standard{access=http,dst=:9148/cam58.flv,mux=ffmpeg{mux=flv}}'. --pidfile /var/run/rtsp_cam58_web.pid  --no-sout-rtp-sap --no-sout-standard-sap

У меня реализованно примерно так.

pavel38 ()