ffmpeg常用命令

1,拷贝音视频


ffmpeg -i input_file -c copy out_file

参数 -i 后面跟输入文件(可以是本地文件,也可以是网络文件)

      -c copy  复制  快速复制输入文件到输出文件,如不写,则会同播放速率复制文件

    输出文件  可以和输入文件一样格式,可以不一样,比如输入mp4,可以直接输出mp3

2,音视频解码编码


ffmpeg -i 输入文件 -vcodec copy -acodec copy 输出文件

参数 -vcodec copy 视频编码解码 copy 保持原来格式

      -acodec copy  音频编码解码  copy  保持原来格式

      不同的编码解码格式

3,查看摄像机和麦克的名称


ffmpeg -list_devices true -f dshow -i dummy

  查看摄像机和麦克的名称,window麦克信息会出现乱码,可以通过系统设备查看名称

  项目中通过 node 的 childprocess  获取详细信息,通过split截取信息后,麦克并没有乱码情况

4,推流本地摄像头头和麦克风指定编码解码格式到推流地址


ffmpeg -f -re -i  dshow videoName" -f dshow -re -i audio="麦克Name" -vcodec libx264 -acodec acc -f flv "推流地址"

参数 -re 指定发送频率,实时发送,如果不指定-re,以20倍速发送

        -f dshow  输入设备

        -f flv    强制转换为flv

        -f  指定输入文件的容器格式

5,推流本地视频到推流地址


ffmpeg -re -i a.mp4 -vcodec libx264 -acodec copy -f flv "推流地址"

6,将直播媒体保存至本地文件


ffmpeg -i "http://lexue-play.chatopera.com/live/123.flv" -c copy dump.flv

7,分离提取视频音频流


ffmpeg -i input_file -vcodec copy -an output_file_video //分离视频流

ffmpeg -i input_file -acodec copy -vn output_file_video //分离音频流

-an  禁掉声音      -vn  禁掉视频

8,将音频转为单声道


ffmpeg -i a.mp3 -ac 1 ad.mp3

  将音频转换为单声道    -ac  设置声道数

9,将文件每5秒保存一张图片到当前目录下


ffmpeg -i a.mp4 -vf fps=1/5 thumb%04d.jpg -hide_banner

10,设置视频参数


ffmpeg -i a.mp4 -ar 16000 -acodec copy -vn acok.mp4

ffmpeg -i acok.mp4 -ab 16 -acodec copy acobit.mp4

  设置视频  -ar    采集率:定义了每秒从连续信号中提取并组成离散信号的采样个数,它用赫兹(Hz)来表示

                    码率:  就是数据传输时单位时间传送的数据位数,一般我们用的单位是kbps即千位每秒。可以理解为取样率,单位时间取样率越高,精度越高,处理的文件越接近原始文件

                    -b  比特率:每秒传送的比特数,每秒传送数据就越多,画质就越清晰     

                    -ab  记录声音动态范围,常见8位,16位,位数越高,声音保真度越高

11,视频剪辑

等待50秒,播放50秒开始的视频(不符合业务要求)


ffmpeg -re -i a.mp4 -ss 00:00:50  -vcodec libx264 -acodec copy -f flv -async 1 "推流地址"

不等待50秒,直接播放50秒开始的视频(符合业务要求)


ffmpeg -ss 00:00:50 -re -i a.mp4 -vcodec libx264 -acodec copy -f flv -async 1 "推流地址"

-ss 写在ffmpeg后面 先跳过,再推流

-ss 写在-i后面,循环一直等到 等待时间后,再推流

12,把视频的前30帧转换成一个Gif图


ffmpeg -i 输入文件 -vframes 30 -y  -f output.gif

参数 -vframes 指定帧数

      -y  覆盖

调用本地摄像头拍照


ffmpeg -f dshow -i video="Integrated Webcam" -y localID.png

你可能感兴趣的:(ffmpeg常用命令)