记录一次Android视频播放音画不同步问题的定位及分析

这篇具有很好参考价值的文章主要介绍了记录一次Android视频播放音画不同步问题的定位及分析。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.何为音画不同步

音画不同步很简单就是视频播放过程中声音和画面出现的时间点不一致,滞后或者提前。

2.音画不同步问题分析思路

2.1.音画不同步问题的证明

对于滞后或者提前很多的音画不同步可以直接认为发生了该问题,但是滞后或者提前不是很多的就需要进行数据分析来证明该问题的确发生了,而不是人主观感知的失误

2.1.1.证明方式

需要用到三个工具
1.Video2Audio 链接:https://pan.baidu.com/s/1dC94LI2M8uw6NGSHH1Dr1A
提取码:264x
一个python脚本,使用ffmpeg处理视频,将视频按帧数提取成图片并按照帧数编码命名,从视频中提取音频。需安装python3环境
2.Audacity,链接:https://pan.baidu.com/s/1h5jRd6HSk-y6q0clD2KfNg
提取码:9ayc
分析音频的工具,可以定位到某个音频帧所在的时间点。
3.potplayer,可以定位到视频某帧的时间点,与1.2功能类似,只是比较粗略,没有1.2精准,可作为参考,下载方式直接官网下载就好。

步骤:
1.执行Video2Audio 文件下的main.py脚本,记录一次Android视频播放音画不同步问题的定位及分析,音视频,ffmpeg
执行完毕后,会在当前目录生成source.wav的音频和source文件夹,文件夹下是视频按帧提取的图片
记录一次Android视频播放音画不同步问题的定位及分析,音视频,ffmpeg
使用Audacity打开音频,
记录一次Android视频播放音画不同步问题的定位及分析,音视频,ffmpeg
定位到你关注的音频某帧的时间点,我这个示例为6.674s
记录一次Android视频播放音画不同步问题的定位及分析,音视频,ffmpeg
音频帧对应的视频帧为序号为214的图片
记录一次Android视频播放音画不同步问题的定位及分析,音视频,ffmpeg
通过potplayer可以得知视频帧率为30fps,代表1s30张图片,使用214/30 = 7.133s
7133 - 6674 = 459ms,可以得知音频滞后459ms。
截至此处就可以证明音画不同步现象存在,音频滞后459ms.接近0.5s,仔细关注是可以感知到的。

2.2.音画不同步问题分析

音画不同步现象的分析可以由两个点进行分析
1.视频源,如果视频源本身视频首帧pts和音频首帧pts就存在延迟,那播放必然会有音画不同步现象
2.播放器,播放器编解码后会将视频和音频送到video和audio模块进行渲染播放,也是可能造成延迟的。
对视频源的分析依旧可以采取上述方式进行大致分析。
记录一次Android视频播放音画不同步问题的定位及分析,音视频,ffmpeg文章来源地址https://www.toymoban.com/news/detail-616960.html

到了这里,关于记录一次Android视频播放音画不同步问题的定位及分析的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Android WebView H5视频播放实现全屏播放功能、全屏按钮不显示、灰显、点击无效问题解决方案

    打开硬件加速(3.0以上版本支持) set一个WebChromClient,实现onShowCustomView() 方法和onHideCustomView()方法 全屏支持 打开硬件加速 在Manifest中,对应的Activity添加: android:hardwareAccelerated = “true”。 防止h5重新加载:Manifest中,对应的Activity添加: android:configChanges=“keyboardHidden|orientation|s

    2024年02月09日
    浏览(61)
  • 【网易云信】音画同步测试方法的研究与实践

    随着移动互联网的普及和网络带宽的提高,音视频通话越来越成为人们生活和工作中不可或缺的一部分。音画同步是音视频体验的一个重要指标,在音视频传输过程中,由于不同的传输策略因为网络的干扰,音频和视频往往难以同时到达,即使在网络层面对齐后在设备侧音频

    2024年02月09日
    浏览(37)
  • 记一次 MySQL 主从同步异常的排查记录,百转千回

    你好,我是悟空。 这是悟空的第 183 篇原创文章 官网:www.passjava.cn 本文主要内容如下: 最近项目的测试环境遇到一个主备同步的问题: 备库的同步线程停止了,无法同步主库的数据更改。 备库报错如下: 完整的错误信息: 上面的报错信息是什么意思呢? 翻译一下就是主

    2023年04月17日
    浏览(77)
  • ffmpeg播放时刻与视频文件时间戳对齐(同步)

    当解码较快的时候,并不是解码后立马显示视频帧,这样看着是倍速的效果。如何还原实际的播放速率? 为了解决在解码后视频播放还原原来每帧播放的时刻点。我们需要在解码较快的情况下对帧显示加一定的时间延时,这个延时策略就是计算出 延时调整时间 有可能为负值

    2023年04月08日
    浏览(33)
  • ffplay播放器剖析(6)----音视频同步分析

    视频和音频是不同的线程,并且也不会同时解出同一个pts的音视频帧,因此需要音视频同步; 以音频为基准 视频慢了则丢掉部分视频帧(视觉感受就是掉帧) 视频快了就继续渲染上一帧 以视频为基准 音频慢了则加速播放(或者丢帧,丢帧会断音,体验感特别差) 音频快了就放慢数据点

    2024年02月15日
    浏览(68)
  • Unity播放Hap格式视频 (大分辨下流畅播放以及帧同步解决方案)

    前言: 之前对于项目上播放大分辨率视频(特别是大于4k分辨率的)常常会感觉相当的头疼,最开始使用的是Unity自带的VideoPlayer,发现效果并不理想,更换为AVPro后发现播放是流畅了 但不能操作视频快进,只要一快进就会出现卡顿,最后偶然间发现了一款用于播放Hap格式视频的插件才最

    2024年02月05日
    浏览(48)
  • FFmpeg 播放器实现音视频同步的三种方式

    我们基于 FFmpeg 利用 OpenGL ES 和 OpenSL ES 分别实现了对解码后视频和音频的渲染,本文将实现播放器的最后一个重要功能:音视频同步。 老人们经常说, 播放器对音频和视频的播放没有绝对的静态的同步,只有相对的动态的同步,实际上音视频同步就是一个“你追我赶”的过

    2024年02月06日
    浏览(63)
  • 视频播放相关记录

    一、场景     App应用测试在二次回归时,提出了安卓端视频定位不准的问题。 二、分析    代码层面使用了安卓原始的MediaPlayer中的seekTo接口来定位: android seekto实现_关于Android VideoView seekTo不准确的解决方案 根据网上查到信息说这个seek可能是异步返回需要将这个播放动作放

    2024年02月13日
    浏览(22)
  • 记录一次vue使用jessibuca的视频插件

    前言:Jessibuca 是一款开源的纯 H5 直播流播放器,通过 Emscripten 将音视频解码库编译成 Js(ams.js/wasm) 运行于浏览器之中。兼容几乎所有浏览器,可以运行在 PC、手机、微信中,无需额外安装插件 附上中文文档:http://jessibuca.monibuca.com/player.html 使用步骤: 1.安装(这个插件会自动在

    2024年02月13日
    浏览(39)
  • 使用EasyDarwin + ffmpeg 搭建流媒体服务器,实现多台智能电视同步播放宣传视频

    近期单位用户提出需求,需要在单位内部的9台安卓智能电视(小米电视)上同步播放用户提供的宣传视频,希望能够做到所有电视音视频同步播放(电视均位于食堂内部,使用内置扬声器,各电视间音频延迟不同会导致混响) 。 由于电视在安装时只预留了电源线,使用HDM

    2024年02月10日
    浏览(73)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包