iOS 版 ffmpeg 的替代方案

2024-02-11

几周来我一直在尝试在我的 ios 应用程序中实现 ffmpeg。现在我可以播放几个 avi 文件,但其他文件(例如 flv、wma、mp4...)播放速度很慢。

我花了很多时间使用 ffmpeg 和 opengl,但没有找到解决方案。

我正在寻找其他替代方案来在 ios 设备上播放此文件。

有人知道其他库、框架……我可以用它们来播放这个文件。不管有没有营业执照。

很感谢,

Edited:

初始化着色器:

 shader = [[GLShader alloc] initWithFileName:@"render" attributes:[NSDictionary dictionaryWithObjectsAndKeys:
                                                                                             [NSNumber numberWithInt:0], @"position",
                                                                                             [NSNumber numberWithInt:1], @"texCoords", nil]
                                         uniforms:[NSDictionary dictionaryWithObjectsAndKeys:[NSNumber numberWithInt:0], @"sampler0",
                                                                                             [NSNumber numberWithInt:0], @"viewProjectionMatrix",nil]];

渲染.fsv:

uniform sampler2D sampler0;
varying highp vec2 _texcoord;
void main()
{ gl_FragColor = texture2D(sampler0, _texcoord);}

渲染.vsf:

attribute vec4 position;
attribute vec2 texCoords;
varying  vec4 colorVarying;
varying vec2 _texcoord;
uniform mat4 viewProjectionMatrix;

void main()
{   _texcoord = texCoords;   
gl_Position = viewProjectionMatrix * position;}

我如何在这段代码中实现您的解决方案?


我也遇到过类似的问题。有两个瓶颈:

  1. decoding
  2. 从 yuv 到 rgb 格式的转换

我通过使用着色器转换图像解决了第二个问题。现在它的运行速度非常快(我可以在 iPad 2 上以 30 fps 的速度同时渲染 6 个视频)。

这是片段着色器的一部分:

    uniform sampler2D y;
    uniform sampler2D u;
    uniform sampler2D v;

    ...
    y = texture2D(y, vec2(nx,ny)).r;
    u = texture2D(u, vec2(nx, ny)).r - 0.5;
    v = texture2D(v, vec2(nx, ny)).r - 0.5;

    r = y + 1.13983*v;
    g = y - 0.39465*u - 0.58060*v;
    b = y + 2.03211*u;

    gl_FragColor = vec4(r, g, b, 1.0);

注意:您必须将 y、u、v 分量存储在 3 个不同的纹理中。

nx 和 ny - 是标准化纹理坐标(从 0 到 1 纹理)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

iOS 版 ffmpeg 的替代方案 的相关文章

  • 带有 HTML 的 UIActivityViewController

    当我将包含 HTML 内容的字符串作为数组元素传递给UIActivityViewController initWithActivityItems方法中 它不会在选定的 共享 控制器中将其呈现为 HTML 而是呈现 HTML 源 即标记而不是
  • 识别用户是否在 iOS 6 设置中定义了本机 Facebook 帐户

    有没有办法通过 FACEBOOK SDK 3 1 和 iOS 6 知道用户是否在 iPhone 设置中定义了其 Facebook 帐户以供本机 Facebook 使用 我想要做的是 当打开我的应用程序时 如果用户在 iPhone 设置中定义
  • 如何在iOS中像Android一样实现菜单

    我需要为 iOS 实现菜单 例如android menu表示导航按钮栏 右侧 如果我点击该菜单就会显示 我正在使用故事板 所以你想要这样的东西 甚至可以在风景中使用 我想我要花很长时间来解释 D 基本上我创建了一个自定义 UINavigat
  • Measure 应用程序是否有可用的 URL 方案?

    我想推出新的测量应用程序 在 iOS 12 上 在我的应用程序中 这可能吗 应用程序是否有可用的 URL 方案可用于此目的 或者还有其他方法可以做到吗 Thanks 您似乎无法打开此应用程序 In the 文档存档 https develo
  • iPhone 应用程序在 iPhone 4 尺寸下运行,更新后出现黑条

    此前 该应用程序支持 iPhone 5s SE 屏幕和 iPhone 6 8 屏幕 不包括加大尺寸 这是使用启动图像完成的 因此 在 Plus 尺寸设备和 iPhone X 设备上 它会在应用程序上方和下方显示黑条 然后我们发布了一个更新
  • 如何从我的 appDelegate 访问我的 viewController? iOS系统

    我有一个在 xCode 中创建为 基于视图的应用程序 的 iOS 应用程序 我只有一个 viewController 但它会自动显示 而且我没有看到任何将它与我的 appDelegate 关联的代码 我需要将数据从 appDelegate
  • YouTube 嵌入不适用于 iPhone ios <= 12

    在 ios 您甚至可以在 YouTube 官方文档中尝试此操作 https developers google com youtube youtube player demo https developers google com yout
  • C#中图像制作视频的工作方式

    有人有已知的可靠方法来从一系列图像文件创建视频吗 在你因为我在发布问题之前没有寻找答案而对我进行批评之前 以及在你发出诸如 使用 FFMPEG 之类的简单消息之前 请阅读此消息的其余部分 我正在尝试从一系列图像 jpg bmp 等 创建视频
  • 用户 displayName 在电子邮件注册方法的 .onCreate 触发器中未定义

    我尝试实施 onCreatefirebase 云函数就像 Firebase 云函数 codeLab 中一样 https codelabs developers google com codelabs firebase cloud funct
  • Swift 中的“is”关键字

    据我所知 似乎共识是is在 Swift 关键字中是同义词isKindOfClass method 但是 我在执行以下操作时遇到困难 inside of a method in UITabViewController check if the
  • 加快故事板打开速度

    当我打开 Storyboard 文件时 由于其中包含 VC 的数量 需要 1 2 分钟才能打开 加快速度的最佳做法是什么 我们是否应该将一些 VC 移动到不同的故事板文件中 我们是否应该使用更多的 xib 文件来减少 VC 中的元素数量 对
  • 自动从 iTunes Connect 下载销售报告

    我有一个漂亮而 hacky 的 Perl 脚本来自动从 iTunes Connect 抓取和下载销售报告文件 截至今天 苹果对销售报告网站进行了全面改革 它看起来好多了 但它使用了大量 JavaScript 简单的抓取不再有效 那么 有人知
  • UIWindow.makeKeyAndVisible() 在 XCTest 中抛出“props 必须具有有效的 clientID”错误

    我正在 Xcode 中使用 XCTest 测试 UIViewController 为了测试一些导航和警报功能 我需要将视图控制器放在 UIWindow 中 我使用以下代码执行此操作 let myViewController UIViewCo
  • xcodebuild 错误 - SecKey API 返回:-25308

    我在尝试构建 iOS 应用程序时收到以下错误 此错误仅在构建发布配置时发生 另外 我使用 CocoaPods 作为第三方依赖项 这些构建通过 SSH 在 Jenkins 上运行 SecKey API returned 25308 null
  • 设备锁定时播放 iPod 库中的音频

    只是一个简单的问题 我已经将我的程序设置为能够播放AVAudioPlayer and AVPlayer在后台 运行良好 我可以播放歌曲 锁定屏幕 声音将继续播放 我遇到的问题是打电话 AVPlayer play 虽然我的屏幕已经锁定 这最终
  • 在相机视图上叠加一个框架,然后保存并使用生成的照片(捕获的内容和叠加框架)

    我希望我的应用程序中有一个功能 让您为自己或其他有名望的人拍摄一张照片 例如 通缉 然后用户拍摄照片 叠加层和照片将合并为一张 生成的图像可在代码中使用 任何想法从哪里 如何开始 有什么教程之类的 Cheers 它可能会有点棘手 处理应用于
  • 如何创建媒体文件的稳定校验和?

    如何仅创建媒体数据的校验和而不包含元数据以获得媒体文件的稳定标识 最好是使用支持多种格式的库的跨平台方法 例如vlc ffmpeg 或 mplayer 媒体文件应该是常见格式的音频和视频 图像也很好 好吧 可能已经晚了 11 年才得到答案
  • iOS 8.0 中的 UISearchBar barTintColor clearColor 错误

    在我的应用程序中我正在使用UISearchBar在 xib 与Xcode6 我给的条形锡颜色是透明颜色 它正在努力iOS 7 1 below 但主要问题在于iOS 8 0它的颜色不清晰 它显示黑色 看图片 任何对这个问题有冒险精神的人 我在
  • 为什么NWPathMonitor状态总是满足?

    当没有连接时 我从 URL 会话中收到一条错误消息 指出请求超时 我正在使用网络协议来事先检查连接情况 但显然当我在内部调用它时这不起作用viewDidLoad static func startUpdateProcess let moni
  • KeyboardAvoidingView“行为”中的高度与位置与填充

    KeyboardAvoidingView 中有一个 行为 属性 例如 import KeyboardAvoidingView from react native

随机推荐