ffmpeg

视频信息

ffmpeg -i inout.mp4

在这里插入图片描述

视频类型转换

ffmpeg -i input.mp4 output.avi

视频截取

ffmpeg -i input.mp4 -ss 00:00:00 -t 00:00:10 -vcodec copy -acodec copy output.mp4

参数说明
-ss: 开始时间 小时:分钟:秒钟
-t: 多长时间
-vcodec: video编码器 copy代表复制,即不变。
-acodec :audio编码器

rawvideo 格式转换

支持的格式

ffmpeg -pix_fmts

转换成所需的格式

ffmpeg -i input.mp4  -pix_fmt yuv420p10le  output.mp4

提取yuv

ffmpeg -i input.mp4 -an -c:v rawvideo -pix_fmt yuv420p -vframes 5 out.yuv
  • 参数说明

-i : 表示要处理的文件
-a : audio ; n : no // 要输出的结果里不包含音频
-c:v : 与-vcodec一样,表示视频编码器, c是codec的缩写,v是video的缩写 // rawvideo 表示原始视频流(未经混合 - 只含一视频流)
-pix_fmt : 像素格式, 音视频处理中比较常用的像素格式为yuv420
-vframes: 指定帧数

RGB、YUV之间的转换

ffmpeg -s 640*480 -i yuv420p_640x480.yuv  -pix_fmt yuv420p -pix_fmt rgb24 -s 640*480 rgb24_640x480.rgb

播放

ffplay -s  WxH  out.yuv 

1、需要 -s 指定分辨率大小是因为yuv数据就只是数据,不含有头部信息。
2、播放非8bit位深的rawvideo时,需要通过-pix_fmt xxx来指明数据的格式,否则会绿屏等现象。

编码器转码

ffmpeg -i input.mp4 -vcodec libx264 -acodec acc output.mp4

I帧间隔

ffmpeg -i input.mp4 -keyint_min 100 -g 100 -sc_threshold 0 out.264

I帧间隔设为100
-keyint_min为最小关键帧间隔。
-sc_threshold这个命令会根据视频的运动场景,自动添加额外的I帧,所以会导致你编出来的视频关键帧间隔不是你设置的长度,这是只要将它设为0。
-g 控制关键帧间隔

ffprobe基本用法

查看基本信息

ffprobe -i input.mp4

查看格式信息

ffprobe -i input.mp4 -show_format

查看码流信息

ffprobe -i input.mp4 -show_streams

查看帧信息

ffprobe -i input.mp4 -show_frames
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值