ffmpeg-sws_scale用法

本文详细介绍了FFmpeg中sws_scale()函数的作用及其使用步骤。该函数主要用于转换图片的存储格式,通过初始化、图片转化及环境释放三个步骤完成格式转换过程。

sws_scale() 作用

简单说来就是转变图片的存储格式

使用步骤

  1. 首先初始化sws_getContext。
  2. 使用 sws_scale 转化。
  3. 释放环境sws_freeContext()

代码

SwsContext *pSwsCtx = sws_getContext(pCodecContext->width,pCodecContext->height,pCodecContext->pix_fmt,pCodecContext->width,pCodecContext->height, AV_PIX_FMT_RGB24, SWS_BICUBIC,NULL,NULL,NULL);

sws_scale(pSwsCtx,pFrame->data,pFrame->linesize,0,pCodecContext->height,pRGBFrame->data,pRGBFrame->linesize);

//说明如下
sws_getContext(源宽度,源高度,源像素格式,目标宽度,目标高度,目标像素格式,使用算法,NULL,NULL,NULL);

sws_scale(图片信息,源数据,源数据长度,源切片起始位置,源切片的高度,目的数据,目的数据的长度);


...后面再补吧。。


相关资料

ffmpeg中的sws_scale算法性能测试
sws_scale函数的用法-具体应用
FFmpeg源代码简单分析:libswscale的sws_scale()

### 解析 FFmpeg 命令参数 #### 第一条命令解析 这条命令用于提取 MP4 文件中的音频并将其转换为 PCM 格式的原始音频数据。 ```bash ffmpeg -i 0.mp4 -vn -loglevel error -f s16le -acodec pcm_s16le -ar 44100 -ac 2 - ``` - `-i 0.mp4`:指定输入文件为 `0.mp4`[^1]。 - `-vn`:不处理视频流,即忽略视频部分。 - `-loglevel error`:仅显示错误级别的日志信息,减少不必要的输出。 - `-f s16le`:强制输出格式为 signed 16-bit little-endian 的原始音频数据。 - `-acodec pcm_s16le`:指定编码器为无压缩的 PCM 编码,采用 signed 16-bit little-endian 格式。 - `-ar 44100`:设置采样率为 44.1 kHz。 - `-ac 2`:设定声道数为立体声(双声道)。 - `-`:表示标准输出,即将结果输出到终端或管道中而不是保存为文件。 #### 第二条命令解析 此命令旨在从视频文件中截取图像帧,并通过管道传输这些帧作为 RGB24 格式的原始视频数据。 ```bash ffmpeg -i a.mp4 -loglevel error -f image2pipe -vf scale=1080:1920 -sws_flags bicubic -pix_fmt rgb24 -vcodec rawvideo ``` - `-i a.mp4`:指定输入文件为 `a.mp4`[^3]。 - `-loglevel error`:同样只显示错误级别以上的消息。 - `-f image2pipe`:指明输出格式为一系列图片并通过管道传递给其他程序使用。 - `-vf scale=1080:1920`:应用视频滤镜调整分辨率至宽度 1080px 高度 1920px。 - `-sws_flags bicubic`:当缩放时启用三次立方插值算法以获得更好的画质效果。 - `-pix_fmt rgb24`:设置像素格式为每种颜色占用一个字节共三个通道的 RGB 色彩空间。 - `-vcodec rawvideo`:选择未压缩的原始视频编解码方式。 这两条命令分别展示了如何利用 FFmpeg 提取出特定类型的媒体数据以及对其进行基本处理的方法。第一条专注于获取高质量的音频样本;而第二条则侧重于创建适合进一步图形处理的应用场景下的图像序列。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值