我们正在使用pion / webrtc库,并且有来自 RTCPeerConnection
我们需要从RTCPacket.Raw(字节列表)保存opus音频文件。我们尝试使用他们的OpusWriter
,但没有用,音频已写入但无法播放。
所以问题是如何保存字节中的Opus音频文件?
代码:
for {
rtpPacket, err := remoteTrack.ReadRTP()
b := rtpPacket.Raw
if ivfFile != nil {
if err := ivfFile.WriteRTP(rtpPacket); err != nil {
log.Println(err)
}
}
checkError(err)
videoTrackLock.RLock()
_, err = videoTrack.Write(b)
videoTrackLock.RUnlock()
if err != io.ErrClosedPipe {
checkError(err)
}
}
答案 0 :(得分:0)
save-to-disk示例不适合您吗?这表明将VP8 / Opus保存到磁盘。
如果您确实希望直接来自*RTP.Packet的音频,则应使用Payload
字段而不是Raw
。 Raw
包含RTP标头,而Payload
仅包含媒体。
感谢您使用Pion!很高兴在这里或在Slack
上提供帮助