一、前言
基本上各种播放器提供的录制视频接口,都是只有开始录制和结束录制两个,当然一般用的最多的也是这两个接口,但是实际使用过程中,还有一种可能需要中途暂停录制,暂停以后再次继续录制,将中间部分视频不需要录制,跳过这部分不需要的视频,而且录制的视频文件必须是能够正常播放的连续的。vlc和mpv都只提供了开始录制和停止录制接口,ffmpeg既然是自己解码,所以录制完全自己控制,存储的时候,每一帧的数据都要写入pts和dts,每次重新计算时间基准保证时间正确,不然不是连续的帧保存后会跳。
打通了视频暂停录制功,还有个应用场景就可以迎难而解,就是多个通道的视频,不同时段分开存入同一个视频文件,类似于将轮询的过程中展示的视频挨个存储到同一个视频文件,当然分辨率必须保持一致,不一致可能存储会出问题,这种场景还是比较常见的,比如视频通道轮询过程中,指定某个位置的视频存储的同一个视频文件,将轮询的整个过程录制下来,后期以便回放查阅视频。在当前封装的组件中,除了打开和关闭录制,中途只需要将视频帧传入即可,会自动计算换算成正确的pts/dts存储到MP4文件中。
二、效果图
三、体验地址
- 国内站点:https://gitee.com/feiyangqingyun