VLC播放画质延迟改善方法
来源:互联网 发布:如何做域名cname解析 编辑:程序博客网 时间:2024/04/30 12:22
前几天写的android录制视频h263编码通过rtp打包,服务器接收数据并转发,VLC通过rtsp协议请求服务器播放画质较差。后来通过以下方法改善了下画质质量以及延迟。
1、设置合适的帧率,在这里使用24帧每秒。一般来说,这个值较大,画质较好。
2、设置合适的缓冲区,服务器接收数据的速率远大于服务器中转的速率,在接收的时候设置一个合适的缓冲区很重要,缓冲区设置过小,服务器来不及转发数据,就会出现丢帧现象。缓冲区设置过大,VLC观看会有较大的延迟。在这里,服务器接收数据的缓冲区最好比转发数据的缓冲区大得多,在这里,设置接收数据缓冲区大小是1500*10 ,转发缓冲区大小为每个packet的大小。
DatagramSocket RTPsocket;; //socket to be used to send and receive UDP packets DatagramPacket receivedp; //UDP packet containing the video frames byte[] buf = new byte[15000]; private Thread t;public H263Packetizer() throws IOException { super(); }public void start() throws IOException { RTPsocket= new DatagramSocket(Config.video_port);if (!running) {running = true;t = new Thread(this);t.start();}}public void run() { while(true) { try { receivedp = new DatagramPacket(buf,buf.length); //senddp = new DatagramPacket(buf1,buf1.length); RTPsocket.receive(receivedp); if(receivedp.getData().length>0) { // System.out.println("video length is: "+receivedp.getLength()); // System.out.println("port is"+getRtpSocket().getPort()); buffer=receivedp.getData(); getRtpSocket().upack.setData(buffer); getRtpSocket().send(receivedp.getLength()); } } catch (SocketException e) {// TODO Auto-generated catch blockSystem.out.println("Error : H263 run()");e.printStackTrace();} catch (IOException e) {e.printStackTrace();}}}
通过这些修改,现在VLC播放实时视频,延迟缩小到3秒以内,画质有明显的改善。
接下来,考虑android录制音频实时播放的问题,因为spydroid里的音频编码,VLC没有效果显示。且个人认为,mediaRecorder用于语音通话等方面会有噪音等问题,打算看看speex编码库,参照sipdroid 、android recorder来实现。
- VLC播放画质延迟改善方法
- 减少VLC 延迟的方法
- 减少VLC 延迟的方法
- VLC播放RTSP视频延迟问题
- VLC播放RTSP视频延迟问题
- VLC播放RTSP视频延迟问题 (转)
- VLC播放RTSP视频延迟问题
- VLC播放RTSP视频延迟问题
- VLC播放RTSP视频延迟问题
- VLC播放RTSP视频延迟问题
- VLC播放RTSP视频延迟问题
- VLC播放RTSP视频延迟问题
- VLC播放RTSP视频延迟问题
- VLC播放RTP PS 流的方法
- 网页调用vlc插件播放视频方法
- 改善到底多大? FXAA画质游戏实测
- 播放器比的就是画质
- VLC播放器所需的SPS,PPS获取方法
- 线程安全总结1
- 如何支持root直接登录
- linux下IPTABLES配置详解
- Geek OS 学习之pfat 文件系统
- 怎样通过pppoe拨号上网
- VLC播放画质延迟改善方法
- 杭电 1241
- 驾驶证扣分
- Comparator和Comparable在排序中的应用
- 怎样在Windows中制作u盘linux操作系统
- “虚拟运营商”巨头维珍带来的“移动通信转售业务”经验
- hibernate一对一双向主键关联_Annotation
- 推荐php开发利器 快速创建web应用
- URL的一些建议