问题标签 [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.
windows - OpenH264 解码与网络延迟导致失败
我有 OpenH264 在我的本地网络上工作。
代码是这样的。
这适用于我的本地网络上的低延迟连接。但在慢速 VPS 等高延迟连接上失败。
我可以接收第一帧,但随后流失败并且 DecodeFrameNoDelay 不返回任何帧。
如果我将比特率和 FPS 设置得很低,我可以让它工作。这让我相信它与时间有关?
我是否应该将解码后的帧放入缓冲区,然后让解码器从缓冲区中解码帧?至于维持所需的FPS?
我感谢任何反馈谢谢!
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?. 停止。
谁能帮我解决这个问题?
ios - 由于 libstdc++,无法为 ios 构建 openh264
我正在尝试为 ios 构建 openh264。我已经从最新版本下载了源代码。然后将PREFIX
makefile 中的更改为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。这里出了什么问题?
c++ - 如何将 Openh264 DecodeFrameNoDelay 输出格式转换为 OpenCV 矩阵?
我想将DecodeFrameNoDelay
函数的yuvData
输出格式转换bufferInfo
为 OpenCV 矩阵,我可以使用imshow
函数在窗口上显示框架
将 git 链接到 DecodeFrameNoDelay 详细信息:https ://github.com/cisco/openh264/wiki/ISVCDecoder#decodeframenodelay
下面是我使用 Openh264 解码帧的代码
任何帮助表示赞赏。
谢谢和最好的问候。
c++ - Openh264 DecodeFrameNoDelay 输出缓冲区 yuv 是 yuv420 格式吗?
我用函数解码 h264 文件DecodeFrameNoDelay
并获取yuvData
缓冲区
我想将yuvData
缓冲区写入文件 .yuv 并使用 ffmpeg 命令播放。但是当我使用 ffmpeg 命令播放 yuv 文件时,结果不正确。
这是我用来播放 yuv 文件的 ffmpeg 命令:
这是我用于解码 h264 文件并将yuvData
缓冲区写入文件 .yuv的代码
我有一些问题需要澄清:
1/yuvData
我从DecodeFrameNoDelay
函数中得到的缓冲区真的是yuv420
格式吗?
2/我的代码有问题吗?
任何帮助表示赞赏。
谢谢和最好的问候。
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 被广泛使用。知道可能会发生什么吗?
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 位的方式
任何人都可以帮助解决这个问题吗?谢谢
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
文件,nm
但nm
告诉我File format not recognized
。但是,使用grep
,我发现__stack_chk_guard
这个文件中有一个符号。
我试图通过添加-fno-stack-protector
and-U_FORTIFY_SOURCE
来重建 libopenh264CFLAGS
和LDFLAGS
但这并没有改变任何东西:
仍然回答
然后我尝试通过添加相同的选项-fno-stack-protector
和-U_FORTIFY_SOURCE
emcc 来构建上面显示的代码,但它也没有改变任何东西。
知道如何摆脱这个问题吗?
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。
感谢您的帮助/想法;)
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
这是构建库所需的三个细节。
任何帮助将不胜感激...