FFmpeg:命令行指令
本文章主要记录一些常用的ffmpeg指令使用方法, 会陆续补全记录.
查看指令方式
查看ffmpeg指令的两种方式: 命令行与FFmpeg官网, 详细指令和更多指令介绍, 请查看FFmpeg官网
显示帮助信息
- -h
ffmpeg -h
ffplay -h
ffprobe -h
- –help [arg]
查看指定的命令信息。
# 打印基础工具选项与高级工具选项
ffmpeg --help long
转换文件
ffmpeg -i [输入的文件url] [输出的文件url]
将avi文件转码为mp4
ffmpeg -i input.avi output.mp4
指令分析:
-
-i
输入的文件url -
input.avi
原文件. 将要转码的文件 -
output.mp4
目标文件. 转码后的文件
将mp4转换为yuv
ffmpeg -i input.mp4 -s 640x480 -pix_fmt yuv420p -framerate 25 output.yuv
指令分析:
-
-i
输入的文件url -
input.mp4
原文件. 将要转码的文件 -
-s
设置yuv视频分辨率大小 -
-pix_fmt
设置yuv像素格式 -
-framerate
设置yuv帧率 -
output.yuv
转码后的文件
只有指定视频分辨率、像素格式后, yuv才可以被播放出来
将yuv转为mp4
ffmpeg -s 640x480 -pix_fmt yuv420p -framerate 25 -i output.yuv input.mp4
设置参数在 -i 前代表输入文件的参数信息, 当确定yuv文件的参数信息后, 才可以进行转码.
将设置参数后的output.yuv文件重新编码为input.mp4文件
播放文件
播放mp4
因为mp4文件内包含了视频的分辨率、像素格式、帧率等信息,所以不需要再设置参数信息
ffplay input.mp4
播放yuv
因YUV 文件是一种用于存储视频帧数据的文件格式,通常不包括音频。它是一种原始的、未经压缩的视频数据格式.
所以通过在播放时需要指定视频的分辨率、像素格式等信息才可以播放出来
ffplay -video_size 640x480 -pixel_format yuv420p -framerate 25 output.yuv
查看文件信息
查看mp4文件
ffprobe input.mp4
查看yuv文件
ffprobe -video_size 640x480 output.yuv
当查看yuv文件时, 需要告诉ffprobe yuv文件的分辨率,ffprobe才可以分析yuv文件
查看功能支持情况
-
通过 -h 查看支持哪些功能
ffmpeg -h
-
查看某个功能支持的情况
例如查看编码器是否支持aac
# 在linux与mac上可以使用grep查看, windows可以将grep替换成find查看 ffmpeg -codecs | grep aac