标签: codec

从图像创建视频

有没有办法从Android上的一系列图像创建视频?也许是一种扩展MediaRecorder并能够将图像作为输入的方法.

我尝试真正创建视频并存储它(例如,作为mpeg4文件).

谢谢你的任何建议.

video android image codec

9
推荐指数
2
解决办法
6930
查看次数

FFmpeg fourcc Avi编解码器支持列表?

堆栈溢出有几个类似的问题,但我无法解决这个问题.

我想获得fourccFFMpeg可以解码的avi编解码器的列表.

我知道如何获取所有格式ffmpeg -formats和编解码器,ffmpeg -codecs但两个列表都没有给我一个可访问的列表fourccs.我也找不到文件.

我需要这个名单,让我的应用程序可以访问fourcc一个的avi文件,并确定是否使用ffmpegVfW(或DirectX)尝试解码的文件.

有一些ffmpeg命令能给我这个清单吗?

ffmpeg avi codec

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

Android Media Codec视频解码

这是我的第一个问题,如果我错过了什么,请告诉我!

使用Android API 16的新Media Codec实现来尝试解码视频,以便我可以发送要作为纹理应用的帧(纹理部分已经完成).所以我已经提出了以下代码,并在堆栈中提供了一些帮助,但在runOutputBuffer()outputBufIndex回来的时候-1(或者我-1在超时时提供的无限循环中)任何人都可以帮助解决这个问题,并且/或者提供任何关于去哪里的建议从那里?

感谢您的帮助,这是我的代码:

public MediaDecoder( BPRenderView bpview )
{

    surface = bpview;
    extractor = new MediaExtractor( );
    extractor.setDataSource( filePath );
    format = extractor.getTrackFormat( 0 );
    mime = format.getString( MediaFormat.KEY_MIME );
    createDecoder( );
    runInputBuffer( );

}

public void createDecoder( )
{

    codec = MediaCodec.createDecoderByType( "video/avc" );
    // format =extractor.getTrackFormat( 0 );
    Log.d( LOG_TAG, "Track Format: " + mime );
    // format.setInteger( MediaFormat.KEY_BIT_RATE, 125000 );
    // format.setInteger( MediaFormat.KEY_FRAME_RATE, 15 );
    // …
Run Code Online (Sandbox Code Playgroud)

media video android decoding codec

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

Unicode和Python中的`decode()`

>>> a = "?"  # chinese  
>>> b = unicode(a,"gb2312")  
>>> a.__class__   
<type 'str'>   
>>> b.__class__   
<type 'unicode'>  # b is unicode
>>> a
'\xce\xd2'
>>> b
u'\u6211' 

>>> c = u"?"
>>> c.__class__
<type 'unicode'>  # c is unicode
>>> c
u'\xce\xd2'
Run Code Online (Sandbox Code Playgroud)

b并且c都是unicode,但>>> b输出u'\u6211'>>> c输出u'\xce\xd2',为什么?

python unicode decode codec

8
推荐指数
1
解决办法
1760
查看次数

H.264帧存储器泄漏与一些解码器

我正在H.264 stream使用其SDK从DVR 接收.有内存泄漏,我认为这是导致所有泄漏的SDK.但是当我录制流并从磁盘上逐个读取帧时(没有涉及任何第三方dll),我注意到问题不是dll而是流本身.

奇怪的是,DivX H264 Decoder它是唯一不会导致内存泄漏的编解码器,但是当流运行很长时间时,有时DivX解码器也会崩溃.我更喜欢使用,Microsoft DTV-DVD Video Decoder但它会导致巨大的内存泄漏并丢失大量帧.我尝试过的许多其他H.264解码器的行为方式相同.

我检查了h.264 frames使用一些h.264 parsers与其他一些无问题的流比较,但我没有注意到日志中的任何明显的东西.

由于我的问题是关于h.264帧结构,我已经准备了一个名为的源过滤器FramesFromFileSourceFilter,你可以在下面下载.

http://www.akaydin.com/directshow/FramesFromFileSourceFilter.zip

这是一个Visual Studio 2008项目,所有依赖项都包含在相对位置的文件夹(包括h.264帧)中的zip文件中.因此,您需要做的就是编译项目,注册输出regsvr32.exe并使用GraphEdit或GraphStudio中的任何h.264解码器运行过滤器.示例图如下.

使用DivX的FramesFromFileSourceFilter

FramesFromFileSourceFilter与Microsoft DTV-DVD视频解码器

此外,h264帧可作为单个原始h264文件在下面的链接中使用,该链接可由VLC播放(错误的FPS,因为原始版本为12 FPS).

http://www.akaydin.com/directshow/stream.zip

题:

除DivX解码器外,许多着名的H264解码器可能导致内存泄漏问题.这个流有什么问题?

更新1

读取数据线程被删除,功能移入FillBuffer而不使用任何缓冲区和标志.问题依然存在.

http://www.akaydin.com/directshow/FramesFromFileSourceFilterUpdate1.zip

更新2

UPDATE1使用Sleep()FillBuffer()这是导致一些问题的功能.现在我删除了Sleep()并且曾经SetTime()拥有~12 FPS.这也解决了Microsoft DTV-DVD Video Decoder丢帧问题,但没有解决内存问题.

http://www.akaydin.com/directshow/FramesFromFileSourceFilterUpdate2.zip

内存增加Working Set仅发生.Virtual Bytes而且Private Bytes似乎很稳定.什么可能导致连续的Working Set内存增量只发生Microsoft DTV-DVD Video Decoder

video memory-leaks stream codec h.264

8
推荐指数
1
解决办法
1660
查看次数

如何检查H264/AVC ISO/IEC 14496-15 AVCDecoderConfigurationRecord?

一些历史背景:我目前正与Wowza工作,并试图解码AMFPackets是来自IMediaStream.视频数据包将具有5字节标头,第一个数据包是编解码器配置.

到目前为止,在我的检查中,编解码器配置与ISO/IEC 14496-15 AVCDecoderConfigurationRecord布局相匹配.但是,我在解码SPSPPS单元时遇到问题.

编解码器配置包包括5字节头:

17 00 00 00 00 01 4D 00 15 03 01 00 2F 67 4D 40 15 96 52 02 83 F6 02 A1 00 00 03 00 01 00 00 03 00 28 E0 60 03 0D 40 00 49 3E 7F 18 E3 03 00 18 6A 00 02 49 F3 F8 C7 0E D0 B1 68 90 01 00 04 68 EB …

flash codec h.264 wowza

8
推荐指数
1
解决办法
4073
查看次数

平面YUV420数据布局

在我的项目中,我使用OpenH264编解码器,据说以YUV 4:2:0 planar格式输出数据.解码后,我得到一个带有width * height * 1.5元素的数组,在显示时,看起来像这个图像:

http://o3d.googlecode.com/svn/trunk/samples_webgl/assets/shaving_cream.png

为什么主要的一个下面有四个区域(包含Y-负责灰度 - 元素),而不是两个,就像我的第二张图片一样?这是否意味着格式不同或我错了,我的世界崩溃了?

我认为resoult应该是这样的:

在此输入图像描述

c++ image-processing yuv codec h.264

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

如何打开 HEIF (.heic) 图像?

对于 C++ 项目,我需要打开并显示 HEIF (.heic) 图像。我所知道的(如果我是对的)是 HEIF 图像基于 ffmpeg 标准,并且需要读取 H265 编解码器。

我找到了几个开源的 H265 编解码器:

我可以打开和显示 H265 编码的视频文件,但我无法简单地打开、显示或转换 .heic 图像。他们都返回一个错误,或者什么都不做。

老实说,我有点困惑,因为 HEIF 标准似乎是一个保守的秘密。我找不到可以让我找到解决方案的相关信息。我发现的那些只是技巧和变通方法,例如强制设备(我在这里谈论的是使用新 iOS11 的 Apple iPhone)生成 jpg 图像而不是 heic,或者使用像 dr.fone 这样的第三方应用程序。当然,这些解决方案与我无关。

所以,有人可以告诉我应该对 .heif 图像使用哪种编解码器,以及如何使用它来打开它?或者是否有允许操作此类图像文件的开源库或示例?有人可以为我指出好的方向吗?

ffmpeg image codec heif

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

为什么VideoDataOutput的availableVideoCodecTypes为空?

AVCaptureVideoDataOutput有一个字段availableVideoCodecTypes,它应该告诉你可以用来录制视频的编解码器,但它总是空的.为什么是这样?

我在创建VideoDataOutput后立即检查了它的值,并在将其添加到会话后,但它是空的.我尝试使用运行iOS 10的iPhone 5s和运行iOS 11的iPhone 7 Plus,两者都是空的.

这个问题是关于AVCaptureVideoDataOutput.AVCaptureMovieFileOutput有另一个具有相同名称的字段,但是问题与此无关.

可以说VideoDataOutput为您提供帧而不是记录到文件,因此不涉及编解码器,这就是属性为零的原因,但在这种情况下,为什么要拥有该属性?

iphone codec ios avcapture

8
推荐指数
1
解决办法
237
查看次数

在安装了Homebrew的ffmpeg中启用libfdk_aac

在macO上,我总是习惯通过Homebrew安装或更新ffmpeg。我经常使用libfdk_aac音频编解码器,所以我总是这样做:

brew reinstall ffmpeg --with-fdk-aac

出于某种原因,由于一两次更新brew,ffmpeg不能再与libfdk_aac一起安装。

现在,在转换视频并使用-acodec libfdk_aac可以正常工作的视频时,我得到了:

未知的编码器'libfdk_aac'

有没有办法解决这个问题?

macos homebrew ffmpeg codec

8
推荐指数
2
解决办法
1755
查看次数