2016-07-25 18 views
-2

我必须存储来自许多网络摄像机的连续视频流, 视频采用H.264编码,音频采用AAC或MP3格式。 录制的视频将主要在移动设备上播放,但也会在浏览器上播放。构建RTSP/RTP流录像机的经验?

  • 构建可扩展录像机服务的最佳策略是什么?

  • 什么是最好的存储格式? mp4?

  • 我应该直接将视频转换为MP4吗?或者更好地存储RAW RTP?

  • 什么是确保最佳可靠性和减少帧丢失并避免音频和视频之间同步丢失的最佳方法?

  • 我也想听到类似的经历

谢谢!

+1

它太宽泛,偏离主题和主要意见为基础。 – mpromonet

回答

0
  • 什么是构建可扩展录像机服务的最佳策略?

全球范围内,一台物理设备(PC机)运行主控制器dameon,通过摄像头产生一个专用记录器。 对于性能,在单一设备的情况下,我觉得这很常见。

  • 什么是最好的存储格式? mp4?

分辨率,压缩,质量是复杂的问题,可以部分地还原后,以简单的数学:

书写容量=数目或硬盘驱动器HDD *写入带宽 - 相机*编码的视频带宽的数量。的服用

的另一种方式是存储限制:

存储限制=数目或硬盘驱动器HDD *容量 - 相机的数目*编码的视频带宽*时间。

您还应该检查设备和摄像机之间的连接: 以太网限制= 100Mbps - 摄像机数* rawvideo带宽。

考虑到mp4,你需要比较它的视觉质量与其他格式在相同的bandwich,但它似乎是一个不错的选择。

  • 我应该直接将视频转换为MP4吗?或者更好地存储RAW RTP?

我认为没有必要在大多数情况下存储RAW数据。 但是,这一点可能取决于硬件的CPU/GPU部分。

您将达到的第一个限制:硬盘大小和写入速度,或编码速度限制?

如果编码速度不够快,除写入RAW之外别无选择。 如果你不能写入Raw,除编码外没有别的选择。 有时候你将无法做任何事情:降低分辨率,升级硬件,使用更少的摄像机:)

请注意,相机可以提供不同的格式,或多或少的准备使用。原始YUV和MJPEG之间有一个世界!最后一点:如果您的应用程序依赖于多个物理设备,则“较小”的应用程序可以专门用于获取,而较大的可以收集,转换和存储数据。

  • 请告诉我,以确保最佳的可靠性和更少的框架最好的办法失去 ,避免丢失的音频和视频之间的同步?

买好的相机。如果有电线,请勿使用太长的电线。照顾他们两个。不要使用比您的系统可以管理的更多的照相机。

  • 我也想听到类似的经历

我目前正在对嵌入式设备运行Linux管理多达4个USB摄像头。 因为我需要一个交互式覆盖界面在我的视频,我从ffmpeg切换到我自己的python脚本。这款产品即将上市,所有原型已经售出。 为了提高性能(FPS太低而不能完美,主要是由于显示和覆盖),我目前正在开发C版本的程序。

我们在项目中有一些差异:我不需要保存流,只有图片。当我在屏幕上显示一个摄像头时,也不需要为每个摄像头使用子过程,因为您需要。所以我不能在这些方面更精确。 从经验:你不想为你的项目做任何有关视频转换和捕获的具体开发。你的问题被标记为ffmpeg,只要它能够满足你的需求就坚持。

您的问题已被低估为宽泛,但在构思新服务时,许多问题都是合法要求的,因为它们比纯代码少。