zoukankan      html  css  js  c++  java
  • srs录制视频时间戳有点问题

    srs2或者srs3目前最新的版本和之前的版本,使用dvr功能录制flv文件。
    使用本地播放器,如ffplay、potplayer、vlc、KMP和MPV等,都是正常的播放完整视频。
    但是使用web flash播放器,都会遇到一个问题,对于大多数录制发flv文件,最后几秒钟播放不出来。
    我测试过flv.js、video.js、cyberplayer、dplayer、flowplayer、jwplayer、neplayer、strobe、sewise、网易、百度等,
    外加我自己用as3.0写的flash 播放器等诸多方案,都是播放不完整。

    但是经过flvmeta -U或者-k修复后,基本上都可以完整播放了。由此推测是flv metadata信息和播放器不兼容。
    用flv header分析工具查看,看起来没啥问题。比较困惑。
    同样遇到问题的,还有srs群里的其他开发者:

    在srs的issue里面也提到了这个问题:

    但是今天遇到一个web播放器却可以完整播放-cuplayer

    看代码也是video.js改版而来。有机会研究一下看看。

    http://www.cuplayer.com/cuplayer/help/Help410.html

    同一个文件,修复前:

    $flvmeta -r bad.flv
    {
        'width': 640
        'height': 360
        'videodatarate': 0
        'framerate': 30
        'audiodatarate': 0
        'audiosamplerate': 16000
        'audiosamplesize': 16
        'stereo': false
        'author': 'Jeffer'
        'service': 'SRS/2.0.247(ZhouGuowen)'
        'filesize': 886665
        'duration': 15.518
    }

    修复后:

     $ flvmeta -r good.flv
    {
        'hasMetadata' => true
        'hasVideo' => true
        'hasAudio' => true
        'duration' => 15.619
        'lasttimestamp' => 15.518
        'lastkeyframetimestamp' => 15.159
        'width' => 640
        'height' => 360
        'videodatarate' => 376.225470581
        'framerate' => 24.6494653947
        'audiodatarate' => 62.1023473014
        'audiosamplerate' => 44100
        'audiosamplesize' => 16
        'stereo' => false
        'filesize' => 887531
        'videosize' => 756782
        'audiosize' => 127073
        'datasize' => 1143
        'metadatacreator' => 'flvmeta 1.2.1'
        'metadatadate' => Fri, 28 Dec 2018 14:05:29 +0800
        'audiocodecid' => 10
        'videocodecid' => 7
        'audiodelay' => 0
        'canSeekToEnd' => false
        'hasCuePoints' => false
        'cuePoints' => [
        ]
        'hasKeyframes' => true
        'keyframes' => {
            'times': [
                0
                0.079
                0.676
                1.324
                1.925
                2.522
                3.113
                3.78
                4.361
                4.957
                5.557
                6.162
                6.766
                7.359
                7.964
                8.572
                9.163
                9.778
                10.379
                10.977
                11.579
                12.165
                12.775
                13.354
                13.963
                14.56
                15.159
            ]
            'filepositions': [
                1126
                1211
                29490
                61842
                95910
                127295
                159701
                191618
                222317
                253650
                287278
                322568
                358992
                398205
                440079
                477691
                517690
                557115
                595044
                629137
                660857
                694796
                729066
                765104
                797166
                826118
                860260
            ]
        }
    }
  • 相关阅读:
    怎样确定需求
    xampp进程和非进程执行
    将博客搬至CSDN
    管理心得
    数据库性能优化
    开发、架构总结
    activeMQ总结
    php数组操作函数
    Examples_08_08
    保险采购单的修复
  • 原文地址:https://www.cnblogs.com/zzugyl/p/10190148.html
Copyright © 2011-2022 走看看