ffmpeg之-ffmpeg/ffplay/ffprobe(六)

ffplay常用命令

1、ffplay播放yuv文件
ffplay -f rawvideo -pix_fmt nv12 -video_size 640x480 -framerate 50 -i test.yuv
备注:如果不指定-pix_fmt,默认为yuv420p;如果不指定framerate 默认25fps
通过ffplay -pix_fmts 可以查看支持的播放格式

2、ffplay播放pcm文件
ffplay -ar 44100 -ac 2 -f f32le -i test_441_f32le_2.pcm
备注:播放采样率为44100,声道数为2 存储格式为32位小端序的音频数据

ffmpeg常用命令

  • ffmpeg -i input -c:v libx264 -preset slow -crf 22-c:a copy output.mkv
    -c:v:表示使用的视频编码器库 这里表示使用x264库;copy代表视频不重新编码
    -preset:设定x264的预设参数为 "slow";它可取值为"ultrafast,superfast,veryfast,
    faster,fast,medium,slow,slower,veryslow,placebo";默认值为medium。预设参数代表了编码速度,编码速度越慢,压缩率则越大。
    -crf:x264默认的质量和码率控制方式;x264的取值范围(0-51),默认值为23,值越小,压缩率越小(视频质量月好),压缩后文件越大;推荐的取值为(18-28)

  • ffmpeg -i test_1280x720.MP4 -ss 00:00:00 -t 00:00:10 -pix_fmt yuv420p -vf scale=640:360 -f rawvideo test_640x360_yuv420p.yuv
    MP4转换为YUV并同时进行压缩和截取

  • 其它格式转换为PCM格式
    ffmpeg -i test-mp3-1.mp3 -f s16le -ar 44100 -ac 2 -acodec pcm_s16le test_441_s16le_2.pcm
    tips:pcm的不同格式之间不能相互转化

  • PCM格式转化为其它格式
    ffmpeg -f s16le -ar 44100 -ac 2 -acodec pcm_s16le -i input.pcm output.wav

  • 音频和视频合成一个视频文件
    ffmpeg -i test_1280x720_1.mp4 -i test-mp3-1.mp3 -map 0:v:0 -map 1:a:0 -c:a copy output.mp4

  • ffmpeg生成HLS的m3u8与ts片段
    1、方式一:
    ffmpeg -i cat.mp4 -c copy -bsf h264_mp4toannexb cat.ts
    ffmpeg -i cat.ts -c copy -map 0 -f segment -segment_list playlist.m3u8 -segment_time 2 cat_output%03d.ts
    2、方式二:
    ffmpeg -i input.mp4 -c:v libx264 -c:a aac -strict -2 -f hls output.m3u8
    -hls_time n: 设置每片的长度,默认值为2。单位为秒
    -hls_list_size n:设置播放列表保存的最多条目,设置为0会保存有所片信息,默认值为5
    -hls_wrap n:设置多少片之后开始覆盖,如果设置为0则不会覆盖,默认值为0.这个选项能够避免在磁盘上存储过多的片,而且能够限制写入磁盘的最多的片的数量
    -hls_start_number n:设置播放列表中sequence number的值为number,默认值为0

  • 从视频中提取图片并生成jpg
    ffmpeg -i test.mp4 -r 30 -ss 00:00:20 -vframes 10 image-%3d.jpg
    -ss 00:00:20 表示从20秒开始提取
    -r 30 表示提取的图片序列帧率为30fps
    -vframes 10 表示提取10帧

  • 图片序列生成视频
    ffmpeg -y -r 10 -i image%04d.jpg output.mp4
    将当前目录下image001.jpg,image002.jpg,image003.jpg,......序列生成视频。视频帧率为10

你可能感兴趣的:(ffmpeg之-ffmpeg/ffplay/ffprobe(六))