基于FFmpeg的视频播放器之十五:录像
Posted 草上爬
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于FFmpeg的视频播放器之十五:录像相关的知识,希望对你有一定的参考价值。
一.效果
1.录制视频
2.播放录制的视频
二.原理
将上一篇基于FFmpeg的视频播放器之十四:remuxing中的代码直接用于录像是行不通的,会存在下列问题。
1.因为可以从任意时间点开始录制,此时第一帧的时间戳就不是0了,虽然也可以生成视频文件,但是经测试该视频文件爱奇艺客户端可以正常播放,PotPlayer和windows自带的播放器都不能正常播放
解决方法是让录制的第一帧时间戳从0开始,这里以视频为例,音频同理:
int64_t m_firstVideoPts=0
int64_t m_firstVideoDts=0
void doRecord(AVPacket *packet)
AVPacket tempPacket;
av_init_packet(&tempPacket);
av_packet_ref(&tempPacket, packet);
if(!m_firstVideoPts)
m_firstVideoPts=tempPacket.pts
以上是关于基于FFmpeg的视频播放器之十五:录像的主要内容,如果未能解决你的问题,请参考以下文章