直播推流之后,PC端播放正常,移动端发现没有声音的可能原因

简介: 本文主要介绍直播推流成功之后,在PC端播放正常,在移动端(比如手机)播放会没有声音,但是插上耳机发现又是正常的,这种现象的可能原因。

基本概念:
声音在录制和播放时候,在不同空间位置采集或者回放时候相互独立的音频信号;举例来说:在一场演唱会中,每一个乐器的奏唱都是一个独立的声音信号发出者,这许多不同的独立的声音信号从不同的空间位置,以不同的强弱(声波的能量)、音调高低(声波的波峰波谷高低)传入我们的左右耳,让我们对不同乐器所在位置产生模糊错落的感觉,这种就是现实世界中的立体声,其中独立发声的乐器就是声源,发声的声源数量可以理解为声道数(就是同一时间,有多个不同波形的声音信号传入人耳)。所以我们经常会碰到说,单声道,双声道,立体声,立体环绕等概念,这里讲的就是声道的概念
PC端一般默认多个扬声器,不同声道的声音信号各自独立从各扬声器发出;而手机端默认只有一个扬声器,多声道信号需要叠加之后从仅有的这一个扬声器发出(插上耳机之后,耳机是存在两个扬声器的,多个声道的声音信号就各自从不同的耳机扬声器发出了)

以测试视频为例:http://ali-hangzhou.oss-cn-hangzhou.aliyuncs.com/soundtest.mp4 为例
1、首先查看该视频声道数量:所用工具ffprobe

ffprobe  -i http://ali-hangzhou.oss-cn-hangzhou.aliyuncs.com/soundtest.mp4
如下图,我们可以得知为双声道,流ID为0:1

image.png

2、接下来,将音频流抽取出来为wav文件
ffmpeg –i http://ali-hangzhou.oss-cn-hangzhou.aliyuncs.com/soundtest.mp4 -map 0:1 sound.wav
3、我们使用一些音频分析软件对wav做波形分析,windows下可以用cooledit,mac下可以参考sound studio
以sound studio为例,将sound.wav打开,观察其中声音波形(其中上波形为左声道,下波形为右声道),仔细查看可以得到左声道的波峰刚好对应右声道波谷
image.png
我们再次将左右声道叠加,合成为单声道(模拟手机端外放),波形如下:
image.png
image.png
从上图可以看到,声音已经没有能量,趋于一条直线,外放表现也就是几乎听不到声音了

相关文章
|
Linux 数据安全/隐私保护 Windows
音视频开发:大华摄像头配置RTSP与RTMP地址访问视频画面
音视频开发:大华摄像头配置RTSP与RTMP地址访问视频画面
2702 0
音视频开发:大华摄像头配置RTSP与RTMP地址访问视频画面
|
3月前
|
编解码
音视频录制播放原理
音视频录制播放原理
63 1
|
4月前
|
小程序 JavaScript 前端开发
微信小程序的音频视屏播放
微信小程序的音频视屏播放
38 0
|
7月前
|
编解码 数据处理 vr&ar
VR头显Unity下如何实现毫秒级延迟的RTMP或RTSP播放?
VR头显Unity下如何实现毫秒级延迟的RTMP或RTSP播放?
181 1
|
移动开发 前端开发 JavaScript
整合阿里云播放器播放(1) | 学习笔记
快速学习 整合阿里云播放器播放(1)
203 0
整合阿里云播放器播放(1) | 学习笔记
|
11月前
【自媒体直播】手机摄像电脑控制OBS多平台推流解决方案
【自媒体直播】手机摄像电脑控制OBS多平台推流解决方案
279 0
|
网络性能优化 Android开发
|
移动开发 JavaScript 前端开发
整合阿里云播放器播放(2) | 学习笔记
快速学习 整合阿里云播放器播放(2)
149 0
整合阿里云播放器播放(2) | 学习笔记
|
安全 JavaScript 前端开发
如何让在线视频以自定义速度播放
现在看视频不来个两倍速(或者更快)都觉得在浪费生命。 特别是在看视频教程的时候,文字我们可以做到一目十行,但是视频呢,如果有字幕,我们甚至不用听清,用3倍速或者4倍速完全没有问题,尤其在看别人在线写代码的时候,速度快了,就觉得特别顺滑。
390 0
如何让在线视频以自定义速度播放
|
Web App开发 Java API
浅析webrtc中音频的录制和播放流程
本文是基于PineAppRtc项目github.com/thfhongfeng… 在webrtc中音频的录制和播放都是封装在内部,一般情况下我们也不需要关注,直接使用即可。 但是最近有一个需求,需要将我们自己的数据进行传输,所以就需要将这些接口暴露出来使用。所以就需要去研究一下它的源码,就有了这篇文章。
758 0