FFmpeg常用命令学习笔记(四)处理原始数据命令

处理原始数据命令 

通过音视频设备采集的、没有经过任何加工的数据叫原始数据,而像我们平时播放的比如mp4文件是压缩后的数据。视频原始数据是YUV格式,音频原始数据是PCM格式。FFmpeg可以从封装格式数据中抽取出PUV和PCM格式的原始数据,并对原始数据进行格式转换等处理。

1. 提取YUV数据

ffmpeg -i input.mp4 -an -c:v rawvideo -pixel_format yuv420p out.yuv

-an:a 代表音频,n 代表 no 不采集音频的意思。

-c:v 指对视频格式进行编码,编码格式是rawvideo,也就是用原始数据格式进行编码。

-pixel_format yuv420p 指定转换像素格式为yuv420p。

 

播放提取出来的YUV:

ffplay -s 320x240 -pix_fmt yuv420p out.yuv

 

2. 提取PCM数据

将input.mp4文件中PCM数据提取出来存为out.pcm

ffmpeg -i input.mp4 -vn -ar 44100 -ac 2 -f s16le out.pcm

-vn:v 代表视频,n 代表 no 也就是没有视频的意思。
-ar a指音频,r指采样率。
-ac a指音频,c指channel也就是声道,设置为2也就是双声道(左声道和右声道)。
-f s16le 是抽取出来的音频的存储方式,s表示有符号的,16表示每个数值都是用16bit表示,l是little,e是end,s16le就是一种存储方式。   播放提取出来的PCM: ffplay -ar 44100 -f s16le -ac 2 out.pcm  
上一篇:FFmpeg + Qt 音频文件转PCM数据


下一篇:Android bluetooth介绍(一):基本概念及硬件接口