标签: codec

使用 H264 编解码器的 OpenCV 视频采集

我在我的项目中使用新的罗技相机 c920 进行对象识别。
我的相机可以支持H264编解码器并可以显示H264高清输出。
但是我如何在下面的代码中将 CODEC 类型设置为 H264,以使用 OpenCV 指令将其输出为 H264 解码流。

我使用以下逻辑捕获视频:参考:此链接

#include "opencv2/opencv.hpp"

using namespace cv;

int main(int, char**)
{
    VideoCapture cap(0); // open the default camera
    if(!cap.isOpened())  // check if we succeeded
        return -1;

    for(;;)
    {
        Mat frame;
        cap >> frame; // get a new frame from camera
        imshow("display", frame);
        if(waitKey(30) >= 0) break;
    }
    // the camera will be deinitialized automatically in VideoCapture destructor
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

opencv codec

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

有没有办法自动创建 Mongo 编解码器?

我愿意将我的代码从 mongojack 迁移到支持新的异步 mongo 驱动程序的代码。然而我发现编码/解码的新方法是通过Codecs 并且我不认为自己Codec为模型中的每个类编写 。这就是为什么我宁愿编写一个库,给定一个类创建一个Codec. 然而我不知道如何做到这一点,也不知道是否已经有人做出一些努力来实现同样的目标。有一些库可以实现我想要的吗?如果没有,实现它的最佳方法是什么。

(我知道我可能应该使用CodecProvider那里的某个地方,但我仍然不知道从哪里开始)

java asynchronous codec mongodb

4
推荐指数
1
解决办法
5736
查看次数

ffmpeg:资源暂时不可用

我正在尝试在 Linux 服务器上运行 ffmpeg(信息来自uname -a):

Linux comp32 2.6.32-279.14.1.el6.x86_64 #1 SMP Tue Nov 6 11:21:14 CST 2012 x86_64 x86_64 x86_64 GNU/Linux
Run Code Online (Sandbox Code Playgroud)

ffmpeg(连同所需的编码器和解码器)在系统上成功编译,但是当我尝试执行如下基本操作时:ffmpeg -v debug -i example.m4v image%d.jpg,我收到一条有点神秘的错误消息:

ffmpeg version 2.8.1 Copyright (c) 2000-2015 the FFmpeg developers
built with gcc 4.7.1 (GCC)
configuration: --prefix=/users/albanie/local/usr
libavutil      54. 31.100 / 54. 31.100
libavcodec     56. 60.100 / 56. 60.100
libavformat    56. 40.101 / 56. 40.101
libavdevice    56.  4.100 / 56.  4.100
libavfilter     5. 40.101 /  5. 40.101
libswscale      3.  1.101 …
Run Code Online (Sandbox Code Playgroud)

ffmpeg decoder codec

4
推荐指数
1
解决办法
7530
查看次数

如何获取我在 WebRTC 中使用的编解码器?

如何获取有关我在 WebRTC 中使用的编解码器的信息?以及如何将其更改为另一个。

使用默认设置,我得到的音频质量很差,就像来自扬声器一样。

codec webrtc

4
推荐指数
1
解决办法
6431
查看次数

如何选择全帧(未压缩)作为 VideoWriter 的编解码器

我想将来自设备的未压缩帧存储为视频,但我需要知道如何选择“全帧(未压缩)”作为 VideoWriter(在 emgu aka openCV 中)的编解码器。

当我像这样传递 -1 时,我可以从下拉菜单中选择它

VideoWriter myVideoWriter = new VideoWriter ("myVieoColor.avi", -1 , 15, videoSize, true);
Run Code Online (Sandbox Code Playgroud)

但我想自动选择全帧(未压缩)编解码器。例如,我知道我可以通过以下方式选择 Lagarith Lossless Video Codec

VideoWriter myVideoWriter = new VideoWriter ("myVieoColor.avi", Emgu.CV.VideoWriter.Fourcc('L','A','G','S') , 15, videoSize, true);
Run Code Online (Sandbox Code Playgroud)

但我无法弄清楚我需要使用哪个fourcc。

也许有人可以帮助我

opencv video-capture codec emgucv kinect

4
推荐指数
1
解决办法
9992
查看次数

MoviePy:连接视频剪辑会导致最终视频出现奇怪的故障

有没有一种方法可以成功地将任何剪辑拼接在一起,以防止出现奇怪的故障?我把.mp4较小的.mp4文件放在一起,最后得到了一个带有奇怪故障的视频。我通过 Sublime Text 3 在 Windows 10 上运行 Python 3.6.1。我使用 MoviePy 进行连接。

编码:

from moviepy.editor import VideoFileClip, concatenate_videoclips
import os.path

path = "C:/Users/blah/videos/out/"

cliparray = []

for filename in os.listdir(path):
    cliparray.append(VideoFileClip(path + filename))

final_clip = concatenate_videoclips(cliparray)

final_clip.write_videofile(path + "concatenatedvideo.mp4", codec = "libx264")
Run Code Online (Sandbox Code Playgroud)

奇怪的故障:

  1. 其中一个剪辑变成了一个由较小剪辑组成的 3x3 网格。
  2. 另一个音频与视频不对齐
  3. 另一个比正常情况更快。

python ffmpeg codec moviepy

4
推荐指数
1
解决办法
2309
查看次数

XMLConverter 中出现意外的关键字参数“codec”

以下错误消息:

device = XMLConverter(rsrcmgr, retstr, laparams=laparams, codec=codec)
TypeError: __init__() got an unexpected keyword argument 'codec'
Run Code Online (Sandbox Code Playgroud)

原始代码:

rsrcmgr = PDFResourceManager()
retstr = BytesIO()
codec = 'utf-8'
laparams = LAParams()
device = XMLConverter(rsrcmgr, retstr, laparams=laparams, codec=codec)
Run Code Online (Sandbox Code Playgroud)

令人惊讶的是,这在我的项目设置(python 3.5.3)中运行良好,但在新设置(python 3.7.4)中则不然。不确定这是否是一个问题,或者现在是否有新版本的 XMLConverter 可用

codec xmlconvert python-3.x pdfminer

4
推荐指数
1
解决办法
8161
查看次数

视频编解码器的解码输出是什么?

伙计们,

我想知道是否有人可以向我解释视频解码的输出究竟是什么.假设它是MP4容器中的H.264流.

通过在屏幕上显示内容,我猜解码器可以提供两种不同类型的输出:

  1. 点 - 位置的(x,y)坐标和像素的(R,G,B)颜色
  2. 矩形的矩形(x,y,w,h)单位和要显示的(R,G,B)颜色

还有时间戳问题.

您能否请教我或指出解码器生成的内容以及视频客户端如何使用此信息在屏幕上显示内容的正确链接?

我打算下载VideoLAN源并检查它,但一些解释会有所帮助.

预先感谢您的帮助.

问候,彼得

codec video-encoding

3
推荐指数
1
解决办法
1164
查看次数

jpeg无损转换 - 内存消耗?

我刚刚从http://jpegclub.org/jpegtran/下载了最新的win32 jpegtran.exe并观察了以下内容:

我准备了一个24 BPP jpeg测试图像,14500 x 10000像素.

  • 文件系统中的压缩大小约为7.5 MB.
  • 解压缩到内存(使用某些图像查看器)膨胀到大约450 MB.

在无损旋转期间监视jpegtran.exe命令行工具的内存消耗(180)我可以看到消耗高达900 MB内存的进程!

我会假设这样的jpeg无损转换不需要将图像文件解码到内存中,而只是对编码文件本身执行一些数学转换 - 保持内存占用非常低.

那以下哪项是真的?

  • 这个特定工具实现中的一些错误
  • 我错过了一些配置开关
  • 我的一些误解(即jpeg无损转换还需要将图像解码到内存中?)
  • "数学运算"比"将图像解码为内存"消耗的内存更多

编辑:

根据JasonD的回答,原因似乎是后者.所以我会延伸我的问题:

是否有任何实现可以在小块中执行这些操作(以避免高内存使用)?还是总是需要在整体上完成而且没有办法绕过它?

PS:
我不打算实现自己的编解码器/算法.相反,我问是否有任何实现符合我的要求.或者至少在理论上是否存在.

memory jpeg imaging codec libjpeg-turbo

3
推荐指数
1
解决办法
472
查看次数

确定iOS设备是否可以支持HEVC编码

我的问题是我想用AVVideoCodecHEVC.我知道它仅适用于iOS 11,但没有A10芯片的设备不支持它.

因此,如果使用像iPhone 6这样没有A10芯片的设备,则使用 if #available(iOS 11.0, *) { let self.codec = AVVideoCodecHEVC } Will throw Cannot Encode错误.有没有人能够弄清楚运行iOS 11的设备是否可以支持HEVC?

encode codec h.265 hevc swift

3
推荐指数
1
解决办法
1419
查看次数