ffmpeg常用命令(亲测有效)

本文详细介绍了FFmpeg的命令结构、格式明细、编解码格式与编解码器,以及各种操作如拉流、格式转换、文件拆分和录制桌面等。通过实例演示了如何使用FFmpeg进行H264裸流提取、H265转YUV、NV12转BMP等操作,同时讲解了不同压缩比profile的选择。此外,还提供了拉流保存和播放的命令,以及如何查看编码器参数并指定编码器参数。
摘要由CSDN通过智能技术生成

目录

目录

目录

目录

ffmpeg命令结构:

ffmpeg格式明细

编解码格式与编解码器

查看编码器参数

指定编码器参数

压缩比profile

拉流

拉流保存命令

ffplay拉流播放

格式转换

从MP4文件中提取H264裸流

h265转yuv

nv12转bmp

文件拆分

录制Windows桌面

ffmpeg命令结构:

ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfile}...

ffmpeg格式明细


ffmpeg -codecs  查看支持的编解码器(也就是-vcodec后面可以接的参数)

ffmpeg –decoders 可用的解码器

ffmpeg –encoders 可用的编码器

ffmpeg -formats 查看支持的封装格式(也就是-f后面可以接的参数):
ffmpeg -filters    查看支持的滤镜(也就是-vf后面可以接的参数):

•可用的bit流 :ffmpeg –bsfs

•可用的视频格式:ffmpeg –formats

•可用的声道布局:ffmpeg –layouts

•可用的license:ffmpeg –L

•可用的像素格式:ffmpeg –pix_fmts

•可用的协议:ffmpeg -protocols

编解码格式与编解码器

查看所有支持的编解码格式和对应的编解码器

ffmpeg.exe -codecs

在里面可以看到h264对应的编解码器的名字,以及mpeg4对应的编解码器的名字

DEV.LS h264                 H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 (decoders: h264 h264_qsv h264_cuvid ) (encoders: libx264 libx264rgb h264_amf h264_nvenc h264_qsv nvenc nvenc_h264 )

可以看出h264编码器的名字为libx264

查看编码器参数

ffmpeg.exe -h encoder=libx264

指定编码器参数

ffmpeg.exe -f gdigrab -i desktop  -vcodec libx264 -qmax 40 -x264-params "profile=baseline:level=3.0"   -f mp4 j:/out.mp4


ffmpeg.exe -f gdigrab -i desktop  -vcodec libx264  -x264-params "profile=baseline:crf=28" -preset:v fast -b:v 400k -r 10  -f mp4 j:/out.mp4

压缩比profile

从压缩比例来说,baseline< main < high ,对于带宽比较局限的在线视频,可能会选择high,但有些时候,做个小视频,希望所有的设备基本都能解码(有些低端设备或早期的设备只能解码baseline),那就牺牲文件大小吧,用baseline。自己取舍吧!

拉流

拉流保存命令

ffmpeg -i rtmp://server/live/streamName -c copy dump.flv
ffmpeg.exe -i srt://10.10.15.243:1234?mode=caller -c copy j:/out.mp4

ffplay拉流播放

ffplay.exe srt://10.10.15.243:1234

格式转换

从MP4文件中提取H264裸流

书上方法:

不带音频
ffmpeg.exe -i 1.mp4 -vcodec copy -an 1.h264
增加起止时间,包括音频
ffmpeg.exe -i nice.mkv -vcodec copy -acodec copy  -ss 01:09:58 -to 01:13:09 -y  out.h264

自己亲测可用的方法:

ffmpeg.exe -i timer-120fps.mp4 -c h264 -bsf: h264_mp4toannexb -f h264  out.h264

ffmpeg.exe 命令

-i timer-120fps.mp4 输入文件

-c h264 编码方式

-bsf: h264_mp4toannexb 比特流格式

-f h264 输出格式

out.h264 输出文件

同事给的方法:

ffmpeg -i file.mp4 -an -vcodec copy -bsf:v h264_mp4toannexb output.h264

h265转yuv

ffmpeg -i h265.h265 -vcodec rawvideo -an  -y  -frames 4 output.yuv

nv12转bmp

ffmpeg -f rawvideo -pix_fmt nv12 -video_size 1920x1088 -i ./1-601.nv12 out.bmp

文件拆分

ffmpeg -f rawvideo -s 1920x1080 -pixel_format yuv422p -i h265.h265 -c copy -f segment -segment_time 0.01 frames%d.yuv

录制Windows桌面

按q退出

ffmpeg -f gdigrab -i desktop -y -f mp4 d:/out.mp4
//指定编码器libx264
ffmpeg.exe -f gdigrab -i desktop  -vcodec libx264  -f mp4 j:/out.mp4 

  • 1
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

C++程序员Carea

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值