bitmap类型字幕多见于蓝光片源。但是在原生ijkplayer中,只有针对文本类型字幕的处理,而不支持bitmap类型字幕,相关代码如下
//static void video_image_display2(FFPlayer *ffp) @ ff_ffplay.c
if (is->subtitle_st) {
if (frame_queue_nb_remaining(&is->subpq) > 0) {
sp = frame_queue_peek(&is->subpq);
if (vp->pts >= sp->pts + ((float) sp->sub.start_display_time / 1000)) {
if (!sp->uploaded) {
if (sp->sub.num_rects > 0) {
char buffered_text[4096];
if (sp->sub.rects[0]->text) { //在这里只对text类型和ass类型的字幕做了相应的的处理
strncpy(buffered_text, sp->sub.rects[0]->text, 4096);
}
博客内容介绍了如何在ijkplayer中实现bitmap类型字幕的播放,通过在video_image_display2方法中处理字幕类型,JNI层创建Bitmap对象,Java层绘制到View,借助ExoPlayer的相关类完成图片字幕显示。
订阅专栏 解锁全文

9383

被折叠的 条评论
为什么被折叠?



