问题标签 [decoder]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
118 浏览

video - 从 ISO 文件渲染帧

我有一个 video_file.mp4 并且我知道mdat原子包含 H.264 帧。我的项目中还有一个 H.264 编解码器库。那么,如果我将mdat原始数据放入我的 lib 的 byte * decode(byte * data, int timeMsec) 方法中,我会得到一个解码帧,我对吗?或者我需要额外的操作?谢谢!

0 投票
2 回答
1887 浏览

java - 多个连接包同时到达的 Netty CorruptedFrameException

我使用 Netty 的程序遇到了一个非常奇怪的问题。

我正在监听一个端口并解析消息(使用 FrameDecoder 实现)。如果我收到一个连接,一切正常,但是当我在同一个端口上收到两个连接(每个都来自不同的服务器)时,我遇到了一种罕见但严重的情况,我得到了损坏的FrameException

当我的程序接收到具有完全相同时间戳的 TCP 数据包(以非常高的速率发送信息时)时会出现问题,如下所示

  1. 来自服务器 1 的 TCP 数据包
  2. 来自服务器 2 的 TCP 数据包
  3. 来自服务器 1 的 TCP 数据包(这是项目符号 1 中开始的消息的延续)
  4. 来自服务器 2 的 TCP 数据包(这是项目符号 2 中开始的消息的延续)

我的程序尝试将 1 和 2 解析为消息,而不是知道实际消息是 1 & 3 和 2 & 4 我在某处读到,也许我需要为每个通道连接实例化一个新的 FrameDecoder,但我不知道究竟该怎么做。我在启动时将解码器添加到管道中,但我无法弄清楚如何将新解码器添加到特定通道

我遇到的例外是:

0 投票
1 回答
69 浏览

directshow - 如何获得 VorbisFormat2

我尝试在 mediafoundation 中解码 ogg。现在我看到了 dshow 过滤器,但我不明白如何创建 VORBISFORMAT2

我不知道如何在 mediafoundation 中获取 inMediaType->pbFormat。或者如何使用 libvorbis 获取 VORBISFORMAT2 的标头?

0 投票
1 回答
1724 浏览

decoder - VIN 解码:车型年份

我正在尝试编写一个简单的 VIN (ISO 3779) 解码器:制造商和型号年份。不过,我在解码模型年份时遇到了一些问题。根据维基百科

For passenger cars, and for multipurpose passenger vehicles and trucks with a gross vehicle weight rating of 10,000 lb (4,500 kg) or less, if position 7 is numeric, the model year in position 10 of the VIN refers to a year in the range 1980–2009. If position 7 is alphabetic, the model year in position 10 of VIN refers to a year in the range 2010–2039.

我的汽车的 VIN(2012 年款)包含以下信息:

制造商:SEAT,车型年份:1982(一些在线 VIN 解码器给我 1982,其他一些给我 2012)

我怎样才能修改我的解码器,这样我才能做到这一点,而不是做一个讨厌的if (Manufacturer == "SEAT") Year += 30;黑客?

0 投票
1 回答
453 浏览

windows - Windows 8 mjpeg 视频解码能力

由于 windows 7 内置 mjpeg 解码器似乎有分辨率限制,它无法解码分辨率大于 2592x1944 像素的 mjpeg。所以我想知道 windows 8 解码器对 mjpeg 的能力,它可以解码分辨率大于 2592x1944 像素的 mjpeg 视频吗?

0 投票
0 回答
222 浏览

java - 在 Java 中解码 NONBase64 字符串时未获得非法参数异常

我同时使用了 javax.xml.bind.DatatypeConverter 和 sun.misc.BASE64Decoder。但是当我给出非Base 64字符串时,BASE64Decoder没有任何异常

所以

这不会引发任何异常

和这个,

引发 IndexOutOfBounds

在我期望 IllegalArgumentException 的地方根本没有给出任何东西,因为它在这里说明

有没有人遇到过这个?你有什么建议?

谢谢

0 投票
2 回答
2987 浏览

c - Gstreamer 将 decodebin2 链接到 autovideosink

我正在尝试将一些处理逻辑添加到一个在本地视频文件上运行的程序中,但是我在理解如何将以下(成功的)gst-launch 命令转换为代码(并为其提供“垫添加”回调):

gst-launch filesrc location=/path/to/my/video.avi ! decodebin2 ! autovideosink

我已经尝试过使用 gstreamer 的basic-tutorial-3decodebin2代替audioconvert

但是,我永远无法链接data.convertdata.sink,如示例中所述;gst_element_link(data.convert, data.sink)总是失败。我怀疑有一些特殊处理decodebin2。一些 gstreamer 用户提到了使用 ghostpads 和单独的 bins,经过快速尝试,也没有成功:

我对如何继续调试有点困惑。还有其他人有任何指示吗?

以下是当前代码的简要要点:( gist )

====

更新:我的回调现在正在触发,我认为这是因为我的 filesrc 位置的文件名不正确(哎呀)

现在,在遵循以下建议后,我可以确认我正在获取音频和视频大写类型,并在填充回调中检查它们。但是,在一帧填充处理后,我现在收到以下“未链接”错误:

0 投票
0 回答
496 浏览

memory-leaks - Microsoft DTV-DVD 视频解码器内存泄漏?

在 AVI 容器视频文件中渲染 h.264 期间,我的应用程序的内存消耗以高速上升,大约 150 Mb/min。

这是我的图表图像的链接:http: //picturepush.com/public/8926555

如果使用 LAV 视频解码器 insted - 没有内存泄漏。

首先我建议,泄漏发生在我的代码中,但我只是关闭(在回调开始时设置“返回 S_OK”)两个样本抓取器过滤器 - 泄漏继续。

我也尝试在这样的停止图之后释放每个过滤器,但这没有删除泄漏:

对任何建议都会很高兴,如何消除内存泄漏?

我在 graphedit 上创建了不同的图表,并观察了重复播放短(6 秒)h.264 视频文件:

  1. picturepush.com/public/8931745 - 完整图 - +6 Mb 每次播放后都会增长私有字节
  2. picturepush.com/public/8931760 - 带 DMO 转换器,不带采样器 - 无内存泄漏
  3. picturepush.com/public/8931766 - 使用 DMO 转换器,没有采样器,但使用视频渲染器 - 每次播放后 +7 Mb 增长私有字节
  4. picturepush.com/public/8931770 - 只有解码器 - 没有内存泄漏
0 投票
1 回答
1628 浏览

windows - 如何调试 H264 DirectShow 过滤器?

我正在开发一个 h264 directshow 过滤器。

我有一个有效的硬件源,可以正确输出 NAL 单元。我有一个 DirectShow 过滤器,它宣传 h264 并成功连接到默认的 windows 7 解码器 microsoft dtv-dvd 视频解码器。

当我将渲染器连接到解码器时,渲染器没有收到任何数据包,因此我假设解码器无法正确解码我的数据包。

[ h264 源 ] -> [ dtv-dvd 解码器 ] -> [ 增强型视频渲染器 ]

我有什么办法可以检查微软解码器失败的地方吗?

任何其他信息可能会有所帮助

0 投票
1 回答
1902 浏览

directshow - DirectShow 过滤器图的 CMP4 解码器

我有我必须用CMP4 编解码器格式解码的流...有人知道 CMP4 解码器吗?

注意: 当我使用 Elecard 等标准 MP4 解码器解码流时,我得到一个损坏的图像......主要是红绿和黄色图片。