哪些安卓设备/解码器已经支持自适应视频播放?
我已经在Nexus 5上测试过 codecInfo.isFeatureSupported(MediaCodecInfo.CodecCapabilities.FEATURE_AdaptivePlayback) 返回false. 有人知道哪些芯片组/软件编解码器支持该功能? Android/Media/Media Codecinfo.codeccapabilities.html#feature_adaptiveplayback 谢谢 解决方案 这在KK MR1之前的大多数Nexus设备上都支持.请注意,它仅是HW视频解码器. nexus 5(KK MR1)://Qualcomm Snapdragon 800 omx.qcom.video.decoder.avc omx.qcom.video.decoder.mpeg4 omx.qcom.video.decoder.h263 omx.qcom.video.decoder.vp8 Nex
4 2024-02-17
编程技术问答社区
将MediaCodec解码后的视频帧绘制到屏幕上的最快方法?
我正在寻找一种从MediaCodec解码器接收的图像框架并将其绘制到Android设备屏幕上的最快方法.重要的约束和解释是: 无法使用MediaPlayer.不允许中间应用. 必须尽快从MediaCodec解码器绘制输出帧到屏幕(最小化延迟). 可用的解码器输出格式如下: 颜色format [0] 0x00000013 color_formatyuv420planar 颜色format [1] 0x00000015 color_formatyuv420semiplanar 颜色FORFORT [2] 0x7f000001 OMX_SEC_COLOR_FORMATNV12TPHYSICALADDRESS 颜色format [3] 0x7fc00002 omx_sec_color_formatnv12 fitured 视频分辨率,因此每个输出帧的分辨率为960x720. 目标平台是Galaxy Note II,该方法可以特定于该平台(例如,利用可用的硬件
0 2024-02-17
编程技术问答社区
如何将SurfaceTexture保存为位图
当我将视频解码为表面时,我想保存我想要的框架作为位图/JPEG文件.我不想在屏幕上绘制,只想将SurfaceTexture的内容保存为图像文件. 解决方案 您必须渲染纹理. 如果它是正常的纹理,并且您使用的是2或以后的GLES,则可以将其连接到FBO并直接从中读取. A SurfaceTexture由" fwiw,保存框架的方式可能会产生重大的性能影响.一个完整的示例,证明了MediaExtractor,MediaCodec,glReadPixels()和png文件创建的使用( dractrympegframestest ). 其他解决方案 我最近一直在Android平台上查看此问题.总结各种选项以及它们为什么不适用. glreadpixels() 唯一的选择Android Java编码器当前真正拥有.据说很慢.从框架缓冲器读取,而不是纹理(因此必须先将纹理渲染到内部框架缓冲区,除非有人想记录屏幕本身).好的.有工作要工作. egl_khr_image_
8 2024-02-17
编程技术问答社区
在Android应用程序中支持JPEG硬件解码
我的Android应用需要在Android 2.2手机(及更高版本)上解码基于大分辨率的JPEG图像,目前我正在使用bitmapfactory.decodestream API,即SKIA库来解码流. 1)根据我的知识,Skia使用软件解码,即libjpeg来解码和没有使用硬件解码器.如果我错了,请纠正我. 2)是否有更快的方法来解码JPEG流(SKIA除外)? 3)可以使用"媒体框架"来提供JPEG硬件解码吗?根据我的观察,它只能用于视频和音频. 解决方案 SKIA支持加速的JPEG解码. StageFright无法处理JPEG解码.
4 2024-02-01
编程技术问答社区
Base64 编码器和解码器
是否有Android中的字符串的基本-64解码器和编码器? 解决方案 请参阅 android.util.Base64 android.util.Base64 似乎是在API版本8或Android 2.2中添加的,因此将无法在较旧的平台上使用. 但它的来源是在 android/util/Base64.java 因此,如果需要 其他解决方案 这是如何使用Base64类来编码和解码简单的字符串值的示例. // String to be encoded with Base64 String text = "Test"; // Sending side byte[] data = null; try { data = text.getBytes("UTF-8"); } catch (UnsupportedEncodingException e1) { e1.printStackTrace(); } String base64 = Base64.enco
4 2024-01-27
编程技术问答社区
在Swift 4中实现一个自定义的解码器
我想使用Swift 4中引入的新Decodable协议解码XML文档,但是,对于符合Decoder协议的XML解码器似乎没有现有的实现. 我的计划是使用SWXMLHASH库来解析XML,然后可能使该库中的XMLIndexer类扩展Decoder协议,以便可以使用XMLIndexer的实例将我的模型初始化(XMLIndexer) >由SWXMLHash.parse(xmlString)返回). 我的问题是我不知道如何实现Decoder协议,而且似乎无法在网上找到任何资源来解释其完成方式.我严格发现的每一个资源都提到了Swift Standard库中包含的JSONDecoder类,但我没有找到的资源解决了创建您自己的自定义解码器的问题. 解决方案 我还没有机会将代码转换为框架,但是您可以查看我的GitHub存储库,该存储库同时实现了XML的自定义解码器和编码器. 链接: https://github.com/shawnmoore/xmlparsing 编码器和解码器位
8 2023-12-21
编程技术问答社区
在改变了持久化数据模型的属性后,iOS Swift读取了该模型的持久化数据模型。
事先感谢您的帮助. 我想持久数据,例如用户的统计数据.假设我有一个数据模型,一个具有一些属性的类"统计信息",并且将其保存到用户的设备上.假设我已经发布了该应用程序,则用户正在录制其统计数据,但后来我想更改该类 - 或更少的属性,甚至可能在新构建版本之前重命名它们(等).但是,在进行了这些更改之后,"统计"类型现在与用户保存在其设备上的类型不同,因此它无法解码,并且似乎所有用户的先前数据直到那时都会丢失/无法实现. 如何以属性ListDecoder仍然可以解码仍在用户设备上的统计数据的方式添加对类的更改? 这基本上就是我所拥有的: class Stat: Codable { let questionCategory = questionCategory() var timesAnsweredCorrectly: Int = 0 var timesAnsweredFirstTime: Int = 0 var timesFaile
2 2023-12-19
编程技术问答社区
如何用java将FLAC文件转换为WAV文件?
我想将给定的FLAC文件转换为WAV文件.关于Stackoverflow上的大多数问题与我的问题相反.有没有人知道如何解决这个问题?我听说过一些有关Javaflacencoder link ,但我找不到将FLAC转换为Wave的方法. 解决方案 使用flac -d to(从man页面) Decode (the default behavior is to encode) 另一个选择是 Justflac 库,您再次需要 decode 来自Flac. WAV是未压缩的音频. 其他解决方案 一种方法是使用官方的FLAC代码库.当然,它的API不适合Java,而是C/C ++,但是您可以使用JNI编写类,该类别使用JNI使用一小部分C代码作为Java和本机环境之间的桥梁. 以下是有关如何为flac解码做的描述,and flac解码库 >
20 2023-11-27
编程技术问答社区
如何在WAV文件中获取频率列表
我正在尝试解码一些音频,这基本上是两个直接转换为二进制的频率(为0和800Hz的200Hz). 此样本转化为" 1001011". 第三频率为1600Hz作为位之间的分隔线. 我找不到有效的东西,我确实找到了几件事,但它已经过时了,或者只是直接不起作用,我真的很绝望. 我制作了一个示例代码,可以为此编码生成音频(测试解码器): import math import wave import struct audio = [] sample_rate = 44100.0 def split(word): return [char for char in word] def append_sinewave( freq=440.0, duration_milliseconds=10, volume=1.0): global audio num_samples = duration_millisecon
4 2023-11-27
编程技术问答社区
高质量流上的MediaCodec崩溃
我正在用以下代码解码H264视频流public void configure(Surface surface, int width, int height, ByteBuffer csd0) { String VIDEO_FORMAT = "video/avc"; if (mConfigured) { throw new IllegalStateException("Decoder is already configured"); } MediaFormat format = MediaFormat.createVideoFormat(VIDEO_FORMAT, width, height); // little tricky here, csd-0 is required in order to configure the codec properly // it is basically the first sample from encoder with flag: BUFFER_
8 2023-11-18
编程技术问答社区
创建一个用于移动的二进制文件扩展名阅读器
这是一个古老的二进制文件扩展名,实际上是由TEL Web会议软件创建的视频文件.它包含屏幕录制视频和语音音频,还可以在会议期间捕获键盘聊天日志,与会者和文档管理器窗口.它可以与Tel Inter-Tel协作播放器一起播放,这是网络会议软件包中包含的独立应用程序. 我现在要做的是找到一种在移动中播放这些文件的方法,尽管Inter-Tel协作播放器以AVI格式提供导出文件,但我想知道如何为此制作命令行脚本应用程序在Windows 7,8,10中存在很多问题,并且没有Mac OS版本. 为这种扩展创建新玩家的方法是什么? 解决方案 " Linktivity停止支持此应用程序, 看来他们是被 "我只想找到一种操纵此文件扩展名的方法,这是一个新的移动和计算机播放器" 用现代软件打开/编辑这些 .lrec 文件,您必须查看它们: 协作产品. 统一通信产品. . 我尝试了: 仅与他们联系以进行双重检查事实,但他们希望与销售人员进行实时电话交谈,这
12 2023-11-18
编程技术问答社区
FFMPEG: 解释任何编解码器函数指针的参数
我正在浏览这篇文章,AVCodec的功能指针. . 上述文章中指定的3个函数指针是: .init -> takes care of allocations and other initializations .close -> freeing the allocated memory and de-initializations .decode -> frame by frame decoding. 对于函数指针.decode,分配的函数为: static int cook_decode_frame(AVCodecContext *avctx, void *data, int *data_size, uint8_t *buf, int buf_size) { ... 这些参数的详细信息在上面的文章中指定.但是,在最新代码中,当以相同的函数为例时,其声明如下所示: static int cook_decode
20 2023-11-18
编程技术问答社区
支持帧内的编解码器
我正在使用VirtualDub,我想通过框架数字​​化VHS电影. 但是我需要一个支持内部框架的编解码器. 以下编解码器支持框架? 如果没有,我可以从哪里获得或购买用框架内的编解码器? 解决方案 从您当前的选择中: 拉加里斯可能还可以 xvid可以设置为内部模式,但这有点毫无意义. 有很多更好的免费编解码器. UTVIDEO和MAGICYUV是极好的无损内部编解码器. Cineform是非常好的有损Intra Intra Intra Intra Intra Intra,但安装更难.
8 2023-11-18
编程技术问答社区
JSON解码器类型不匹配错误
我想使用可解码来解析JSON,但是我得到错误类型不匹配,例如: swift.decodingerr.context(codingpath:[],debugdescription:"期望解码数组但找到了一个字典." 我的JSON: { "code": 0, "data": { "_id": "string", "title": "string", "images": [ "string" ], "shortDesc": "string", "desc": "string", "price": 0, "discountPrice": 0, "quantity": 0, "category": { "name": "string", "val": "string" }, "brand": { "name": "string",
20 2023-10-09
编程技术问答社区
Swift: 解码JSON响应并将嵌套的JSON存储为字符串或JSON
从网络请求中给出以下JSON;如果您想将其解码为具有Codable的迅速对象,但是您想保留嵌套的json,这是键configuration_payload的值,您怎么能做到? { "registration": { "id": "0000-0000-0000-0000-000", "device_type": "device", "state": "provisioning", "thing_uuid": 999999999, "discovery_timeout": 10, "installation_timeout": 90, "configuration_payload": { "title": "Some Title", "url": "https://www.some
4 2023-10-07
编程技术问答社区
JSON解码器Swift的潜在错误
我相信我已经在jsondecoder中找到了一个错误.如果一个人试图解码具有8个以上属性的JSON对象,我会发现一个无法识别的错误: 错误:执行中断,原因:excbadAccess(代码= 1, 地址= 0xE8).该过程已留在那时 中断,使用"线程返回-x"以之前返回状态 表达评估. 每当我执行类似于下面的代码时,就会发生此错误: struct Objects: Codable { var NAME1: String? var NAME2: String? var NAME3: String? var NAME4: String? var NAME5: String? var NAME6: String? var NAME7: String? var NAME8: String? var NAME9: String? } let NEWDATA = """ [ { "NAME1": "hi", "NAME2": "hi",
6 2023-10-07
编程技术问答社区
Netty ByteToMessageDecoder不能被@sharable。
i使用MyDecoder扩展ByteToMessageDecoder以从插座流获取消息. 它在一个线程中正常工作.但是在更多主题中,Netty报告了"处理程序应该是可共享的" 但是,我在netty api中搜索,ByteToMessageDecoder不能 @sharable,所以我该如何使用 它在多线程中. 解决方案 在您的ChannelInitializer中创建一个新实例.
18 2023-08-29
编程技术问答社区
使用 Pytorch 对图像进行迭代:批量大小为 1 时,由于 CUDA 内存问题导致错误
在训练期间,体系结构生成三个模型,现在用编码器用迭代= 16编码图像.执行6次迭代后,我遇到了一个错误. " CUDA不记忆力".我有4个GPU,我也实现了dataParallel类,但它不起作用 训练时转换 train_transform = transforms.Compose([ #transforms.RandomCrop((32, 32)), transforms.ToPILImage(), transforms.Resize((512, 512)), #transforms.ColorJitter(brightness=0.5), transforms.ToTensor(), ]) encoder.py文件 import argparse import numpy as np from scipy.misc import imread, imresize, imsave import torch from torch.autograd import
6 2023-07-25
编程技术问答社区
在Processing 3中将摩尔斯电码编码器转换为解码器的问题
我正在尝试在处理3上执行Morse代码解码器.我有Morse代码编码器的代码.但是我正在努力将编码器转换为解码器. 我也想通过单击输入摩尔斯密码,但这将是转换后的下一步. 我试图将输入和输出和字母更改为摩尔斯,但是在代码的最后一部分中,我陷入了. 这是原始编码器:这是我修改的解码器代码: String textInput; String textOutput; void setup() { textInput = decodeMorseCode(textInput); textOutput = ""; println("Morse code: " + textInput); println("Text output: " + textOutput); } void draw() { } String decodeMorseCode(String in_string) { String MorseCodeInput = in_str
4 2023-07-14
编程技术问答社区
为什么我在使用json.load将我的JSON数组变成Python列表时得到解码器错误?
以下是我在" python lastyararay.py"终端收到的错误代码. (我正在使用MacBook Pro运行OSX 10.9.5,在Jedit编辑我的Python程序).根据此链接: typeError:预期字符串或缓冲区使用也不列出列表.我只是使用JSON文件而不是转换它,但是此特定的JSON数据没有标题或元素标签,例如"水果:苹果,香蕉,橙色";它只有一串长的数字,被逗号和牙套分开. Traceback (most recent call last): File "lastYearAnalysis.py", line 8, in PyListData = json.loads(lastYearArray) File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/__init__.py", line 339, in lo
2 2023-07-11
编程技术问答社区