问题标签 [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 投票
3 回答
2695 浏览

ios - 如何在 iOS 应用项目中正确嵌入第 3 方 .dylib 文件以供 App Store 发布?

我正在使用支持 H264 的 PJSIP 库构建 iOS 应用程序。构建 H264 时,我得到 1 个 .a 文件和 2 个 .dylib 文件。我尝试通过添加为“嵌入式库”以及创建一个单独的框架然后将其添加到“嵌入式库”中来在我的项目中使用 .dylibs。但是在将构建上传到 App Store 时,我收到错误“ERROR ITMS-90206:...”、“ERROR ITMS-90171:..”。所有指向在项目中使用外部动态库。我关注了 https://developer.apple.com/library/content/technotes/tn2435/_index.html#//apple_ref/doc/uid/DTS40017543-CH1-TROUBLESHOOTING_BUNDLE_ERRORS-EMBEDDED__DYLIB_FILES

但他们要求遵循“添加框架目标”中的步骤。我不知道如何创建一个只有 2 个 .dylib 文件而没有其他源代码或头文件的框架。请展示将 .dylib 文件嵌入 iOS 应用程序以供 App Store 提交的步骤。

0 投票
1 回答
1705 浏览

c++ - 如何在 mingw 上安装 nasm 以使用 pjsip 库为 Windows 应用程序构建 openh264 库

我正在努力在 mingw 中构建 openh264 库。显示一些错误,例如 nasm not INSTALLED ERROR found ..如何解决问题..

实际上,我想在 pjsip 库中添加视频设置以运行呼叫应用程序。我已将命令放入 mingw 中,例如 >>make install 。

任何人都知道构建库的问题或正确命令。

任何帮助。在此先感谢...

https://trac.pjsip.org/repos/wiki/Getting-Started/Windows#BuildPreparationforWindows https://trac.pjsip.org/repos/ticket/1947

0 投票
0 回答
1090 浏览

c++ - 通过网络 OpenH264 解码 H264 流

我正面临 OpenH264 库https://github.com/cisco/openh264的问题

我想在我的 C++/Qt 程序上解码我的树莓派相机通过网络发送的流,这将显示图像。

我在 Raspberry Side 上使用 gstreamer 使用以下命令行发送流:

当我执行时在桌面端:

我能够正确地看到相机的流。

好的,那么现在。我想使用 QT/C++ 和 OpenH264 解码器制作自己的解码器。

这是我的代码:

当我得到一个新数据时,我调用decodeStream但这个函数返回一个错误:

我不知道我做错了什么...我应该更改树莓派发送的一些参数吗?

感谢您的帮助。

0 投票
1 回答
1012 浏览

c# - FFmpeg autogen 结合 openh264

我正在使用 FFmpeg autogen 将从 PC 实时(60 或 30 fps)捕获的图像流式传输到 Android 应用程序。当我使用 FFmpeg autogen 提供的 h.264 编码示例时,一切都运行良好。

据我了解,FFmpeg autogen 受 LGPL 许可,如果您使用在 LGPL 许可下编译的自定义 FFmpeg 库,例如ffmpeg-win32,您可以动态链接到 FFmpeg autogen 库而不会违反 LGPL 许可,如果您的项目是示例闭源。

所以我认为一切都会好起来的,但后来我发现 h.264 编码在美国获得了专利,而 MPEG LA 代表 AVC/H.264 技术的专利持有人。如果您将它用于免费视频,则可以使用 h.264 编解码器而无需支付版税。尽管如此,我使用编码器的 Windows 程序是免费的,但我的 Android 应用程序不是免费的,所以我想我必须支付版税。

关于这个问题,我有几个问题:

  1. FFmpeg autogen 使用哪个编码器,因为据我所知 x264 受 GPL 许可。我假设它将使用一些内部 FFmpeg 软件编码器?

  2. 您不能在不免费提供其编码视频流且无需支付版税的项目中使用任何来自 FFmpeg(x264 等)的内置标准编码器,对吗?

  3. 经过一些研究,我发现了 openh264。该库由 cisco 构建,他们将支付所有版税,但您不能将其与您的应用程序捆绑在一起,必须在安装过程中下载。它也适用于 FFmpeg,但我如何让它与 FFmpeg autogen 一起使用?我是否需要使用来自 cisco 的 openh264 库的自定义 FFmpeg 构建?

我知道这不是一个律师论坛,但也许有人已经处理了所有这些问题,或者至少可以回答有关 FFmpeg autogen 的问题。我现在在互联网上搜索了一段时间,但不幸的是,h.264 的许可机制似乎并不那么容易理解。

0 投票
1 回答
2057 浏览

c++ - 使用 libmp4v2 和 OpenH264 将 h264 复用到 mp4

我使用OpenH264作为编码器,我想使用 libmp4v2 将其输出复用到可播放的mp4

结果.mp4仅部分起作用。它可以在VLCMPC-HC中播放,但不能在 Windows Media Player 或 Windows 10“电影和电视”应用程序中播放。
我的目标是该文件适用于所有这些播放器。

两个 Windows 播放器都告诉我他们不知道编解码器,所以他们无法播放它: 这不是真的,因为我可以使用cli中的FFmpeg使用相同的 h264 比特流播放手动混合文件:在此处输入图像描述

根据这个知识,我认为我的编码过程工作正常,问题出在复用过程中。

编辑: 感谢 Rudolfs Bundulis 的回答,他指出 SPS/PPS 数据丢失,我能够重组我的代码。它现在尝试通过分析编码器比特流和调用MP4AddH264SequenceParameterSetMP4AddH264PictureParameterSet在必要时包含丢失的数据。但仍然没有成功。

我的完整代码:

0 投票
1 回答
1122 浏览

h.264 - 如何在 H264 字节流中分离 I 帧(IDR 切片)和 P 帧(非 IDR 切片)?

我正在通过对来自 IP 摄像机的视频片段进行解包来创建 H264 字节流。

我正在使用以下语法:

解码这个字节流后,我得到了一个半模糊的图像。我假设这是因为缺少 P 片

如何在 I 帧之后附加 P 帧以获得正确的视频帧?应该如下所示:

提前致谢!

0 投票
1 回答
151 浏览

c++ - Openh264 编码器增加 IDR 或 I 帧的数量

我正在寻找一种方法来控制 openh264 编码的 IDR/I 帧的频率。有没有可以存档的编码器设置?

0 投票
2 回答
468 浏览

android - linux下为android构建openh264

我正在尝试构建 openh264 以在 android 上使用

-我有来自 git 的最新 openh264 源

-我有 ndk 17

-我正在使用 ubuntu 16.04

跑步

我得到错误:

0 投票
1 回答
1270 浏览

android - 如何在H264上接听电话和丢失包时修复黑屏

我正在使用 linphone IOS/Android 库开发 VOIP 应用程序。

基本上我使用的是 OpenH264 视频编解码器。

接听电话时,双方都看到黑屏。

很长一段时间后,两个尺寸都可以看到对方的视频。

当我看到日志时,有很多数据包丢失,因此无法解码第一帧。

在 LinphoneCallStreamsRunning,我调用了 FIR (linphone_call_send_vfu_request) 请求但没有帮助。

OpenH264 视频编解码器是否有任何配置?

我想在接听电话后立即观看视频。

谢谢你。

0 投票
0 回答
95 浏览

c++ - 没有 lib 文件和头文件时,如何在 Visual Studio C++ 中使用 dll 文件?

我想在我的 Visual Studio C++ 项目中使用OpenH264 库。现在,我得到了使用预编译版本的建议,因为他们已经提供了。

但是当我查看版本时,只有一个预编译的 dll 文件,没有别的。或者我只是无法找到其余的。

无论如何,现在我必须使用没有任何显然不需要的 lib 和头文件的 dll 文件。那么给了什么?

从这一点开始,推荐的前进方式是什么?我可以自己创建丢失的文件还是有更好的方法?