[Android 外挂字幕维护Note ]一次字幕版本release的心酸过程

RK平台之mpp编解码编译环境搭建(Android环境) 阅读详情

客户(AN4.4的平台)报了一个sub字幕显示不了的问题,好吧,看。拿开发板烧image,拿最新的subtitle lib一替换之后,sub字幕显示了哈,开心。


然而,字幕竟然不同步,哼。一想,应该是帧率没有跟上,毕竟sub字幕文件如果没有给出帧率,那么就要有mstplayer给帧率。


然后查了下git的log历史,哈,真是已经上过code了,更新libmmp.so之后一看,嗯,同步搞定了哈。


事情到这我以为结束了,但其实才刚刚开始..


  下午Fae RTX告诉我,验证是OK了,但是subtitle 单独编译能通过,mmp编译不行啦,在头文件和so替换最新的情况下。XD.


那边FAE的小leader又在追杀,搞得我火燎火急的看到底编译哪里出错了。一编译,晕,怎么会是条件编译的地方出错呢,不应该呀,绝对不会呀。


然后静下心来再三看几遍,确实是没看出什么问题。


这里是字幕的头文件 

#if defined(JB_41) || defined(JB_42)
    void SetISurfaceTexture(const sp<ISurfaceTexture> &isurfacetexture);
#else
    void SetIGraphicBufferProducer(const sp<IGraphicBufferProducer> &graphicbufferproducer);
#endif


mmp的头文件是这样的

#ifndef JB_43
#include <gui/ISurfaceTexture.h>
#define IGraphicBufferProducer ISurfaceTexture
#else
#include <gui/IGraphicBufferProducer.h>
#endif


编译的时候提示ISurfaceTexture这个类找不到。字幕的头文件的话 4.4编译那么应该是走SetIGraphicBufferProducer呀。


然后mmp也是会声明  IGraphicBufferProducer的呀。这样ok呀,为啥会错呢。


搞不懂。因为mmp的头文件不能修改,所以字幕的头文件出错的条件编译地方,我保留了下来,只是更新最新的头文件的剩余地方的code。


然后再编译可以ok了。


这边mmp编译过去了,但是还有一步要做,那就是要重新buid subtitle的so,因这边mmp下面的subtitle头文件没有全部更新,


那么在新的subtitle lib里面就要使用旧版的条件编译的代码。


这里必须吐槽下subtitle的管理,竟然没有版本号的说明,客户的板子对应哪个版本都找不到,伤。。


然后在最新的subtitle的头文件中改用旧版的条件编译。


改完之后,一编译,错误。我没有修改cpp文件的条件编译,当然错。该打脸 。


于是修改了新版subtitle的cpp 文件中条件编译为旧版模式


然后再重新编译,还错。再打脸。我使用的是新版的MK文件编译,应该是这里出错。


然后再找到旧版的MK文件:9731ef57bd14a634f3d32c32ae486598dfc4f596(CL)


然后直接替换,再编译,终于在4.4平台编译过去了最新版的subtitle lib。


最后是上code release.使用symbols目录下的lib替换了subtitle 4.4下面的两个lib,


然后是git 提交修改的头文件,至此。4.4的subtitle 版本release完毕...



Subtitle And Video Renamer0.2.1汉化版(字幕及视频更名器) 立即下载

相关推荐

Android 外挂字幕,支持srt和ass格式,支持微调字幕

支持srt和ass格式,支持微调字幕,支持修改字幕文字大小,颜色,位置

2021-06-04

Java多线程看这一篇就足够了(吐血超详细总结)

ningmeng666_c的博客 136

subeditor:直接在您的 Android 设备上编辑字幕的简单应用程序

副编辑 直接在您的 Android 设备上编辑字幕的简单应用程序。 支持的格式: 子文件.srt

提取mkv中自带的sub字幕,并ocr成srt

完成后打开装有OCR引擎的那款SubtitleEdit,拖入刚才输出的sub文件(注:后来发现有的不用提取sub也行…软件:【中文版mkvtoolnix-64-bit-77.0-setup.exe】绿箭头设置文件格式(自己改后缀,蓝光pgs字幕提取出来的。红框箭头根据自己情况设置,橙色箭头开始ocr。橙箭头只选择字幕轨道。黄箭头选择输出文件夹。然后文件另存为srt。

qq_41131072的博客 7596

android 外挂字幕,目前仅支持SRT格式

让你们的视频支持外挂字幕,目前仅支持SRT格式,如果需要更多格式自己修改解析类,直接把两个类粘贴到你的工程就可以的,如何引用在类里面都写的很清楚

YOLOv11多模态融合实战:基于YOLOFuse的RGB与红外线(IR)协同检测技术解析

本文深入解析了基于YOLOv11的YOLOFuse多模态融合技术,重点探讨了RGB与红外线(IR)协同检测的实现原理与实战应用。文章详细介绍了双流架构与数据级、特征级、决策级三种融合策略,并通过实战案例展示了其在低光照、复杂环境下显著提升检测精度与鲁棒性的优势,为全天候安防、自动驾驶等场景提供了有效的技术解决方案。

weixin_29041195的博客 650

Release Notes

发行说明 (Release Notes) 尽早发布,经常发布 — Eric S. Raymond, The Cathedral and the Bazaar 版本 (Versioning) 次要版本号 (0.0.x) 用于 API 兼容的更改。您应该能够在小点版本之间进行升级,而无需更改任何其他代码。 中等版本号 (0.x.0) 可能包含 API 更改,这与弃用策略一致。在中点版本之间进行升级之前...

Nancy 博客 6965

Windows Server 2012评估版过期自动关机问题:两种高效解决方案详解

本文针对Windows Server 2012评估版过期导致的自动关机问题,提供了两种高效解决方案。一是通过slmgr.vbs命令重置授权,临时延长评估期;二是使用DISM工具将评估版转换为正式版,一劳永逸。文章详细解析了两种方法的操作步骤、注意事项及适用场景,帮助用户快速恢复服务器稳定运行。

pytorchlight8的博客 1195

AN 外置字幕CTS crash(memcpy) && backtrac文件分析

报错的backtrace 01-01 20:16:43.110 1687 1687 F DEBUG : backtrace: 01-01 20:16:43.110 1687 1687 F DEBUG : 00 pc 0001692c /system/lib/libc.so (__memcpy_base+88)  01-01 20:16:43.111 1687 1687

muxi@Achilles的专栏 1113

JWT实战:5分钟搞定Spring Boot集成JWT认证(含完整代码示例)

本文详细介绍了如何在Spring Boot中快速集成JWT认证,提供完整的代码示例和配置指南。通过JWT实现无状态认证,解决分布式系统中的会话管理问题,提升系统扩展性和安全性。涵盖令牌生成、验证、Spring Security整合及生产级优化方案。

weixin_29327525的博客 456

【深度学习-番外1】Win10系统搭建VSCode+Anaconda+Pytorch+CUDA深度学习环境和框架全过程

本文将介绍在Windows 10系统下搭建深度学习环境的完整过程,包括安装Anaconda、CUDA、NVIDIA显卡驱动以及Pytorch框架。后续本专栏的Python语言下的深度学习环境都以本篇搭建的为准。

fengzhuqiaoqiu的博客 4003

Subtitle Workshop——雪峰推荐字幕工具

官方站点:www.urusoft.net体积:1 MB注册:免费软件运行系统:Windows 9x, ME, NT, 2000, XP 安装需要:需要播放你要做的影片所需的解码器。 官方站点下载本地下载 这是雪峰提取压缩的程序文件,不用安装直接解压后即可运行,界面已经变成中文。安装完成后第一次运行,可 Settings > Language > Chinese Simpli

雪峰的专栏 6273

【YOLO11改进 - 特征融合】利用Hyper-YOLO 的混合聚合网络(MANet)改进yolo11,提升基础网络的特征提取能力

【YOLO11改进 - 特征融合】利用Hyper-YOLO 的混合聚合网络(MANet)改进yolo11,提升基础网络的特征提取能力

专注于图像领域,主要研究内容包括计算机视觉和深度学习,特别是在图像分类、目标检测和图像生成等方面有深入的研究和实践经验。 905

Android外挂多字幕开源库(Subtitle for Android)

Subtitle For Android 是一个Android平台视频播放多字幕支持库,几乎支持所有的Android版本,可以在需要外挂字幕中的项目集成。支持的字幕格式有:.SRT、.SCC、.ASS、.STL、.TTML格式的字幕文件。集成方式简单,可几行代码就可以使你的播放器支持外挂做字幕的支持。 项目地址:https://github.com/averyzhong/SubtitleForA...

han_han_1的专栏 8066

go实现MQTT broker(附完整源码)

go实现MQTT broker(附完整源码)

希望我的博客,能帮上你解决学习中工作中所遇到的问题 577

【人工智能之深度学习】15. 工业时序预测实战:LSTM与TCN融合的装备故障预警系统设计与实现

摘要:工业装备故障预警是智能制造领域的核心技术之一,其通过分析传感器时序数据实现故障提前预测,可显著降低运维成本并提升设备可靠性。本文针对工业时序数据多源异构、非平稳性、噪声干扰及样本不平衡等挑战,提出一种LSTM与TCN融合的故障预警架构——利用TCN捕捉局部时序特征,结合注意力增强LSTM建模长期依赖关系,通过门控机制实现特征自适应融合。以3MW风电齿轮箱为研究对象,设计包含数据预处理、特征工程、模型训练及部署的完整流程,实验结果表明,该融合模型准确率达94.6%,故障预测提前量较单一模型提升30%以上

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 1442

TedSubtitle Release Report

TedSubtitle  Download: http://www.disandu.com/download/tedSubtitle.rar Description:      Get ted talk's subtitle from TED.com and conve

ThinkHY的专栏 1951

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

avsubtitleWriter demo解析(三):SubtitlesTextReader

前面两篇 我们已经完成了subtitle类的几个方法的说明,现在我们hu

Mamong's blog 1852

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

谷歌机翻英文字幕输出(Subtitle Edit)

Subtitle Edit 下载地址(https://github.com/SubtitleEdit/subtitleedit/releases/tag/3.5.0) 添加字幕文件后,点下图的Auto-translate,再点击translate(power by google)##此处要翻zxz墙## 点击translate 关闭原英文字母,点击close original sub...

weixin_30526593的博客 1579

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

关于Daily Build Release Note

<br />对于daily build,build completed 完成并且经过BVT pass,cimmit和full extract之后需要对该build进行release,那么一个具体的release note该怎么写呢?<br /><br /> 1 第一部分: 关于本次release的dirver的信息<br /> release Name:<br /> Driver的时间:<br /> Build的状态: Green,Yello还是Red<br /> 相关的信息描述:<br />

从菜鸟到菜菜鸟 3880

How to write Release Note (IT product)

软件产品开发完成后,在向市场发布的同时,release note是必不可少的发布内容。它作为当前产品版本的说明,起着至关重要的作用,也是一款正规产品密不可分的一部分。 以下是列举的是release note的组成部分: Homepage Product name and logo, publish version and date General information Compan...

逗号的博客 3174

总结一下对buffer的学习体会

很多人讲lockcanvas,没有讲清楚到底是怎么回事。   问题1:lockcanvas出来的canvas到底是什么东西? 里面的位图到底是什么? 问题2:整个android系统到底有多少个Buffer?android的多个进程又是通过什么方式来共享buffer的。   先讲一个静态基本概念: ISurfaceTexture 是一个很关键的概念,建立了客户端Buffer与服务端的连接...

daojin505的专栏 327

GraphicBufferProducer的引用关系

最近碰到一个问题:压测SurfaceFlinger 会crash掉,提示 383 783 F SurfaceFlinger: Suspected IGBP leak: 4097 IGBPs (4096 max), 49 Layers 本文侧重点是介绍IGBP的创建与销毁。 一. GraphicBufferProducer 的server端 该log是SurfaceFlinger.cpp中打印的,其代码段如下 status_t SurfaceFlinger::addClientLayer..

入琞的博客 4719
上一篇: [Android 外挂字幕维护Note] MakeFile文件修改添加
下一篇: 上code原则
muximuxi525
博客等级 码龄15年 134粉丝 294原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值