vlc 缓冲大小 设置_VLC播放画面延迟改善方法
VLC播放画面延迟改善方法
Android平台VLC播放RTSP视频延迟问题解决
首先在Android平台上的VLC播放器不像windows平台上UI里提供了设置延迟时间这一项功能,其次也不像Linux平台上可以以命令行的方式来运行,我们也就不能通过设置参数的方式来修改这个延迟时间,怎么办呢,只剩下最后一条路,修改源代码,将延迟时间写死在源码里,有了前面linux平台下设置参数的经验,就可以在源码里面通过grep工具来查找”network-caching”,发现有很多文件包含这个值,下面是搜索的结果
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 block
System.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播放画质延迟改善方法
前几天写的android录制视频h263编码通过rtp打包,服务器接收数据并转发,VLC通过rtsp协议请求服务器播放画质较差.后来通过以下方法改善了下画质质量以及延迟. 1.设置合适的帧率,在这里使 ...
- vlc 缓冲大小 设置_用libvlc 播放指定缓冲区中的视频流
//vlcTest.cpp : 定义控制台应用程序的入口点.//#include"stdafx.h"#include#include"vlc/vlc.h"#in ...
- Markdown更改字体、颜色、大小,设置文字背景色,调整图片大小设置居中,插入表格等方法
Markdown更改字体.颜色.大小,设置文字背景色,调整图片大小设置居中,插入表格等方法 Markdown 通过简单标记语法,使普通文本内容具有一定格式.但它本身不支持修改字体.字号与颜色等功能的. ...
- vlc 安卓版开发_VLC播放器Android版下载
在经过几年的艰难开发之后,VideoLAN开发团队终于在近日发布了他们广受好评的VLC视频播放器的安卓版本,并正式登陆谷歌Play商店.只要用户使用的是新的ARMv7安卓设备,就可以从谷歌商店下载这款 ...
- mysql表缓冲大小可能设置过小_MySQL 5.7 my.cnf配置文件详解
[client] default-character-set = utf8mb4 [mysql] #开启 tab 补全 #auto-rehash default-character-set = utf ...
- oracle设置缓存大小设置多少,【数据库类※从V$DB_CACHE_ADVICE中设置数据缓冲大小※】...
[数据库类※从V$DB_CACHE_ADVICE中设置数据缓冲大小※] Oracle 9i引入了一个新的途径来预测数据缓冲cache中附加数据缓存的所带来的好处的多少.V$DB_CACHE_A ...
- VLC更改设置,播放本地H264和H265流媒体文件和播放帧率
VLC更改设置,播放本地H264和H265流媒体文件 步骤1:单击"工具"->"偏好设置".在"偏好设置"对话框的左下角的" ...
- VLC 21年,重新审视低延迟直播
编者按: 作为一个历经了21个年头的播放器,VLC旺盛的生命力使其在今天仍然有着一席之地.但是21年前的定位所带来的与当今主流媒体播放器的差距依然不可小觑.LiveVideoStackCon2022上 ...
- android修改屏幕大小设置,android mediaplayer 视频修改视频大小 (屏幕尺寸mediaPlayer =......
1 主要是通过更改view 的大小来改变视频的大小. 2 在视频初始化时获得视频的高宽都为0 ,这个必须要注意,必须播放后延时 修改view 大小 3 sufaceview 的布局类是 android ...
最新文章
- 记录一次MySQL两千万数据的大表优化解决过程,提供三种解决方案 1
- 这样就可以很方便的知道明天的天气了
- 第一次运行Spring Boot有感
- CMake入门指南-编译教程
- [2017.11.11特辑]以一个光棍节表白案例浅谈ECMAScript6模块化的使用方法
- 【实战 Ids4】║ 又一个项目迁移完成(MVC)
- tkmybatis 子查询_真假童子命符箓道长教你如何查询
- 前端基础:学习 ES6 新特性
- [20170616]vim 8.0的安装.txt
- matlab程序约束条件,求Xij中i,j约束条件下的程序
- jzoj3736. 【NOI2014模拟7.11】数学题
- Atitit 剪贴板数据类型 DataFlavor 目录 1. HtmlFlavor	1 1.1. allHtmlFlavor	1 1.2. selectionHtmlFlavor	1 1.3. fr
- android+gps+定位+缓存,Android GPS和Network定位
- 全面拆解携程云原生实践,打造智能弹性的云端酒店直连系统
- 网络棋牌游戏用户群体
- Flutter Clipboard 粘贴板使用
- 百度地图开放平台天气预报查询API
- 我从外包公司离职了(一定要看 防坑指南)!
- 电脑上的文件经常丢失,怎么办?
- 中国仓储业市场运营现状及前景趋势预测报告2021~2028年