标签: video-processing

OpenCV不报告准确的帧速率/计数

我有一个33秒的视频,我正在尝试使用OpenCV处理.我的目标是确定每个帧对应的时间实例(相对于视频的开头).我这样做是为了能够比较以不同帧速率录制的同一场景的视频中的帧.

什么工作:

  • FPS正确报告为59.75.这与ffprobe报告一致,所以我很高兴相信这是正确的.

我遇到的问题是:

  • CAP_PROP_POS_MSEC返回不正确的值.截至视频结束时,最高可达557924毫秒(超过9分钟).对于33s的视频,这可能不对.
  • CAP_PROP_FRAME_COUNT也是不正确的.它被报道为33371,以59.75 fps的速度拍摄超过9分钟的镜头.与上述错误一致,但仍然不正确.
  • CAP_PROP_POS_FRAME 同样不正确.

视频可以在这里找到(大约10MB).

关于什么可能出错的任何想法?

ffprobe 输出:

FFprobe version SVN-r20090707, Copyright (c) 2007-2009 Stefano Sabatini
  libavutil     49.15. 0 / 49.15. 0
  libavcodec    52.20. 0 / 52.20. 1
  libavformat   52.31. 0 / 52.31. 0
  built on Jan 20 2010 00:13:01, gcc: 4.4.3 20100116 (prerelease)
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/home/misha/Dropbox/Public/sequence.mp4':
  Duration: 00:00:33.37, start: 0.000000, bitrate: 2760 kb/s
    Stream #0.0(und): Video: h264, yuv420p, 1920x1080, 59.75 tbr, 1k tbn, 2k tbc
    Stream …
Run Code Online (Sandbox Code Playgroud)

c++ video opencv video-processing

13
推荐指数
1
解决办法
1万
查看次数

使用卡尔曼滤波器跟踪对象的位置,但需要知道该对象的位置作为卡尔曼滤波器的输入.到底是怎么回事?

我正在尝试研究如何使用卡尔曼滤波器跟踪我自己在视频序列中移动的物体(球),所以请在我小时候向我解释.

  • 通过一些算法(颜色分析,光流......),我能够得到每个视频帧的二进制图像,其中有跟踪对象(白色像素)和背景(黑色像素) - >我知道对象大小,对象质心,对象位置 - >只需简单地在对象周围绘制一个边界框 - >完成.为什么我需要在这里使用卡尔曼滤波器?

  • 好吧,有人告诉我,因为我无法通过噪声检测每个视频帧中的物体,我需要使用卡尔曼滤波器来估计物体的位置.好的.但据我所知,我需要为卡尔曼滤波器提供输入.它们是先前的状态和测量.

    • 以前的状态(所以我认为它是前一帧中物体的位置,速度,加速度) - >好的,这对我来说没问题.
    • 当前状态的测量:这是我无法理解的.可以测量什么? - 物体在当前帧中的位置?这很有趣,因为如果我知道对象的位置,我只需要在对象周围绘制一个简单的边界框(矩形).为什么我在这里需要卡尔曼滤波器?因此,不可能将当前帧中的对象的位置作为测量值. - "视频监控系统中基于卡尔曼滤波器的跟踪"文章说

      卡尔曼滤波块的主要作用是为从光流分析块进入系统的每个测量分配跟踪滤波器.

      如果您阅读完整的论文,您将看到作者将blob的最大数量和blob的最小大小作为卡尔曼滤波器的输入.这些参数如何用作测量

我想我现在处于循环中.我想使用卡尔曼滤波器来跟踪物体的位置,但我需要知道该物体的位置作为卡尔曼滤波器的输入.到底是怎么回事?

还有一个问题,我不理解术语"卡尔曼滤波器的数量".在视频序列中,如果有2个对象需要跟踪 - >需要使用2个卡尔曼滤波器吗?这是什么意思?

image-processing object video-processing kalman-filter

13
推荐指数
3
解决办法
2万
查看次数

如何使用AVCaptureSession从文件中读取视频?

我正在编写一个应用程序,使用AVCaptureSession带有AVCaptureVideoDataOutput输出和AVCaptureDeviceInput视频文件(它不再需要实时)作为输入进行一些实时视频处理.

是否可以将视频文件用作输入AVCaptureSession而不是相机?如果不可能,使用视频捕获opencv on iOS(同时或顺序)处理视频文件的最佳方法是什么?

opencv video-processing ios

13
推荐指数
1
解决办法
860
查看次数

如何在android中以编程方式上传到服务器之前减小视频大小

我想将视频上传到服务器,当我从图库中捕获视频或从相机记录时,服务器响应我的错误,但是当我上传大小为2 MB的视频时,它正在成功上传.如何压缩视频以减小尺寸?我从脸书上传了视频,我手机上的视频大小为140 MB,但是脸书对视频进行了处理并将其大小减小到1.35 MB

android video-processing

13
推荐指数
1
解决办法
2万
查看次数

如何使用 ffmpeg 将自定义缩略图添加到 .mp4 文件?

我试图找到合适的 ffmpeg 命令来将 .png 或 .jpg 图像作为缩略图添加到 .mp4 视频中。该命令最终将由 C# 程序自动执行。

这是我到目前为止:

# This does not work. It only removes the default thumbnail.
ffmpeg -i video.mp4 -i image.png -acodec copy -vcodec copy -map 0 -map 1:0 OUTPUT.mp4
Run Code Online (Sandbox Code Playgroud)

我想要的 ffmpeg 可以实现吗?如果是这样,请指导我朝着正确的方向前进。

mp4 ffmpeg image thumbnails video-processing

13
推荐指数
2
解决办法
2万
查看次数

最常用的Python模块用于视频处理?

我需要:

  1. 打开视频文件
  2. 迭代文件的帧作为图像
  3. 在视频的此图像框架中进行一些分析
  4. 画出这个视频图像
  5. 使用这些更改创建新视频

OpenCV不能用于我的网络摄像头,但python-gst正在工作.这可能使用python-gst吗?

谢谢!

python image-processing video-processing

12
推荐指数
1
解决办法
1万
查看次数

视频捕获+上传+处理+流媒体返回 - .NET&C#

我们正试图找出.NET堆栈中可用的任何技术/库(甚至是第三方dll上的包装器),它们将帮助我们构建一个可以

  • 1 - 从用户的视频设备捕获图像
  • 2 - 将其实时上传到服务器
  • 3 - 处理视频(在服务器中) - 例如:为视频添加水印
  • 4 - 将其流回用户/其他用户

优选地,步骤2和4之间的时间延迟/等待时间应该是最小的

第一个要求(捕获)似乎很简单.挑战在于确定一种合适的方式来进行上传,进行处理并将其流回.任何有效的建议或想法?

最近来了acrsoss FFmpeg库,它有一个C#包装器.FFmpeg可用于处理方面吗?

.net c# video-capture video-processing video-streaming

12
推荐指数
1
解决办法
8939
查看次数

在linux上安装FAAC,收到错误

我想在linux上安装FAAC.我收到了错误.

我用它来安装.

cd /usr/src
wget http://sourceforge.net/projects/faac/files/faac-src/faac-1.28/faac-1.28.tar.bz2/download
tar -xvjf faac-1.28.tar.bz2
cd faac-1.28
./configure
make
make install
Run Code Online (Sandbox Code Playgroud)

一旦我尝试制作它,我就会收到错误

mpeg4ip.h:126: error: new declaration ‘char* strcasestr(const char*, const char*)’
/usr/include/string.h:369: error: ambiguates old declaration ‘const char* strcasestr(const char*, const char*)’
make[3]: *** [3gp.o] Error 1
make[3]: Leaving directory `/usr/src/faac-1.28/common/mp4v2'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/usr/src/faac-1.28/common'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/usr/src/faac-1.28'
make: *** [all] Error 2
Run Code Online (Sandbox Code Playgroud)

我在线阅读,它说它是在干扰某些东西,我不得不找到一个文件并对其进行编辑.

我如何修复此安装,以便正确安装.

linux ubuntu ffmpeg video-processing

12
推荐指数
1
解决办法
1万
查看次数

为什么DCT变换优于视频/图像压缩中的其他变换

我介绍了如何在图像和视频压缩标准中使用DCT(离散余弦变换).

但是为什么DCT仅比dft或dst等其他变换更受欢迎?

fft video-processing dct image-compression

12
推荐指数
2
解决办法
1万
查看次数

提取.avi文件的帧

我正在尝试编写ac#代码来提取.avi文件的每个帧并将其保存到提供的目录中.你知道任何合适的图书馆用于此目的吗?

注意:最终版本必须适用于所有系统,无论安装的编解码器或系统架构如何.它不能要求机器上存在其他程序(如MATLAB).

提前致谢.Tunc

c# video video-processing

12
推荐指数
1
解决办法
2万
查看次数