美文网首页学习
obs源码分析

obs源码分析

作者: 我在等你回复可你没回 | 来源:发表于2021-07-22 15:21 被阅读0次

    obs源码分析

    一.obs音视频同步方法

    参考:https://blog.csdn.net/liuhengxiao/article/details/83059314

    源码在D:\work\obs-studio-jianan\obs-studio\libobs\obs-output.c

    static bool prune_interleaved_packets(struct obs_output *output)
    {
        size_t start_idx = 0;
            //先删除超过一个视频帧间隔之前的所有帧
        int prune_start = prune_premature_packets(output);
    
    
        /* prunes the first video packet if it's too far away from audio */
        if (prune_start == -1)
            return false;
        else if (prune_start != 0)
            start_idx = (size_t)prune_start;
        else
                   //如果prune_premature_packets没有,找出离视频帧最近的音频帧作为开始
            start_idx = get_interleaved_start_idx(output);
    
        if (start_idx)
            discard_to_idx(output, start_idx);
    
        return true;
    }
    

    一.obs采集与渲染流程

    参考:https://www.cnblogs.com/JazzerDaxian/p/8480229.html
    摄像头通过dshow来采集的,然后通过obs_source_output_video方法来写入一个队列,然后渲染线程obs_source_video_tick读这个队列的内容来渲染显示咯

    相关文章

      网友评论

        本文标题:obs源码分析

        本文链接:https://www.haomeiwen.com/subject/miaemltx.html