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
Post a Comment