ffmpeg的pcm、yuv小知识点

ffmpeg的pcm、yuv小知识点

pcm、yuv保存调用,写个通用工具方法,平时快速保存,和调用方便查看自己bug

ffmpeg的AVFrame存储 yuv

调用方法

保存方法

void save_yuv420p_file(unsigned char *y_buf , unsigned char *u_buf,unsigned char *v_buf,int linesizey,int linesizevu, int width,int height,char *filename)
{
    int i = 0;
    static FILE *f= NULL;
    if(f == NULL){
        f = fopen(filename,"wb");
    }
    int height_half = height / 2, width_half = width / 2;
    int y_wrap = linesizey;
    int u_wrap = linesizevu;
    //int u_wrap = pFrame->linesize[0];
    //int v_wrap = pFrame->linesize[0];
    int v_wrap = linesizevu;

    if (f != NULL) {
        //save y
        for (i = 0; i < height; i++)
            fwrite(y_buf + i * y_wrap, 1, width, f);
        //save u
        for (i = 0; i < height_half; i++)
            fwrite(u_buf + i * u_wrap, 1, width_half, f);
        //save v
        for (i = 0; i < height_half; i++)
            fwrite(v_buf + i * v_wrap, 1, width_half, f);
        fflush(f);
    }

}

ffmpeg命令播放yuv:(修改对应宽高和yuv文件路径)

ffplay -video_size 720x1280 -i /Users/shenjianbin/Downloads/camera2_tencent.yuv

ffmpeg的AVFrame存储 pcm

void savess_file(uint8_t *buf, int size,char *filename)
{
    static FILE *f= NULL;
    if(f == NULL){
        f = fopen(filename,"wb");
    }
    if (f != NULL) {
       fwrite(buf, sizeof(uint8_t), size, f);
        fflush(f);
    }

}

命令行操控

 ffplay -ar 44100 -ac 2 -f  f32le /Users/songlin/audio/qt_record/05_05_23_05_35.pcm

ar: 采样率

ac: 声道数

f: 采样格式

s16le:PCM signed 16-bit little-endian

更多PCM的采样格式可以使用命令查看

Windows:ffmpeg -formats | findstr PCM

Mac:ffmpeg -formats | grep PCM

相关推荐
NullPointerExpection5 小时前
h5 video 标签播放经过 java 使用 ws.schild( jave、ffmpeg ) 压缩后的 mp4 视频只有声音无画面的问题排查记录
java·ffmpeg·音视频·vlc·jave·ws.schild
melonbo8 小时前
检测音视频文件的声压
ffmpeg
windxgz8 小时前
FFmpeg——视频拼接总结
c++·ffmpeg·音视频
hunandede9 小时前
音视频开发35 FFmpeg 编码- 将YUV 和 pcm合成一个mp4文件
ffmpeg·音视频·pcm
易板9 小时前
MAX98357、MAX98357A、MAX98357B小巧、低成本、PCM D类IIS放大器,具有AB类性能中文说明规格书
iis·pcm·数字功放·d类放大器
paidaxing_s10 小时前
【FFMPEG基础(一)】解码源码
linux·c++·ffmpeg
chenzuoli13 小时前
ffmpeg图片视频编辑器工具的安装与使用
ffmpeg·编辑器·音视频
安步当歌1 天前
【FFmpeg】av_write_trailer函数
c语言·c++·ffmpeg·视频编解码·video-codec
TMS320VC5257H1 天前
ffmpeg在powershell和ubuntu终端下的不同格式
linux·ubuntu·ffmpeg
玖尾猫2 天前
04.ffmpeg打印音视频媒体信息
ffmpeg·音视频·媒体