javacpp-FFmpeg系列之1:视频拉流解码成YUVJ420P,并保存为jpg图片

javacpp-ffmpeg系列:

javacpp-FFmpeg系列之1:视频拉流解码成YUVJ420P,并保存为jpg图片

javacpp-FFmpeg系列之2:通用拉流解码器,支持视频拉流解码并转换为YUV、BGR24或RGB24等图像像素数据

javacpp-FFmpeg系列之3: 图像数据转换(BGR与BufferdImage互转,RGB与BufferdImage互转)

前言

本篇文章算是javacv系列的后续,javacv算是作者在ffmpeg基础上封装了一层,我们算是站在别人的肩膀上,尽管javacv还有很多不足的地方,这个暂且不谈。当然这次写的这篇算是回归底层实现了,用别人封装好的可能两三行就可以搞定的东西,这次偏偏想不开去参照了c++的实现,其中拉流部分参考了部分javacpp官方的demo(没有文档,等你来填233),解码和图片部分参考了c++的实现。

 

一、说明以及依赖

本篇文章主要是为了视频截图功能,本篇的代码可以复用到其他比如本地文件的截图,或者作为后台截图服务的实现库,也很稳定。

使用了javacpp1.4.1版本作为java调用c++的方式,ffmpeg使用了3.4.2版本

maven方式:


        1.4.1
        
        3.4.2

           
                org.bytedeco
                javacv-platform
                ${javacpp.version}
            

            
                org.bytedeco
                javacpp
                ${javacpp.version}
            

            
                org.bytedeco.javacpp-presets
                ffmpeg-platform
                ${ffmpeg.version}-${javacpp.version}
            

二、实现功能

1、ffmpeg拉流(视频源可以是文件和流媒体(rtsp/rtmp/hls/flv等等))

2、将视频帧解码为yuvj420p图像数据

3、将yuvj402p图像数据保存为jpg图片https://blog.csdn.net/eguid_1/article/details/81369055

 

完整阅读本章:https://blog.csdn.net/eguid_1/article/details/81369055

你可能感兴趣的:(javacpp-FFmpeg系列之1:视频拉流解码成YUVJ420P,并保存为jpg图片)