参考文章:https://blog.youkuaiyun.com/qq_38795209/article/details/113942389?login=from_csdn
摄像头语音对讲/广播实现,需要发送g711a的RTP包,参考网上资料 , 示例代码如下,已验证基于GB28181语音广播流程,最后通过该工具类发送语音数据,华为摄像头可进行语音播放
RtpPacket.java
package com.genersoft.iot.vmp.vmanager.gb28181.talk.packet;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.*;
/**
* 参考出处:https://blog.youkuaiyun.com/qq_38795209/article/details/113942389?login=from_csdn
* g711a a-law rtp 数据包
* 如何计算打包发送间隔、打包字节数:
* 音频的帧率 fps = 20
* 采样率 sample_rate = 8000 HZ
* 码率 bitrate = 64000 bps
* 打包发送间隔 send_interval = 1 / 20 = 0.05s = 50000us
* 每次打包需要音频数据长度 audio_need_len = 64000 bps * 0.05s = 3200 bit = 400 bytes 码率/帧率/8
* udp发送数据长度 send_len = (rtp包头12 bytes )+ audio_need_len
*/
public class RtpPacket {
public static int RTP_PAYLOAD_TYPE_PCMU = 0; // u-law
public static int RTP_PAYLOAD_TYPE_PCMA = 8; // a-law
private byte version = 2;
private byte padding = 0;
private byte extension = 0;
private byte csrc_count = 0;
private byte marker = 1;
private byte playload_type = 0;
private int sequence_number = 0;
private long time

该文章介绍了如何使用Java实现G711A编码的RTP包封装,用于摄像头的语音对讲和广播功能。通过GB28181标准,代码示例展示了如何创建RtpPacket类生成RTP包,并利用DatagramSocket发送到指定的华为摄像头,实现音频数据的传输。
最低0.47元/天 解锁文章
323





