zoukankan      html  css  js  c++  java
  • RTP视频传输播放延时(时间戳)

    开发板OK6410+视频采集+wifi+VLC

    视频传输采用RTP,实时传输视频,服务器端使用vlc播放,刚开始有3秒延时,播放时间越长延时越长,5分钟后竟达到10秒以后,分析代码,可能是时间戳造成,原时间代码部分:

    timestamp_increse+=(unsigned int)(90000.0 / framerate); //framerate为帧率

    网络上有人提出时间戳改为如下:

    struct timeval tv;
    gettimeofday(&tv , NULL);
    timestamp_increse += (uint)((2.0*90000*tv.tv_usec + 1000000.0)/2000000);

    但问题依旧

    经测试时间戳采用设备时间,VLC播放基本正常,播放1小时后延时基本为3秒,代码如下:

    struct timeval tv;
    gettimeofday(&tv , NULL);
    timestamp_increse = (uint)(90000.0 / (1000.0 / ((tv.tv_sec - tv_pre.tv_sec) * 1000.0 + (tv.tv_usec - tv_pre.tv_usec) / 1000.0)));

    memcpy(&tv_pre, &tv, sizeof(tv_pre));

    希望对遇到此问题的朋友有所帮助!

  • 相关阅读:
    51NOD 1371填数字
    51NOD1052 最大M字段和
    ZROI2018提高day4t3
    ZROI2018提高day4t2
    ZROI2018提高day4t1
    ZROI2018普转提day2t4
    ZROI2018普转提day2t2
    ZROI2018普转提day2t1
    ZROI2018普转提day2t3
    ZROI2018提高day3t3
  • 原文地址:https://www.cnblogs.com/whisht/p/3085089.html
Copyright © 2011-2022 走看看