我有一个33秒的视频,我正在尝试使用OpenCV处理.我的目标是确定每个帧对应的时间实例(相对于视频的开头).我这样做是为了能够比较以不同帧速率录制的同一场景的视频中的帧.
什么工作:
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) 我正在尝试研究如何使用卡尔曼滤波器跟踪我自己在视频序列中移动的物体(球),所以请在我小时候向我解释.
通过一些算法(颜色分析,光流......),我能够得到每个视频帧的二进制图像,其中有跟踪对象(白色像素)和背景(黑色像素) - >我知道对象大小,对象质心,对象位置 - >只需简单地在对象周围绘制一个边界框 - >完成.为什么我需要在这里使用卡尔曼滤波器?
好吧,有人告诉我,因为我无法通过噪声检测每个视频帧中的物体,我需要使用卡尔曼滤波器来估计物体的位置.好的.但据我所知,我需要为卡尔曼滤波器提供输入.它们是先前的状态和测量.
当前状态的测量:这是我无法理解的.可以测量什么? - 物体在当前帧中的位置?这很有趣,因为如果我知道对象的位置,我只需要在对象周围绘制一个简单的边界框(矩形).为什么我在这里需要卡尔曼滤波器?因此,不可能将当前帧中的对象的位置作为测量值. - "视频监控系统中基于卡尔曼滤波器的跟踪"文章说
卡尔曼滤波块的主要作用是为从光流分析块进入系统的每个测量分配跟踪滤波器.
如果您阅读完整的论文,您将看到作者将blob的最大数量和blob的最小大小作为卡尔曼滤波器的输入.这些参数如何用作测量?
我想我现在处于循环中.我想使用卡尔曼滤波器来跟踪物体的位置,但我需要知道该物体的位置作为卡尔曼滤波器的输入.到底是怎么回事?
还有一个问题,我不理解术语"卡尔曼滤波器的数量".在视频序列中,如果有2个对象需要跟踪 - >需要使用2个卡尔曼滤波器吗?这是什么意思?
我正在编写一个应用程序,使用AVCaptureSession带有AVCaptureVideoDataOutput输出和AVCaptureDeviceInput视频文件(它不再需要实时)作为输入进行一些实时视频处理.
是否可以将视频文件用作输入AVCaptureSession而不是相机?如果不可能,使用视频捕获opencv on iOS(同时或顺序)处理视频文件的最佳方法是什么?
我想将视频上传到服务器,当我从图库中捕获视频或从相机记录时,服务器响应我的错误,但是当我上传大小为2 MB的视频时,它正在成功上传.如何压缩视频以减小尺寸?我从脸书上传了视频,我手机上的视频大小为140 MB,但是脸书对视频进行了处理并将其大小减小到1.35 MB
我试图找到合适的 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 可以实现吗?如果是这样,请指导我朝着正确的方向前进。
我需要:
OpenCV不能用于我的网络摄像头,但python-gst正在工作.这可能使用python-gst吗?
谢谢!
我们正试图找出.NET堆栈中可用的任何技术/库(甚至是第三方dll上的包装器),它们将帮助我们构建一个可以
优选地,步骤2和4之间的时间延迟/等待时间应该是最小的
第一个要求(捕获)似乎很简单.挑战在于确定一种合适的方式来进行上传,进行处理并将其流回.任何有效的建议或想法?
最近来了acrsoss FFmpeg库,它有一个C#包装器.FFmpeg可用于处理方面吗?
我想在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)
我在线阅读,它说它是在干扰某些东西,我不得不找到一个文件并对其进行编辑.
我如何修复此安装,以便正确安装.
我介绍了如何在图像和视频压缩标准中使用DCT(离散余弦变换).
但是为什么DCT仅比dft或dst等其他变换更受欢迎?
我正在尝试编写ac#代码来提取.avi文件的每个帧并将其保存到提供的目录中.你知道任何合适的图书馆用于此目的吗?
注意:最终版本必须适用于所有系统,无论安装的编解码器或系统架构如何.它不能要求机器上存在其他程序(如MATLAB).
提前致谢.Tunc