问题标签 [openh264]

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 回答
625 浏览

windows - OpenH264 解码与网络延迟导致失败

我有 OpenH264 在我的本地网络上工作。

代码是这样的。

这适用于我的本地网络上的低延迟连接。但在慢速 VPS 等高延迟连接上失败。

我可以接收第一帧,但随后流失败并且 DecodeFrameNoDelay 不返回任何帧。

如果我将比特率和 FPS 设置得很低,我可以让它工作。这让我相信它与时间有关?

我是否应该将解码后的帧放入缓冲区,然后让解码器从缓冲区中解码帧?至于维持所需的FPS?

我感谢任何反馈谢谢!

0 投票
0 回答
379 浏览

android-ndk - 使用 android NDK19 构建 OpenH264 库失败

我需要为 android 构建 openh264 库。我从官方网页(https://github.com/cisco/openh264)下载。

我正在遵循相同的步骤。它适用于 android ndk15,不适用于最新的 ndk19。因为他们已经从新的 ndk19 中删除了stlport。使用 ndk15 构建库不适用于最新的 android 操作系统。所以我需要用 ndk19 构建。

在使用 ndk19 构建时,它给出的错误如下,

Android NDK:不再支持 APP_STL stlport_shared。请切换到 c++_static 或 c++_shared。有关详细信息,请参阅 https://developer.android.com/ndk/guides/cpp-support.html。. 停止。build/platform-android.mk:51: *** Compiler not found, bad NDKROOT or ARCH?. 停止。

谁能帮我解决这个问题?

0 投票
0 回答
96 浏览

ios - 由于 libstdc++,无法为 ios 构建 openh264

我正在尝试为 ios 构建 openh264。我已经从最新版本下载了源代码。然后将PREFIXmakefile 中的更改为ios_local. 在那之后,我做make OS=ios ARCH=arm64了很多警告。

在那之后,当我这样做时sudo make OS=ios ARCH=arm64 install它退出并出现如下错误

经过研究,Apple现在似乎不支持libstdc++,所以mac os兼容版本是libc++,应该在安装XCode时安装。我认为我的 XCode 版本Version 10.2.1 (10E1001)足以获得这个 libc++。我正在使用 macOS Mojave。这里出了什么问题?

0 投票
1 回答
280 浏览

c++ - 如何将 Openh264 DecodeFrameNoDelay 输出格式转换为 OpenCV 矩阵?

我想将DecodeFrameNoDelay函数的yuvData输出格式转换bufferInfo为 OpenCV 矩阵,我可以使用imshow函数在窗口上显示框架

将 git 链接到 DecodeFrameNoDelay 详细信息:https ://github.com/cisco/openh264/wiki/ISVCDecoder#decodeframenodelay

下面是我使用 Openh264 解码帧的代码

任何帮助表示赞赏。

谢谢和最好的问候。

0 投票
0 回答
330 浏览

c++ - Openh264 DecodeFrameNoDelay 输出缓冲区 yuv 是 yuv420 格式吗?

我用函数解码 h264 文件DecodeFrameNoDelay并获取yuvData缓冲区

我想将yuvData缓冲区写入文件 .yuv 并使用 ffmpeg 命令播放。但是当我使用 ffmpeg 命令播放 yuv 文件时,结果不正确。

这是我用来播放 yuv 文件的 ffmpeg 命令:

这是我用于解码 h264 文件并将yuvData缓冲区写入文件 .yuv的代码

我有一些问题需要澄清:

1/yuvData我从DecodeFrameNoDelay函数中得到的缓冲区真的是yuv420格式吗?

2/我的代码有问题吗?

任何帮助表示赞赏。

谢谢和最好的问候。

0 投票
1 回答
2569 浏览

python - Anaconda 找不到 openh264 库

我正在尝试在 jupyter 笔记本上安装 openh264 以与 opencv 一起使用。我正在 Windows 10 Pro 环境中的 anaconda 提示符下工作。我正在使用Anaconda 网站上推荐的频道。

对于它们中的每一个,它都会返回

收集包元数据(repodata.json):完成
解决环境:失败

PackagesNotFoundError:当前频道不提供以下软件包:
-openh264

当前频道:
- https://conda.anaconda.org/conda-forge/win-64
- https://conda.anaconda.org/conda-forge/noarch
- https://repo.anaconda.com/pkgs/ main/win-64
- https://repo.anaconda.com/pkgs/main/noarch
- https://repo.anaconda.com/pkgs/r/win-64
- https://repo.anaconda.com/ pkgs/r/noarch
- https://repo.anaconda.com/pkgs/msys2/win-64
- https://repo.anaconda.com/pkgs/msys2/noarch

要搜索可能提供您正在寻找的 conda 包的替代渠道,请导航到 https://anaconda.org 并使用页面顶部的搜索栏。

我还尝试将一个频道 conda-forge 添加到默认频道列表中:

然后尝试安装

但我得到了同样的结果。

一个点子安装

返回

收集 openh264 错误:找不到满足 openh264 要求的版本(来自版本:无)错误:未找到 openh264 的匹配分发

我是视频和音频编码和处理的新手,但我的印象是 OpenH264 被广泛使用。知道可能会发生什么吗?

0 投票
1 回答
345 浏览

ffmpeg - 由于 32 位支持,无法将 libopenh264-2.0.0-android.so 用于我的 android 应用程序

在我的视频编辑 android 应用程序中,由于许可原因,我必须从该站点https://github.com/cisco/openh264/releases动态下载 libopenh264-2.0.0-android.so.bz2以与 ffmpeg 一起使用。

但是,如果我为该应用禁用 64 位,我将无法在 Google Play 上发布该应用。商店需要 64 位支持。如果启用 64 位,则无法使用 openh264-android.so 库,ffmpeg 命令不起作用

这是我在 build.gradle 中禁用 64 位的方式

任何人都可以帮助解决这个问题吗?谢谢

0 投票
1 回答
1276 浏览

ffmpeg - 'undefined symbol: __stack_chk_guard' in libopenh264.so 使用 emcc 构建 FFmpeg 时

我正在尝试在 Ubuntu 18.04 上构建codecbox.js,这涉及使用 emcc 构建 FFmpeg。

在构建过程的某个阶段,FFmpeg 的configure脚本会尝试处理以下代码:

我得到一个链接器错误:

它似乎与Stack Smashing Protector编译器功能有关。我试图检查我的libopenh264.so文件,nmnm告诉我File format not recognized。但是,使用grep,我发现__stack_chk_guard这个文件中有一个符号。

我试图通过添加-fno-stack-protectorand-U_FORTIFY_SOURCE来重建 libopenh264CFLAGSLDFLAGS但这并没有改变任何东西:

仍然回答

然后我尝试通过添加相同的选项-fno-stack-protector-U_FORTIFY_SOURCEemcc 来构建上面显示的代码,但它也没有改变任何东西。

知道如何摆脱这个问题吗?

0 投票
1 回答
497 浏览

sip - Pjsip/Pjsua 视频问题:帧缓冲区太小

我尝试在我的树莓派 3 上使用 Pjsip/Pjsua 进行 sip 视频通话。在编码之前,我使用主示例应用程序来测试不同的选项。一切似乎都正常(注册,音频通话,..)但是当我尝试开始视频通话时,程序停止并显示以下消息:

pjsua-armv7l-unknown-linux-gnueabihf: ../src/pjmedia-videodev/v4l2_dev.c:737: vid4lin_stream_get_frame_mmap: Assertion `!"frame buffer is too small for v4l2"' failed.

我搜索了很多,包括源代码:

所以我知道 pjmedia_frame 的“大小”低于 v4l2 缓冲区,导致我失败。我的问题很简单:如何更改此设置?我在示例应用程序中尝试了 evetything:更改分辨率、比特率、fps,.. 我发现一些资源说要更改h264 配置文件级别.. 好的,但是我在哪里设置呢?它在 v4l2 管理器中吗?或直接在应用程序中?我该怎么做 ?我在 v4l2 中使用了不同的选项来降低比特率/分辨率,以便有一个小的缓冲区,但仍然得到相同的错误。

在这一点上,我完全无能为力。

有关信息,我按照 PjSip 的建议使用 openh264(无 libx264)编译了 PJsip。

感谢您的帮助/想法;)

0 投票
0 回答
202 浏览

android - 使用 android NDK21 为 pjsip android 构建 Openh264 库失败?

我正在构建 Openh264 库作为 pjsip 的视频编解码器。

我没有成功使用 android ndk 21,20 和 19 为 openh264 构建库它不需要整个环境来构建这个库.. 只需 ndk 和 openh264 库。

以下是我用于编译的参考

1 关于如何编译链接的信息

https://trac.pjsip.org/repos/ticket/1947

2 安卓ndk链接

https://developer.android.com/ndk/downloads

3 OpenH264库链接

https://github.com/cisco/openh264/archive/v1.6.0.zip

这是构建库所需的三个细节。

任何帮助将不胜感激...