网页无插件视频流媒体播放器EasyPlayerPro-IOS版如何解决有声音无画面的问题?
时间:2022-07-24
本文章向大家介绍网页无插件视频流媒体播放器EasyPlayerPro-IOS版如何解决有声音无画面的问题?,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
近期我TSINGSEE青犀视频接到两个不同的用户反馈,称将EasyPlayerPro集成进iOS播放器里,出现了声音存在,但没有画面显示的现象。对于此我也比较纳闷,因此我逐个排查了一下原因。
原因一:视频编码静态库未配置
在我排查的过程中,发现这个流的视频编码是MPEG4的格式,而在编译ijkplayer静态库的时候没有加入相关配置。
解决问题
1、在ijkplayer-master的config文件夹下打开module-pro.sh, 在# ./configure --list-decoders下添加如下代码:
export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-decoder=mpegvideo"
export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-decoder=mpeg4"
2、添加后重新编译一下你的FFmpeg
./compile-ffmpeg.sh clean
./compile-ffmpeg.sh all
3、然后打开IJKMediaPlayer.xcodeproj项目,编译IJKMediaFramework.framework库。
原因二:SDL渲染画面未处理数据
还有一种情况,是由于SDL渲染画面后,没有及时的清理数据,导致画面接收失败,而音频正常播放。
解决问题
1、在IJKSDLGLView.m文件中,- (BOOL)setupEAGLContext:(EAGLContext *)context 方法中添加代码: [CATransaction flush];
2、在- (void)displayInternal: (SDL_VoutOverlay *) overlay 方法中也添加代码: [CATransaction flush];
- 【Go 语言社区】Golang 动态实例化结构体
- 【Go 语言社区】Go 错误处理
- 【Go 语言社区】Go 语言范围(Range)
- 【Go 语言社区】JS 相关---Window Location
- 【Go 语言社区】Go 语言Map(集合)
- 【Go 语言社区】JavaScript Date(日期)对象
- UWP基础教程 - XAML类型转换器
- Oracle 12c Data Guard搭建(一) (r10笔记第57天)
- 【Go 语言社区】Go语言 Cookie的使用
- 【Go 语言社区】HTML5 Geolocation(地理定位)-转
- Oracle 12c PDB迁移(一)(r10笔记第56天)
- 【Go 语言社区】Go worker线程池
- Oracle 12C打补丁的简单尝试(r10笔记第55天)
- 【Go 语言社区】奇妙的go语言(网页下载)-转
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释