Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/381.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/gwt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript WebRTC实验:Chrome windows音频不同步_Javascript_Html_Ffmpeg_Webrtc - Fatal编程技术网

Javascript WebRTC实验:Chrome windows音频不同步

Javascript WebRTC实验:Chrome windows音频不同步,javascript,html,ffmpeg,webrtc,Javascript,Html,Ffmpeg,Webrtc,我试着用这个让Chrome的音频工作,但是我的视频和音频出现了同步问题。音频早些时候播放完毕。视频似乎是正确的。我注意到,当我播放水滴时,音频播放得很快 我能够通过在RecordRTC.js中检查sampleRate是否小于22050或大于96000的条件下注释抛出错误的行来使音频工作 我试图调整sampleRate的其他值,注意到如果sampleRate低,音频播放速度慢,如果sampleRate高,音频播放速度快。我能够使音频和视频稍微同步,但似乎音频的音调明显低于预期的音调 我还尝试了FF

我试着用这个让Chrome的音频工作,但是我的视频和音频出现了同步问题。音频早些时候播放完毕。视频似乎是正确的。我注意到,当我播放水滴时,音频播放得很快

我能够通过在RecordRTC.js中检查sampleRate是否小于22050或大于96000的条件下注释抛出错误的行来使音频工作

我试图调整sampleRate的其他值,注意到如果sampleRate低,音频播放速度慢,如果sampleRate高,音频播放速度快。我能够使音频和视频稍微同步,但似乎音频的音调明显低于预期的音调

我还尝试了FFMPEG来调整音频的长度以匹配视频的长度,但是没有成功


上传到Chrome服务器的文件扩展名是.webm(视频)和.wav(音频)。

heh。WebRTC还没有成为主流,并有大量的文档记录供大家使用,但我对这个问题进行了改进,因为它很有趣,而且是通过故障排除实现更好文档记录的一步。记录机制中没有时间戳。所以,当然会有时间上的差异,随着录音的长度而增加。唯一可靠的同步方法是给它们加上时间戳,因为你无法保证抓取数据包或帧所需的时间。此外,这与webrtc没有多大关系,而是与实现的记录器有关。它只从JavaScript节点抓取帧和音频数据包,不进行同步尝试,因此这是该脚本中的一个缺陷,而不是webrtc本身。