[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格式,如果需要更多格式自己修改解析类,直接把两个类粘贴到你的工程就可以的,如何引用在类里面都写的很清楚

搭建ipv6并发代理池

我开了个知识星球,把将本期搭建写成shell脚本已放到了里面,有需要的小伙伴可以自行去取,jd的参数,阿里bxet纯算、快手滑块,Pdd—Anti,ikuai,b站login之-极验3文字,某音ab,瑞数456vmp补环境等等,主要是某些大佬加我问成品,很多人都打着白嫖的手段去加我好友为目的,问完基本就以后没有任何的交集,这样的交好友雀氏没有任何意义。不如我直接开个星球,里面直接放我逆向的成品以及逆向的思路,这样大家各取所需,我也有点收益,意义更明确点,免得浪费大家的时间。我是pve下的ubuntu。

weixin_44697518的博客 1472

Release Notes

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

Nancy 博客 6965

Ubuntu24.04下Librenms的完整安装与配置指南

本文提供了在Ubuntu 24.04 LTS系统上完整安装与配置LibreNMS网络监控系统的详细指南。内容涵盖系统环境准备、依赖安装、源码获取、PHP/数据库/Nginx配置、Composer安装、网页向导设置以及设备添加与日常使用,帮助用户快速部署一套功能强大的开源网络监控解决方案。

tgb3456789的博客 1139

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

Win11 C盘爆满别慌!手把手教你安全迁移AppData和用户文件夹(附一键脚本)

本文针对Win11 C盘空间不足问题,提供了一套安全有效的解决方案。通过深入解析用户目录结构,指导用户利用符号链接和Robocopy工具,将AppData、下载文档等占用大户迁移至其他分区,并附带了自动化脚本,从根本上实现C盘瘦身,同时确保系统稳定和数据安全。

weixin_29231221的博客 2090

告别CAPL编程!用Matlab/Simulink+CANoe实现复杂ECU仿真的5个技巧

本文介绍了如何利用Matlab/Simulink与CANoe进行联合仿真,以替代复杂的CAPL编程,高效实现复杂ECU仿真。文章分享了5个核心技巧,涵盖信号映射、模型编译集成、实时参数调整、性能优化及数据分析,帮助算法工程师构建稳定强大的仿真环境,显著提升开发与测试效率。

rgv234567的博客 296

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

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

雪峰的专栏 6273

基于STM32的工业设备状态监测系统

工业设备的预测性维护需求日益增长,本文设计了一款基于STM32的智能监测终端,可实时采集设备振动、温度、电流等关键参数,通过边缘计算分析设备健康状态,实现故障预警与能效优化。系统支持4G/LoRa远程通信,适用于工厂、发电站等工业场景。本系统实现了工业设备关键参数的实时监测,故障识别准确率达到92%。:STM32F429(带FPU,支持浮点运算)多参数联合判据(振动+温度+电流突变检测)ACS712电流检测模块(0-30A)FFT频谱分析(识别轴承故障特征频率)故障代码生成(支持16种预设故障类型)

stm32d1219的博客 1328

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

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

han_han_1的专栏 8066

脑机接口(BCI)从原理到开发实战 09|SSVEP应用:通过视觉刺激控制设备

本文介绍了稳态视觉诱发电位(SSVEP)脑机接口技术。SSVEP是一种高效的非侵入式BCI范式,当用户注视特定频率闪烁的视觉刺激时,大脑枕叶会产生对应的节律性响应。文章详细阐述了SSVEP的神经机制、刺激范式设计、数据预处理方法,重点讲解了典型相关分析(CCA)这一核心识别算法。相比运动想象和P300范式,SSVEP具有信息传输率高(60-100 bits/min)、信号稳定、无需训练等优势,在高速拼写、设备控制等领域应用广泛。文章还提供了完整的电极选择、滤波、分段等预处理流程,以及CCA和滤波器组CCA的

小明的博客 1355

SAP GUI 经典事务在 Fiori Launchpad 中的穿越之道:原理、配置与实践指南

在许多企业的 S/4HANA 或 ECC 系统里,经典 SAP GUI 事务依旧承载着关键业务。如何把这些老将自然地嵌入到 Fiori Launchpad,让用户在统一入口里无缝切换新旧 UI,是项目中经常遇到的主题。本文结合社区博文、官方文档与实际项目经验,系统梳理这一过程的技术原理、配置步骤、性能优化以及常见坑点,并给出贴近中国读者的案例解析与改进建议。阅读完毕,你将不仅知道怎么做,还会理解。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 623

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

2023年GESP12月认证C++五级真题解析

例如,如果a=4,那么4是最⼩的幸运数,而1不是,但我们可以连续对1做3次+1操作,使其变为4,所以我们可以说,1幸运化后的结果是 4。【题目大意】给一个完全平方数的标准,推导出哪些是超级幸运数,然后判断N个数字中,哪些是超级幸运数,是的输出“lucky”,不是的输出离该数字最近的比它大的数字。前一个数字,下标是j的数字是偶数,后面的数字下标是j+1的是奇数,按照要求,偶数在奇数的后面,要交换。A函数时间复杂度是O(n/2),B函数算法是O(sqrt(n)),大部分情况后者是优的,值更小。

lan_in的博客 1007

avsubtitleWriter demo解析(三):SubtitlesTextReader

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

Mamong's blog 1852

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

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

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

谷歌机翻英文字幕输出(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

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

关于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

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

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、付费专栏及课程。

余额充值