Добро пожаловать, Гость. Пожалуйста авторизуйтесь здесь.
FGHIGate на GaNJa NeTWoRK ST@Ti0N - Просмотр сообщения в эхоконференции RU.LINUX
Введите FGHI ссылку:


Присутствуют сообщения из эхоконференции RU.LINUX с датами от 24 Jan 02 06:01:34 до 09 May 24 04:21:10, всего сообщений: 8280
Ответить на сообщение К списку сообщений Предыдущее сообщение Следующее сообщение
= Сообщение: 8264 из 8280 ========================================= RU.LINUX =
От   : Dmitriy Romanov                  2:6078/1           17 Dec 23 09:21:20
Кому : Andrey Mundirov                                     17 Dec 23 09:21:20
Тема : zoneminder и кодеки
FGHI : area://RU.LINUX?msgid=2:6078/1+657ea413
На   : area://RU.LINUX?msgid=2:5059/38+65727b5b
= Кодировка сообщения определена как: CP866 ==================================
Ответ: area://RU.LINUX?msgid=2:5059/38+657fbe92
==============================================================================

Приветики, Andrey!


Писал как-то Andrey Mundirov к Dmitriy Romanov  примерно 08 Дек 23  в 05:07
А я смотрю и фигею.

AM> Вот как-то так. ffmpeg захватывает, жмет и пишет на диск. А клиентам с
AM> диска
AM> раздает nginx.

AM> #!/bin/sh

AM> ROOT_DIR="/var/www/video"
AM> ARCHIVE_DIR=$ROOT_DIR/archive
AM> STREAM_DIR=$ARCHIVE_DIR/`date +%Y%m%d%H%M`

AM> mkdir "$STREAM_DIR" || exit 1

AM> CAPTURE_OPTIONS="-f video4linux2 -channel 1 -s 720x576 -i /dev/video0
AM> -thread_queue_size 1024 -f alsa -ar 44100 -ac 2 -i hw:0,0"

AM> STREAM_OPTIONS="-f hls -vf crop=700:570:8:5 -c:a aac -ar 44100 -b:a 128k
AM> -c:v libx264 -g 48 -keyint_min 48 -b:v 1250k -maxrate 1600k -bufsize 3200k
AM> -pix_fmt yuv420p -hls_time 10 -hls_playlist_type event -hls_segment_filename
AM> $STREAM_DIR/video%04d.ts $STREAM_DIR/stream.m3u8"

AM> /opt/ffmpeg/bin/ffmpeg $CAPTURE_OPTIONS $STREAM_OPTIONS

Интересное решение, но есть несколько но.
1. Как у него с задержкой? Я так понимяу, что задержка будет минимум на длину одного фрагмента. Чем длиннее фрагмент,
тем больше задержка, а чем короче, тем потом неудобнее пользоваться сохраненным архивом.
2. А будет ли оно работать, если вместо libx264 будет mpeg4 ? У меня все уперлось в эту проблему.
Пока что изобразил решение на базе ffserver. Но ни в одном браузере ни с одним плеером в mpeg4 не хочет показывать. Вот
с libx264 - то пожалуйста сколько угодно. Но у меня была первоочередная задача уйти от использования libx264 в любых
его проявлениях, ибо у меня и в один то поток в реальном времени не тянет, а хотелось бы их 16 запихнуть. mpeg4
прекрасно справляется с задачей, разве что при приемлимом качестве картинки объем несколько больше получается, но это
решается экстенсивным апгрейдом простым добавлением диска.
Так что на текущий момент остаются две задачи:
1. Как научить ffserver воспринимать фильтры, в частности мне надо в момент перед кодированием наложить дату-время на
видео. При записи - уже не вариант, это надо раскодировать поток и снова кодироать.
2. Как в браузере отображать поток в mpeg4 а не в H264? Может какие плагины есть. Использовать отдельный плеер весьма
неудобно в связи с тем, что надо одновременно на одном экране несколько потоков показывать, причем чтобы каждый раз не
раскладывать плееры по экрану, а заранее сконфигурировать расположение, и чтобы при старте оно автоматом открывалось в
нужной конфигурации.

При этом задачу как вкрутить ffserver туда, где его не предусмотрено, ничего при этом не поломав, я уже осилил решить
самостоятельно =)

      Hа сем разрешите письмо закончить.   Elec (RA2FDR)
--- NoSFeRaTU's GoldED+/W32-MINGW 1.1.5-b20090603
* Origin: В свинарнике не стыдно быть свиньей (2:6078/1)

К главной странице гейта
Powered by NoSFeRaTU`s FGHIGate
Открытие страницы: 0.058859 секунды