JavaCV开发详解之31:如何计算pts/dts时间戳,在视频转码和转复用中如何自行计算pts/dts时间戳

javacv系列文章:

javacv开发详解之1:调用本机摄像头视频
javaCV开发详解之2:推流器实现,推本地摄像头视频到流媒体服务器以及摄像头录制视频功能实现(基于javaCV-FFMPEG、javaCV-openCV)
javaCV开发详解之3:收流器实现,录制流媒体服务器的rtsp/rtmp视频文件(基于javaCV-FFMPEG)
javaCV开发详解之4:转流器实现(也可作为本地收流器、推流器,新增添加图片及文字水印,视频图像帧保存),实现rtsp/rtmp/本地文件转发到rtmp流媒体服务器(基于javaCV-FFMPEG)
javaCV开发详解之5:录制音频(录制麦克风)到本地文件/流媒体服务器(基于javax.sound、javaCV-FFMPEG)
javaCV开发详解之6:本地音频(话筒设备)和视频(摄像头)抓取、混合并推送(录制)到服务器(本地)
javaCV开发详解之7:让音频转换更加简单,实现通用音频编码格式转换、重采样等音频参数的转换功能(以pcm16le编码的wav转mp3为例)
javaCV开发详解之8:转封装在rtsp转rtmp流中的应用(无须转码,更低的资源消耗,更好的性能,更低延迟)
javaCV开发详解之9:基于gdigrab的windows屏幕画面抓取/采集(基于javacv的屏幕截屏、录屏功能)
javaCV开发详解补充篇:基于avfoundation的苹果Mac和ios获取屏幕画面及录屏/截屏以及摄像头画面和音频采样获取实现
java原生实现屏幕设备遍历和屏幕采集(捕获)功能
javaCV开发详解之10:基于dshow调用windows摄像头视频和音频,想要获取屏幕画面首选gdigrab
javaCV开发详解之11:视频文件转gif动态图片实现,也支持摄像机、桌面屏幕、流媒体等视频源转gif
javaCV开发详解之GIF动态图片录制补充篇:windows桌面屏幕画面录制成gif动态图片,支持桌面任意取域生成gif,可扩展支持MacOS/安卓/linux等平台,可扩展支持apng动态图片
javaCV开发详解之12:视频转apng动态图片实现,支持透明通道,支持摄像机、桌面屏幕、流媒体等视频源转apng动态图
javaCV开发详解之13:使用FFmpeg Filter过滤器处理音视频
javaCV开发详解之14:音频重采样
javaCV开发详解之15:视频帧像素格式转换
javaCV开发详解之16:使用一张图片推流和一张图片录制成视频文件
javaCV开发详解之17:GIF和APNG动态图片推流和录制成视频文件(以gif转mp4为例)
javaCV开发详解之18:音视频转码(音频编解码和视频编解码)
JavaCV开发详解之19:如何开启GPU硬件加速,使用JavaCV进行音视频的硬解码和硬编码
JavaCV开发详解之20:如何使用JavaCV制作ico图标,图片和视频生成ico图标,视频流录制ico图标
JavaCV开发详解之21:如何使用JavaCV接入gb28181的ps流并推流到流媒体服务和接入海康大华sdk回调h264/hevc裸流
JavaCV开发详解之22:flv,live_flv格式说明,http-flv拉流和http-flv推流及rtmp拉流和rtmp推流全面分析和开发实战
JavaCV开发详解之23:hls视频录制,m3u8切片录制和fmp4切片录制详解,以拉流rtmp录制hls切片为例
JavaCV开发详解之24:使用javacv录制dash视频分片,mpeg-dash视频录制和制作
JavaCV开发详解之25:使用javacv保存raw视频像素格式(yuv或者rgb),并使用ffplay播放raw
JavaCV开发详解之26:使用javacv对视频进行连续截图和覆盖截图,支持png,jpg,bmp等格式快速连续截图,适用于视频快照
JavaCV开发详解之27:使用javacv把视频切割成多个视频分片文件,以mp4为例,把视频切割成MP4分片文件
JavaCV开发详解之28:如何使用javacv进行多图推流和多图合成视频文件,以批量jpg图片推流rtmp和jpg合成flv视频文件为例
JavaCV开发详解之29:使用javacv将多个视频拼接合成单个视频,多个音频拼接合成单个音频
JavaCV开发详解之30:如何使用javacv拉取rtsp视频流,rtsp解复用器详解。如何把rtsp调教的服服帖帖,让rtsp拉流不再丢包
JavaCV开发详解之31:如何计算pts/dts时间戳,在视频转码和转复用中如何自行计算pts/dts时间戳
JavaCV开发详解之32:使用filter滤镜实现中文字符叠加
JavaCV开发详解之33:使用filter滤镜实现动态日期时间叠加
JavaCV开发详解之34:使用filter滤镜实现无限循环滚动字符叠加,跑马灯特效
JavaCV开发详解之35:使用filter滤镜实现画中画,以屏幕画面叠加摄像头画面为例

JavaCV及音视频相关补充篇:

javacv开发详解之hls切片录制补充篇:rtsp拉流录制生成hls切片,m3u8清单/ts切片录制详解,解决hls_time无效问题
javacv开发详解之hls切片录制补充篇:rtsp拉流录制生成hls切片,m3u8清单/ts切片录制
javacv开发详解之gif补充篇:如何使用批量的多张图片制作gif动态图,再也不用担心不会制作动态图了
javacv开发详解之apng补充篇:如何使用批量的多张图片制作apng动态图,再也不用担心不会制作动态图了
javacv开发详解补充篇:解决转流后视频画面快进慢放,时间跳动过大,监控视频时间戳重新计算pts和dts
音视频编解码问题:javaCV如何快速进行音频预处理和解复用编解码(基于javaCV-FFMPEG)
音视频编解码问题:16/24/32位位音频byte[]转换为小端序short[],int[],以byte[]转short[]为例
实现给图片增加图片水印或者文字水印(也支持视频图像帧添加水印)
流媒体直播实时视频延迟时间排查和剖析

前言

本章讲解如何在视频推流时重新计算时间戳。主要解决无时间戳情况下和其他需要重新计算时间戳的场景。

群里很多小伙伴们是做安防监控的,经常反馈的问题是视频源没有时间戳,或者是设备的视频源的时间戳有问题,导致画面中止,卡顿等问题。
除了因为网络问题外,画面中止和卡顿最大问题集中在时间戳问题上。

如何重新计算时间戳(计算原理)

本篇文章转载自:

https://eguid.blog.csdn.net/article/details/115721791
访问该地址就可以完整阅读原文。

欢迎关注点赞收藏转发

eguid原创文章,如未说明出处和作者名,禁止转载。 博主主更新博客为:eguid.blog.csdn.net。其他平台的小伙伴如需联系博主,请转到csdn,谢谢。 欢迎大家积极开心的加入流媒体讨论群:社区一群:770640961,社区二群:608423839,社区三群:556722677,社区四群:689672017
原文地址:https://www.cnblogs.com/eguid/p/14788760.html