MP4视频微信内网页播放黑屏的问题探索 您所在的位置:网站首页 摄像头视频文件格式 MP4视频微信内网页播放黑屏的问题探索

MP4视频微信内网页播放黑屏的问题探索

2024-07-16 00:47| 来源: 网络整理| 查看: 265

视频流中ES,PES,PS,TS,RTP概念说明

ES:又称为原始流,直接从编码器出来,可以是编码过的H264,MJPEG,音频AAC,音频G711等。ES只包含一种内容的视频,如只含视频或者只含音频。

PES: ES流经PES打包器形成,将ES流分组,打包,加入包头。PES包由包头和payload组成。PES包是PES流的基本单位。 PTS(Decoding Time Stamp)/DTS(Presentation Time Stamp):打在PES包的包头里面,用于表示时间,是音视频同步的关键。在ffmpeg中,PTS表示显示的时间,DTS表示的是解码的时间。同时,用ffmpeg处理的时候PTS必须大于或等于DTS,否则会返回-22的错误。

PS(节目流):由PS组成,而一个PS包又由若干个PES包组成,到这里,ES经过了两层的封装。PS包头包含了同步信息与时钟恢复信息。 关于PS流的具体格式以及具体分析可以参考博客:作者写的很好,我看的时候和我获取的海康的PS流有一些出入,但大体上都差不多https://blog.csdn.net/chen495810242/article/details/39207305

**TS(传输流)?*由定长的TS包包组成(188字节),而TS包是对PES包的一个重新封装(到这里,ES也经过了两层封装)。TS流较PS流的优势是信息丢失情况更好。TS包中的数据可以是视频数据,音频数据,填充数据,PSI/SI表格数据等。

**RTP(实时传输协议):**是一种针对互联网上多媒体码流的传输协议。RTP协议时长用于互联网点播,视频会议,视频监控等应用。RTP使用的包为RTP包,作用域传输层。 其他人给出的方案: 1、需要海康编解码库。

2、直接用 url 拉取 h264,用 ffmpeg 转成 MP4 封装就行了。

用格式工厂的工具查看视频编码信息

在这里插入图片描述 在线是转换 https://convertio.co/zh/

微信浏览器不能播放mp4视频的问题

在这里插入图片描述在这里插入图片描述判断是视频压缩等级的问题 于是把不能播放的[email protected] 转换为Baseline@L4貌似就可以了 参考链接: https://developers.weixin.qq.com/community/develop/doc/0000a65ef74db03e6488139a956c00

H.264有四种画质级别,分别是baseline, extended, main, high:   1、Baseline Profile:基本画质。支持I/P 帧,只支持无交错(Progressive)和CAVLC;   2、Extended profile:进阶画质。支持I/P/B/SP/SI 帧,只支持无交错(Progressive)和CAVLC;(用的少)   3、Main profile:主流画质。提供I/P/B 帧,支持无交错(Progressive)和交错(Interlaced),     也支持CAVLC 和CABAC 的支持;   4、High profile:高级画质。在main Profile 的基础上增加了8x8内部预测、自定义量化、 无损视频编码和更多的YUV 格式; H.264 Baseline profile、Extended profile和Main profile都是针对8位样本数据、4:2:0格式(YUV)的视频序列。在相同配置情况下,High profile(HP)可以比Main profile(MP)降低10%的码率。 根据应用领域的不同,Baseline profile多应用于实时通信领域,Main profile多应用于流媒体领域,High profile则多应用于广电和存储领域。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有