Tag: audio streaming

ALSA如何玩原始二进制stream?

我试图播放来自socket.io(使用nodejs)与ALSA原始PCM数据。 最近我用节点扬声器来解决我的问题,但是我不能把它安装到我的目标设备上。 现在我正在尝试使用nodejs“fs”模块: … var pcm = fs.createWriteStream("audio.pcm"); socket.on('stream', function(data) { console.log(data); pcm.write(data); }); …. 之后我试图立即运行aplay命令: aplay -t raw -c 1 -r 48000 -f S16_LE audio.pcm 我能够延迟地听我的数据(2-3秒,这取决于我在命令之上运行的速度),但是它在5-10秒之后崩溃,没有任何消息。 我想这不是一个正确的方式来玩现场直播。 什么是最好的方法来做到这一点?

如何在编码和分割audio文件时,在重构audio文件时不会在音段之间产生间隙(或audio突变)?

我正在开发一个Web应用程序,需要多个audio文件的stream式传输和同步。 为此,由于定时audio的重要性,我使用HTML5audio标签上的Web Audio API 。 目前,我正在使用FFMPEG的分段function来编码和分割audio文件成更小的块。 我分割它们的原因是我可以从文件的中间开始stream式传输,而不是从头开始(否则我只需要使用UNIX split来分割文件, 如下所示 。问题是,当我将stringaudio片段一起回来,我得到段之间的audiostream行音乐。 如果我在.wav文件中使用PCM编码(pcm_s24le)对段进行编码,则回放是无缝的,这导致我相信编码器正在填充文件的开头或结尾。 由于我将处理许多不同的audio文件,使用.wav将需要太多的带宽。 我正在寻找以下解决scheme之一的问题: 如何无缝地分割编码的audio文件, 如何强制编码器不使用ffmpeg(或其他工具)填充audio帧,或者 什么是更好的方式来stream式audio(开始在一个任意的轨道时间),而不使用audio标签? 系统信息 自定义node.js服务器 在上传audio文件时,node.js将数据传送到ffmpeg的编码器 需要使用HTML5 Web Audio API支持的编码 服务器通过WebSockets套接字一次发送audio块1 提前致谢。 我试图尽可能清楚,但如果你需要澄清,我会更愿意提供。