opus-tools
需要修改代码
ls$ git diff src/opusrtp.c
diff --git a/src/opusrtp.c b/src/opusrtp.c
index 2ebe654..ef901c0 100644
--- a/src/opusrtp.c
+++ b/src/opusrtp.c
@@ -56,7 +56,8 @@
#include <opus.h>
#include <ogg/ogg.h>
-#define OPUS_PAYLOAD_TYPE 120
+//#define OPUS_PAYLOAD_TYPE 120
+#define OPUS_PAYLOAD_TYPE 97 //111
/* state struct for passing around our handles */
typedef struct {
@@ -762,16 +763,20 @@ void write_packet(u_char *args, const struct pcap_pkthdr *header,
}
if (rtp.seq < params->seq) {
- fprintf(stderr, "skipping out-of-sequence packet\n");
+ fprintf(stderr, "skipping out-of-sequence packet, rtp.seq: %d, params->seq: %d\n", rtp.seq, params->seq);
return;
}
- params->seq = rtp.seq;
+// params->seq = rtp.seq;
+
+ printf("%s:%d, rtp.type: %d\n", __FILE__, __LINE__, rtp.type);
if (rtp.type != OPUS_PAYLOAD_TYPE) {
fprintf(stderr, "skipping non-opus packet\n");
return;
}
+ params->seq = rtp.seq;
+
/* write the payload to our opus file */
ogg_packet *op = op_from_pkt(packet, size);
op->packetno = rtp.seq;
test@test-virtual-machine:~/rpm/opus-tools$
https://webrtc.org.cn/analysing-opus-media/
https://www.coder.work/article/6571519
https://www.thinbug.com/q/30227157
https://magiclen.org/linux-opus/
https://www.thinbug.com/q/30387334