ffmpeg图片格式转换

这篇具有很好参考价值的文章主要介绍了ffmpeg图片格式转换。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

图片格式转换,指的是将图片从一种格式转换到另一种格式(如YUV420到RGB888),可以通过ffmpeg实现

图片格式转换的使用场景之一是:当我们要播放一段视频时解封装得到了一段视频原始数据,可是我们使用的播放器(如SDL)不支持该采样格式的视频原始数据,这时就需要进行图片格式转换。

目录

 图片格式转换用到的结构体

音频重采样用到的函数 


 文章来源地址https://www.toymoban.com/news/detail-404072.html

 图片格式转换用到的结构体

SwrContex     重采样上下文

AVFrame 存放解码后数据的结构体   

音频重采样用到的函数 

1、  创建格式转换上下文

struct SwsContext *sws_getContext(int srcW, int srcH, enum AVPixelFormat srcFormat,

                                  int dstW, int dstH, enum AVPixelFormat dstFormat,

                                  int flags, SwsFilter *srcFilter,

                                  SwsFilter *dstFilter, const double *param);

2、  初始化帧数据(在堆内开辟空间)

AVFrame *av_frame_alloc(void);

3、  初始化重采样输出AVFrame中data的空间(在堆内开辟空间)

int av_image_alloc(uint8_t *pointers[4], int linesizes[4],

                   int w, int h, enum AVPixelFormat pix_fmt, int align);

4、  重采样函数

int sws_scale(struct SwsContext *c, const uint8_t *const srcSlice[],

              const int srcStride[], int srcSliceY, int srcSliceH,

              uint8_t *const dst[], const int dstStride[]);

5、  重采样结束后需要释放相关数据,首先是AVFrame中的data部分

void av_freep(void *ptr);

6、  释放AVFrame

void av_frame_free(AVFrame **frame);

7、  释放重采样上下文

void sws_freeContext(struct SwsContext *swsContext);

 

到了这里,关于ffmpeg图片格式转换的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • python使用ffmpeg来制作音频格式转换工具(优化版)

    简介:一个使用python加上ffmpeg模块来进行音频格式转换的工具。 日志: 20231030:第一版,设置了简单的UI布局和配色,实现音频转为Mp3、AAC、wav、flac四种格式。可解析音频并显示信息,可设置转换后的保存路径 UI界面: 编程平台:visual studio code 编程语言:python 3.12.0 模块:

    2024年02月06日
    浏览(35)
  • 基于 FFmpeg 的跨平台视频播放器简明教程(四):像素格式与格式转换

    基于 FFmpeg 的跨平台视频播放器简明教程(一):FFMPEG + Conan 环境集成 基于 FFmpeg 的跨平台视频播放器简明教程(二):基础知识和解封装(demux) 基于 FFmpeg 的跨平台视频播放器简明教程(三):视频解码 经过前面三章的学习,我们快要完成我们的目标任务了:使用 ffmpeg

    2024年02月12日
    浏览(47)
  • Java工程使用ffmpeg进行音视频格式转换(ws.schild)

    JAVE (Java Audio Video Encoder)是一个纯Java的音视频编码器和解码器库,它是基于FFmpeg。JAVE库提供了一些简单易用的API,用于音频和视频格式的转换、编码、解码等操作。它对于一些基本的音视频处理任务来说是一个不错的选择。 这些库都是基于FFmpeg的,并允许在Java中处理音频和

    2024年02月14日
    浏览(63)
  • 【音视频开发】FFmpeg转换与封装 I - MP4格式

    1 FFmpeg转换与封装 1.1 MP4格式转换 1.1.1 MP4格式标准         FFmpeg支持的媒体封装格式具有多样性与全面性,与此, 我们还可以使用FFmpeg来对媒体格式进行转换与封装 。 在互联网常见的格式中,跨平台最好的应该是 MP4 文件,因为 MP4 文件既可以在PC 平台的Flashplayer中播放,

    2024年02月08日
    浏览(60)
  • 利用FFmpeg实现录屏、直播推流、音频视频格式转换、剪裁等功能

    一、FFmpeg简介。 二、FFmpeg常用参数及命令。 三、FFmpeg在Unity 3D中的使用。 1、FFmpeg 录屏。 2、FFmpeg 推流。 3、FFmpeg 其他功能简述。 对于FFmpeg,其官网上是这样介绍的: FFmpeg is the leading multimedia framework, able to decode, encode, transcode, mux, demux, stream, filter and play pretty much anything th

    2024年02月09日
    浏览(42)
  • 图片转换成pdf格式?这几种转换格式方法了解一下

    图片转换成pdf格式?将图片转换成PDF格式的好处有很多。首先,PDF格式具有通用性,可以在几乎任何设备上查看。其次,PDF格式可以更好地保护文件,防止被篡改或者复制。此外,PDF格式还可以更好地压缩文件大小,使其更易于共享和传输。因此,将图片转换成PDF格式是一个

    2024年02月12日
    浏览(24)
  • ffmpeg 将视频帧转换成jpg、png等图片

    有时播放实时流的时候有截图的需求,需要将解码出来的图片保存本地或上传服务器,这时就需要将avframe中的数据编码成png、jpg等格式的图片,我们使用ffmpeg的相关编码器就可以实现功能。 首先需要查找图片编码器,比如jpg为AV_CODEC_ID_MJPEG,png为AV_CODEC_ID_PNG 示例代码: 有了

    2024年02月02日
    浏览(30)
  • 图片转换成png格式上传

    参数为图片地址(在浏览器可以直接访问的)

    2024年01月17日
    浏览(30)
  • 使用ffmpeg将m4a及wav等文件转换为MP3格式

    要使用ffmpeg将m4a及wav等文件转换为MP3格式,您可以按照以下步骤进行操作: 确保您已经安装了ffmpeg软件。如果没有安装,请访问ffmpeg的官方网站https://ffmpeg.org/ 并按照说明进行安装。 Win10 / Win11 可以通过 winget 命令安装 注意前提已经在微软应用商店安装了 应用安装程序 安装

    2024年02月13日
    浏览(23)
  • 【FFmpeg】ffmpeg 命令行参数 ⑧ ( 使用 ffmpeg 转换封装格式 | 音视频编解码器参数设置 | 视频 帧率 / 码率 / 分辨率 设置 | 音频 码率 / 采样率 设置 )

    音视频 文件 从 采样 - 处理 - 得到原始数据帧队列 - 音视频编码 - 音视频包队列 - 格式封装 的过程如下 : 封装格式 参考 【音视频原理】音视频 “ 采样 - 编码 - 封装 过程 “ 和 “ 解封装 - 解码 - 播放 过程 “ 分析 ( 视频采集处理流程 | 音频采集处理流程 | 音视频文件解封装

    2024年04月17日
    浏览(62)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包