1 mp4文件提取出h264/h265
// h264
ffmpeg -i test.mp4 -map 0:v:1 -c:v copy video.h264
// h265
ffmpeg -i test.mp4 -map 0:v:0 -c:v copy video.h265
2 把h264/h265解码为yuv
// h264
ffmpeg -i video.h265 -c:v rawvideo -pix_fmt yuv420p output.yuv
// h265
ffmpeg -i video.h264 -c:v rawvideo -pix_fmt yuv420p output.yuv
3 把yuv编码为h264
ffmpeg -s 1280x720 -pixel_format yuv420p -i test.yuv -c:v libx264 -crf 23 output.h264
-s 1280x720
: 指定输入视频的分辨率为 1280x720。这里的 1280 是宽度,720 是高度。
-pixel_format yuv420p
: 指定输入视频的像素格式为 yuv420p。这是一种常见的 YUV 格式,其中 Y 分量是完全采样的,而 U 和 V 分量则以 2x2 的子样本进行采样。
-c:v libx264
: 指定使用 libx264 编码器进行视频编码。这是一种高效的 H.264 视频编码器。
-crf 23
: 指定编码质量因子为 23。CRF(Constant Rate Factor)是一种基于质量的编码控制方法,值越小表示更高的质量和比特率。常用的范围是 18-28。
4 mp4文件提取出aac
ffmpeg -i test.mp4 -vn -acodec copy test.aac
5 aac解码为pcm
ffmpeg -i input.aac -f s16le -acodec pcm_s16le -ar 48000 -ac 2 output.pcm
6 pcm编码为wav/aac
// wav
ffmpeg -f s16le -ar 48000 -ac 6 -i test.pcm -acodec pcm_alaw output.wav
// aac
ffmpeg -f s16le -ar 48000 -ac 6 -i test.pcm -acodec aac output.aac
7 aac和h264复合为mp4
ffmpeg -i test.h264 -i test.aac -c copy output.mp4