当前位置: 首页 > news >正文

织梦复制网站模板百度荤seo公司

织梦复制网站模板,百度荤seo公司,国内免费开源crm,上海软件培训网站建设问题现象 OpenHarmony 5.0版本使用AVPlayer播放mpegts封装格式的H.265(HEVC)编码格式的视频时出现报错导致播放失败 问题原因 OpenHarmony 5.0版本AVPlayer播放器使用histreamer引擎,因为 libav_codec_hevc_parser.z.so 动态库未开源导致H265编码格式视频解析不到…

问题现象

OpenHarmony 5.0版本使用AVPlayer播放mpegts封装格式的H.265(HEVC)编码格式的视频时出现报错导致播放失败

问题原因

OpenHarmony 5.0版本AVPlayer播放器使用histreamer引擎,因为 libav_codec_hevc_parser.z.so 动态库未开源导致H265编码格式视频解析不到正确的宽高,硬件解码器框架层初始化时因为分辨率不合理导致报错

解决方案

版本信息

OpenHarmony-v5.0.1-Release 和 OpenHarmony-v5.0.2-Release 标准系统

方案一:设置默认的分辨率

修改 foundation/multimedia/av_codec/services/media_engine/plugins/ffmpeg_adapter/demuxer/ffmpeg_format_helper.cpp 文件,"+"符号为新增的代码

void FFmpegFormatHelper::ParseVideoTrackInfo(const AVStream& avStream, Meta &format,const AVFormatContext& avFormatContext)
{format.Set<Tag::VIDEO_WIDTH>(static_cast<uint32_t>(avStream.codecpar->width));format.Set<Tag::VIDEO_HEIGHT>(static_cast<uint32_t>(avStream.codecpar->height));format.Set<Tag::VIDEO_DELAY>(static_cast<uint32_t>(avStream.codecpar->video_delay));+   if ((avStream.codecpar->width <=0 || avStream.codecpar->height <=0) && (avStream.codecpar->codec_id == AV_CODEC_ID_HEVC)) {
+       format.Set<Tag::VIDEO_WIDTH>(1920);
+       format.Set<Tag::VIDEO_HEIGHT>(1080);
+   }double frameRate = 0;...
}

如果demuxer未解析到H265视频的分辨率,设置默认值用于初始化解码器,分辨率的默认值需要在codec hcs配置文件的分辨率范围内(minWidth和maxWidth,minHeight和maxHeight之间)

方案二:打开ffmpeg hevc软解用于解析分辨率

1、third_party/ffmpeg/BUILD.gn 新增h265 parser和decoder源文件编译

ohos_source_set("ffmpeg_dynamic") {source = [..."//third_party/ffmpeg/libavcodec/dovi_rpu.c","//third_party/ffmpeg/libavcodec/dynamic_hdr10_plus.c","//third_party/ffmpeg/libavcodec/dynamic_hdr_vivid.c","//third_party/ffmpeg/libavcodec/hevc_cabac.c","//third_party/ffmpeg/libavcodec/hevc_data.c","//third_party/ffmpeg/libavcodec/hevc_filter.c","//third_party/ffmpeg/libavcodec/hevc_mvs.c","//third_party/ffmpeg/libavcodec/hevc_parse.c","//third_party/ffmpeg/libavcodec/hevc_parser.c","//third_party/ffmpeg/libavcodec/hevc_ps.c","//third_party/ffmpeg/libavcodec/hevc_refs.c","//third_party/ffmpeg/libavcodec/hevc_sei.c","//third_party/ffmpeg/libavcodec/hevcdec.c","//third_party/ffmpeg/libavcodec/hevcdsp.c","//third_party/ffmpeg/libavcodec/hevcpred.c","//third_party/ffmpeg/libavutil/hdr_dynamic_vivid_metadata.c",]...
}

注意:如果是64位平台,还需要添加//third_party/ffmpeg/libavcodec/aarch64 目录下的部分文件,
另外可能需要修改libavcodec/hevcdec.c的部分代码以通过编译
2、third_party/ffmpeg/ohos_config.sh 新增h265 parser和decoder配置
修改1有两处

-    "--enable-parser=h263,h264,mpeg4video,vp8,vp9,mpegvideo" 
+    "--enable-parser=h263,h264,mpeg4video,vp8,vp9,mpegvideo,hevc"

修改2有两处

-    "--enable-decoder=h263,h264,mpeg2video,mpeg4,vp8,vp9"   
+    "--enable-decoder=h263,h264,mpeg2video,mpeg4,vp8,vp9,hevc"

结语

修改后验证播放mpegts封装的H.265格式的视频走硬件解码可以正常播放。
下一篇文章更新mp4封装的H265视频播放失败的解决方案。

http://www.ds6.com.cn/news/70813.html

相关文章:

  • 有用axure做网站的吗淘宝搜索关键词排名
  • 上海自主建站模板关键词优化按天计费
  • crm管理系统在线演示武汉seo软件
  • 十大博客网站河南做网站的
  • 网站设计和建设ppt病毒式营销
  • 亚马逊 怎么做国外网站网优工程师前景和待遇
  • 网站开发公司的职责seo新手教程
  • 如何自制公司网站信息流优化师是什么
  • 做ppt很有创意的网站百度公司官网入口
  • 如何登陆网站服务器软文素材网
  • 北京做网站便宜的公司网站怎么添加外链
  • 做网站_你的出路在哪里关键字排名查询工具
  • 淘宝官方网站登录注册网页制作app
  • 进入城乡建设网站怎么竣工备案网络平台运营是做什么的
  • 动态ip上做网站百度数据研究中心
  • 网站建设电子商务房地产新闻最新消息
  • 企业网站建站策划书三亚百度推广公司电话
  • 鞍山做网站排名百度app交易平台
  • 主流网站开发语言推广方式和推广渠道
  • 网站建设一般多少钱网址腾讯域名注册官网
  • 南京明月建设集团网站搜索推广渠道有哪些
  • 门户网站价格seo外链代发
  • 本机可以做网站的服务器网站网络推广服务
  • wordpress 全站不刷新中国seo网站
  • 怎么破解别人做的付费网站百度风云搜索榜
  • 网站权重如何做营销型公司网站建设
  • 做淘宝客网站必须备案吗百度竞价外包
  • 怎么做英文的网站如何在百度上添加自己的店铺
  • dede网站地图怎么做电商seo什么意思
  • ps如何做网站轮播图制作网站的步骤