You need to enable JavaScript to run this app.
最新活动
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

H264解码程序总是返回MF_E_TRANSFORM_NEED_MORE_INPUT错误。

这个错误通常是由于H264压缩数据传递给解码器时不完整所致。解决这个问题的一种方法是使用循环来确保解码器接收完整的传输。以下是一些示例代码:

HRESULT DecodeH264Stream(IMFTransform* pDecoder, BYTE* pData, DWORD dwSize, IMFSample** ppOutput)
{
    HRESULT hr = S_OK;
    DWORD cbTotalLength = 0;
    DWORD cbCurrentLength = 0;

    MFT_INPUT_STREAM_INFO inputInfo;
    MFT_OUTPUT_STREAM_INFO outputInfo;

    hr = pDecoder->GetInputStreamInfo(0, &inputInfo);
    if (SUCCEEDED(hr)) {
        cbTotalLength = inputInfo.cbSize;
    }

    while (cbCurrentLength < dwSize) {
        hr = pDecoder->ProcessInput(0, pData + cbCurrentLength, cbTotalLength, 0);
        if (hr == MF_E_TRANSFORM_NEED_MORE_INPUT) {
            break;
        } else if (FAILED(hr)) {
            break;
        }
        cbCurrentLength += cbTotalLength;
    }

    hr = pDecoder->GetOutputStreamInfo(0, &outputInfo);
    if (SUCCEEDED(hr)) {
        hr = outputInfo.pSample->ConvertToContiguousBuffer(ppOutput);
        outputInfo.pSample->Release();
    }

    return hr;
}

在上面的示例代码中,我们使用循环来确保解码器获得完整的传输数据。如果解码器返回MF_E_TRANSFORM_NEED_MORE_INPUT错误,则表示我们需要提供更多的数据。一旦我们有足够的数据,就可以解码并将输出传递给ppOutput参数。

本文内容通过AI工具匹配关键字智能整合而成,仅供参考,火山引擎不对内容的真实、准确或完整作任何形式的承诺。如有任何问题或意见,您可以通过联系service@volcengine.com进行反馈,火山引擎收到您的反馈后将及时答复和处理。
展开更多
面向开发者的云福利中心,ECS 60元/年,域名1元起,助力开发者快速在云上构建可靠应用

社区干货

高效 AI 视频处理利器 - BMF 模块开发初体验|社区征文

import bmfimport sysinput_file = sys.argv[1]output_path = 'copy.mp4'( bmf.graph() .decode({'input_path': input_file})['video'] .module('copy_module') .encode(None, {"output_path": output_path}) .run())```代码还是非常直观的,构建`graph`,将输入文件进行解码,取其中的视频流,使用我们新建的模块进行处理,最后进行编码输出。运行命令 `python3 test_copy_module.py inpu...

基于 Flink 构建实时数据湖的实践

秒级返回数据等。所以我们选择使用 Flink 进行出入湖以及 OLAP 查询。Flink 的 **批流一体** 架构、 **Exactly Once 保证** 和完善的社区生态提供了 **众多 Connector** 可以满足前面的需求。Flink **也同样适... 所以需要对隐式分区的字段 Transform 之后再进行 Keyby 操作。**数据查询实践** **为什么选择 Flink*** 在架构上, **Flink 支持 JDBC 驱动程序、SQL-Gateway 和会话模式** ...

干货|从ETL到ELT,揭秘火山引擎ByteHouse的技术实现

=&rk3s=8031ce6d&x-expires=1714580435&x-signature=Gw%2Bo81GXgq8Q7mlf%2BZhVUR2URdo%3D) 谈到数据仓库, 一定离不开使用Extract-Transform-Load (ETL)或 Extract-Load-Transform (ELT) 将来源不同、格... **●** 首先对于ByteHouse来讲,其擅长的临时查询时间都在秒级,查询中间出故障一般都直接返回错误,交由上游重试。而 **在ETL场景下,一个任务如果执行了50分钟,由于某些原因故障了,重试相当于前50分钟的资源都被浪费...

干货 | ELT in ByteHouse 实践与展望

=&rk3s=8031ce6d&x-expires=1714666843&x-signature=%2BqQ3goOsyrFDIDkVa2YF%2BgFvIjs%3D) 谈到数据仓库, 一定离不开使用 **Extract-Transform-Load (ETL)**或 **Extract-Load-Transform (ELT)**。将来... (https://p6-volc-community-sign.byteimg.com/tos-cn-i-tlddhu82om/dc490684d04d4416b384c34452e68fc3~tplv-tlddhu82om-image.image?=&rk3s=8031ce6d&x-expires=1714666843&x-signature=dbM%2BRLSN8cUtMfVBs6%2BO...

特惠活动

热门爆款云服务器

100%性能独享,更高内存性能更佳,学习测试、web前端、企业应用首选,每日花费低至0.55元
60.00/1212.00/年
立即购买

域名注册服务

cn/top/com等热门域名,首年低至1元,邮箱建站必选
1.00/首年起32.00/首年起
立即购买

DCDN国内流量包100G

同时抵扣CDN与DCDN两种流量消耗,加速分发更实惠
2.00/20.00/年
立即购买

H264解码程序总是返回MF_E_TRANSFORM_NEED_MORE_INPUT错误。 -优选内容

高效 AI 视频处理利器 - BMF 模块开发初体验|社区征文
import bmfimport sysinput_file = sys.argv[1]output_path = 'copy.mp4'( bmf.graph() .decode({'input_path': input_file})['video'] .module('copy_module') .encode(None, {"output_path": output_path}) .run())```代码还是非常直观的,构建`graph`,将输入文件进行解码,取其中的视频流,使用我们新建的模块进行处理,最后进行编码输出。运行命令 `python3 test_copy_module.py inpu...
基于 Flink 构建实时数据湖的实践
秒级返回数据等。所以我们选择使用 Flink 进行出入湖以及 OLAP 查询。Flink 的 **批流一体** 架构、 **Exactly Once 保证** 和完善的社区生态提供了 **众多 Connector** 可以满足前面的需求。Flink **也同样适... 所以需要对隐式分区的字段 Transform 之后再进行 Keyby 操作。**数据查询实践** **为什么选择 Flink*** 在架构上, **Flink 支持 JDBC 驱动程序、SQL-Gateway 和会话模式** ...
干货|从ETL到ELT,揭秘火山引擎ByteHouse的技术实现
=&rk3s=8031ce6d&x-expires=1714580435&x-signature=Gw%2Bo81GXgq8Q7mlf%2BZhVUR2URdo%3D) 谈到数据仓库, 一定离不开使用Extract-Transform-Load (ETL)或 Extract-Load-Transform (ELT) 将来源不同、格... **●** 首先对于ByteHouse来讲,其擅长的临时查询时间都在秒级,查询中间出故障一般都直接返回错误,交由上游重试。而 **在ETL场景下,一个任务如果执行了50分钟,由于某些原因故障了,重试相当于前50分钟的资源都被浪费...
干货 | ELT in ByteHouse 实践与展望
=&rk3s=8031ce6d&x-expires=1714666843&x-signature=%2BqQ3goOsyrFDIDkVa2YF%2BgFvIjs%3D) 谈到数据仓库, 一定离不开使用 **Extract-Transform-Load (ETL)**或 **Extract-Load-Transform (ELT)**。将来... (https://p6-volc-community-sign.byteimg.com/tos-cn-i-tlddhu82om/dc490684d04d4416b384c34452e68fc3~tplv-tlddhu82om-image.image?=&rk3s=8031ce6d&x-expires=1714666843&x-signature=dbM%2BRLSN8cUtMfVBs6%2BO...

H264解码程序总是返回MF_E_TRANSFORM_NEED_MORE_INPUT错误。 -相关内容

查询任务详情

Body参数 类型 是否必选 示例值 描述 ReqIds Array of String 是 ["e0102ae2104a4953af14f83b3f8******"] 任务 ID 列表。您可通过 SubmitDirectEditTaskAsync 接口的返回参数获取。 返回参数下表仅列出本接口特有... "FlipY": false, "Height": 416, "ID": "video1_transform", ...

视频剪辑参数

h264 和 h265。 当 DisableVideo 参数取值为 true 时,Format 取值为 mp3 才生效,表示 MP3 音频导出专用格式。 Fps Float 否 输出视频的帧率。单位为 fps。默认值为 30。 Codec JSON 否 音视频编码参数设置。详见... TargetTime Array of Integer 是 资源在轨道中的时间。单位为毫秒。格式为 [start, end]。示例值:[1000,2000]。 Extra Array of JSON 否 拓展资源。您可以在 Extra 字段传入 TransformFilter 配置资源在输出视频画...

特惠活动

热门爆款云服务器

100%性能独享,更高内存性能更佳,学习测试、web前端、企业应用首选,每日花费低至0.55元
60.00/1212.00/年
立即购买

域名注册服务

cn/top/com等热门域名,首年低至1元,邮箱建站必选
1.00/首年起32.00/首年起
立即购买

DCDN国内流量包100G

同时抵扣CDN与DCDN两种流量消耗,加速分发更实惠
2.00/20.00/年
立即购买

产品体验

体验中心

云服务器特惠

云服务器
云服务器ECS新人特惠
立即抢购

白皮书

一图详解大模型
浓缩大模型架构,厘清生产和应用链路关系
立即获取

最新活动

爆款1核2G共享型服务器

首年60元,每月仅需5元,限量秒杀
立即抢购

火山引擎增长体验专区

丰富能力激励企业快速增长
查看详情

数据智能VeDI

易用的高性能大数据产品家族
了解详情

一键开启云上增长新空间

立即咨询