ffmpeg 常用命令

常用命令

1.mp4转yuv

ffmpeg -i test.mp4 test.yuv

2.播放yuv

ffplay -f rawvideo -video_size 1280x720 -i test.yuv

-f format
-video_size 分辨率

3.调整分辨率

ffmpeg -i input.mp4 -strict -2 -s 640x480 output.mp4

-strict -2 : 遗留下来的实验参数,表示使用aac编码,默认安装的ffmpeg有aac编码,使用它就无须安装别的音频编码库
-s: scale 分辨率

4.等比率调整分辨率

ffmpeg -i input.mp4 -strict -2 -vf scale=640:480 output.mp4 

-vf scale: 调整的分辨率, 640或者480其中一个写成-1, 将按照input.mp4的宽高比进行缩放

5.pcm转mp3

ffmpeg -y -f s16be -ac 1 -ar 16000 -acodec pcm_s16le -i 16k.pcm new_mp3.mp3

-f: format 格式 s16be pcm16位大端格式
-ac: audio channel 音频通道数
-ar: audio rate 音频采样率
-acodec: 使用的audio编码器 pcm_s16le pcm16位小端

6.mp3转pcm

ffmpeg -y -i test.mp3 -acodec pcm_s16le -f s16le -ac 2 -ar 16000 16k.pcm

-acodec pcm_s16le: 输出音频编码器为 pcm_s16le
-f s16le: 输出格式为pcm 16位小端
-ac 2:输出通道数为2
-ar: 采样率为16000hz

7.播放pcm

ffplay -ar 16000 -ac 1 -f s16le -i Desktop/out.pcm

-ar audio rate
-ac audio channel number
-f format ;s16le, pcm的默认16bit格式

8.音频采样率转换

ffmpeg -i input.mp3 -ar 8000 -ac 1 output.mp3

-ar: audio rate 音频采样率
-ac: audio channel 音频通道数

9.yuv转h264

ffmpeg -s 176x144 -i  input.yuv -b:v 7776k -r 25 -vcodec libx264 output.h264

-s 176x144: frame size (WxH) 帧大小为176*144
-b:v 7776k: bit rate : video 7776k
-r 25: frame rate 为25
-vcodec libx264: 使用的video编码器为libx264

10.查看h264每一帧的属性

ffprobe -i video.h264 -show_frames > frame.attr

11.查看每帧的dst和pts

ffmpeg -i input.264 -dump -map 0:v -f null -

-map 0:v : 从输入流中选择video 流, 0代表的是第一个输入流

12.查看码流总帧数

ffprobe 1_soccor.h264 -count_frames -select_streams v:0 -show_entries stream=nb_read_frames -of default=nokey=1                  

13.给视频添加时间戳水印

./ffmpeg -i test.mp4 -vf drawtext="fontfile=AdobeFanHeitiStd-Bold.otf:fontcolor=white:fontsize=60:x=1230:y=150:text='%{pts\:hms}'" -c:v libx264 -an -f mp4 output.mp4 -y

其中fontfile=AdobeFanHeitiStd-Bold.otf,指定的是字体文件,绘写字体的时候需要字体文件,如果没有可以从C:\Windows\Fonts随便拿一个即可

posted @ 2020-02-24 10:31  woder  阅读(1116)  评论(0编辑  收藏  举报