RU.LINUX----------------- < Пред. | След. > -- < @ > -- < Сообщ. > -- < Эхи > --
 Nп/п : 85 из 100
 От   : Dmitriy Romanov                     2:6078/1          17 дек 23 09:21:20
 К    : Andrey Mundirov                                       17 дек 23 10:41:02
 Тема : zoneminder и кодеки
----------------------------------------------------------------------------------
                                                                                 
@MSGID: 2:6078/1 657ea413
@REPLY: 2:5059/38 65727b5b
@CHRS: CP866 2
@TZUTC: 0200
@TID: hpt/w32-mvcdll 1.4.0-sta 16-02-06

Приветики, 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)
SEEN-BY: 46/49 50/361 221/6 240/1120 250/25 301/1
341/66 450/1024 452/28
SEEN-BY: 455/19 460/58 463/68 467/888 478/0 37
5000/111 5001/100 5005/33 49
SEEN-BY: 5005/77 5010/352 5015/35 42 46 5019/40
400 5020/101 113 545 620 715
SEEN-BY: 5020/830 846 848 1042 1721 2038 2992
4441 12000 5022/128 5030/49 115
SEEN-BY: 5030/500 1081 1474 1900 5031/71 5036/26
5049/6 5050/151 5053/51 55
SEEN-BY: 5053/58 5054/8 89 5058/104 108 5059/37
5060/900 5061/133 5083/1 444
SEEN-BY: 6035/4 6078/0 1 2 47 80 6090/1
@PATH: 6078/1 5020/830 1042 4441



   GoldED+ VK   │                                                 │   09:55:30    
                                                                                
В этой области больше нет сообщений.

Остаться здесь
Перейти к списку сообщений
Перейти к списку эх