vlc相关学习资料汇总及零散技术总结

简介: 一、参考资料       官网的编译教程:http://wiki.videolan.org/Win32CompileMSYS    编译的各种问题:http://wiki.

一、参考资料  

    官网的编译教程:http://wiki.videolan.org/Win32CompileMSYS


    编译的各种问题:http://wiki.videolan.org/Win32CompileMSYSTroubleShooting

    已经编译好的各种版本:http://nightlies.videolan.org/build/

    VS下编译项目:https://github.com/sunqueen?tab=repositories

    VLC文档:http://www.videolan.org/developers/vlc/doc/doxygen/html/index.html


     VLC开发者中心:https://wiki.videolan.org/Developers_Corner


    汇编指令拷贝

    vlc-2.2.1.32-2013\modules\video_chroma


二、零散知识点备忘

/* Maximum delay between 2 displayed pictures.
 * XXX it is needed for now but should be removed in the long term.
 */
#define VOUT_REDISPLAY_DELAY (INT64_C(80000))  //两帧延时超过80ms就扔掉;

/**
 * Late pictures having a delay higher than this value are thrashed.
 */
#define VOUT_DISPLAY_LATE_THRESHOLD (INT64_C(20000)) //当前系统时间-图像时间>20ms,说明改图像已经延时过多,即抛弃

// 1、解码模块在解码前先判断是否有帧延时了,如果有,判断延时是否超过5s,如果超过直接释放;判断是否标记为要加速,且延时帧已超过4帧,大于4小于12立即解码,否则抛弃;
// 2、费解:不知为什么vlc需要调用两次avcodec_decode_video2,注释说重新解析,防止丢弃I帧?
// 3、貌似:解码出的帧送渲染前判断缓存的帧的数量是否已经超过1s,如果超过就标记为满。
#define DECODER_MAX_BUFFERING_VIDEO_DURATION (1*CLOCK_FREQ)


/* Pictures which are DECODER_BOGUS_VIDEO_DELAY or more in advance probably have
 * a bogus PTS and won't be displayed */
#define DECODER_BOGUS_VIDEO_DELAY                ((mtime_t)(DEFAULT_PTS_DELAY * 30))

vlc_object_t *debug = NULL;
msg_Output(debug,"--------bank.c-----module_InitBank()---------------");


// avcodec_decode_video2函数第一参数可以设置出帧策略,丢B帧,丢I帧,丢P帧等; vlc为什么要调用两次这个函数,Reparse it to not drop the I frame

// PCR Abbreviation for Program Clock Reference. 程序参考时钟; MPEG-2标准音视频均为27 MHz
// PTS(Presentation Time Stamp)显示时间标签
// DTS解码时间标签(Decoding Time Stamp)

//live555.cpp中初始化i_pts的值;并非使用码流的timestamp值;
int64_t i_pts = (int64_t)pts.tv_sec * INT64_C(1000000) + (int64_t)pts.tv_usec;

/*FIXME: for h264 you should check that packetization-mode=1 in sdp-file */
p_block->i_dts = ( tk->fmt.i_codec == VLC_CODEC_MPGV ) ? VLC_TS_INVALID : (VLC_TS_0 + i_pts);

目录
相关文章
|
2月前
|
编解码 开发工具 C++
【软件设计师备考 专题 】多媒体应用开发过程(一)
【软件设计师备考 专题 】多媒体应用开发过程
34 0
|
2月前
|
存储 安全 数据安全/隐私保护
【软件设计师备考 专题 】多媒体应用开发过程(二)
【软件设计师备考 专题 】多媒体应用开发过程
38 0
|
7月前
CocosCreator3.8研究笔记(十三)CocosCreator 音频资源理解(2)
CocosCreator3.8研究笔记(十三)CocosCreator 音频资源理解
109 0
|
2月前
|
存储 编解码 算法
【软件设计师备考 专题 】媒体系统基础知识,多媒体设备的性能特性,常用多媒体文件格式
【软件设计师备考 专题 】媒体系统基础知识,多媒体设备的性能特性,常用多媒体文件格式
75 0
探究直播app源码技术:视频上传功能
我今天要讲的技术功能就有助于我们的情绪发泄,是直播app源码平台中的技术功能。在我们使用直播app源码平台的时候,我们有一个最常见且可能最先看到的一个功能,它是有很多能动的画面,各式各样的内容,并且还可以上下滑动切换这些画面
探究直播app源码技术:视频上传功能
|
7月前
|
算法 Android开发 Windows
CocosCreator3.8研究笔记(十三)CocosCreator 音频资源理解(1)
CocosCreator3.8研究笔记(十三)CocosCreator 音频资源理解
|
人工智能 边缘计算 监控
|
Web App开发 缓存 算法
白话解读 WebRTC 音频 NetEQ 及优化实践
NetEQ 是 WebRTC 音视频核心技术之一,对于提高 VoIP 质量有明显的效果,本文将从更为宏观的视角,用通俗白话介绍 WebRTC 中音频 NetEQ 的相关概念背景和框架原理,以及相关的优化实践。
白话解读 WebRTC 音频 NetEQ 及优化实践
|
存储 视频直播
如何理解直播APP源码开发中的音视频同步
视频 直播APP源码的视频的播放过程可以简单理解为一帧一帧的画面按照时间顺序呈现出来的过程,就像在一个本子的每一页画上画,然后快速翻动的感觉。
|
编解码 Unix Java
直播软件源码开发千万不能忘的一个知识点
对于直播软件源码开发的技术人员来讲,音视频即时通讯技术是需要熟练掌握的。毕竟像直播这样重视互动和实时性的应用场景,即时通讯可以从中起到很大的配合作用。目前市面上有很多服务商所提供的SDK可以帮助实现这一技术,但是在选择哪一家服务商时还需要多下一些功夫才行。本文主要分享一下开发过程中,音视频即时通讯会涉及哪些技术领域。
直播软件源码开发千万不能忘的一个知识点