ffmpeg - Experiences on building a video recorder for RTSP/RTP streams? -


i have store continuous video streams many ip cameras, video encoded in h.264 , audio in aac or mp3. recorded videos played on mobile devices on browsers.

  • what best strategy build scalable recorder service ?

  • what best storage format? mp4 ?

  • should convert video directly mp4 ? or better store raw rtp ?

  • whats best way ensure best reliability , less frame loses , avoid lost of sync between audio , video ?

  • i want hear similar experiences

thanks!

  • what best strategy build scalable recorder service ?

globally, 1 physical device (pc i.e) running main controller dameon, spawning 1 dedicated recorder camera. performance, in mono-device case, seems quite common me.

  • what best storage format? mp4 ?

resolution, compression, quality complex question can partially reducted simple maths :

writing capacity = number or hard drive * hdd write bandwith - number of camera * encoded video bandwith.

one other way of taking storage limit :

storage limit = number or hard drive * hdd capacity - number of camera * encoded video bandwith * time.

you should check connection between device , cameras : ethernet limit = 100mbps - number of camera * rawvideo bandwith.

considering mp4, need compare it's visual quality other format @ equal bandwich, seems choice.

  • should convert video directly mp4 ? or better store raw rtp ?

i think there no need store raw datas in of cases. point may depend of cpu/gpu part of hardware.

what first limit reach : hdd size , writing speed, or encoding speed limit ?

if can't encode fast enough, there no other choice writing raw. if can't write raw, no other choice encoding. won't able : lower resolution, upgrade hardware, use less cameras :)

note cameras can give different format, more or less ready use. there world between raw yuvs , mjpeg !

last point : if application rely on multiple physical device, "smaller" of them can specialized on acquisition while bigger can collect, convert , store data.

  • whats best way ensure best reliability , less frame loses , avoid lost of sync between audio , video ?

buy cameras. don't use long wires if there wire. take care of them both. don't use more cameras system can manage.

  • i want hear similar experiences

i'm working on embedded device running linux, managing 4 usb cameras. needed interactive overlayed interface on video, switched ffmpeg own python script. product on market, prototype sold. increase performance (the fps low perfect, due display , overlay), i'm working on c version of program.

we have differences in our project : don't need save streams, pictures. display 1 camera @ time on screen, there no need use sub-process each camera, need. won't able more precise on these points. experience : don't want specific developpement project concerning video conversion , capture. question tagged ffmpeg, stick long can need.

your question has been down-voted being wide, when conceiving new service, many questions legitimate ask, less documented pure code.


Comments

Popular posts from this blog

jOOQ update returning clause with Oracle -

java - Warning equals/hashCode on @Data annotation lombok with inheritance -

java - BasicPathUsageException: Cannot join to attribute of basic type -