FFmpeg命令行进行编码解码缩放播放剪切等操作

编码

编码是将yuv文件转化成某种视频编码格式的操作,命令如下
ffmpeg -pix_fmt <yuv格式> -s <宽>x<高> -i <输入文件> -vcodec <编码的目标格式> <输入文件名>
举个例仔
ffmpeg -pix_fmt yuv420p -s 1920x1080 -i input.yuv -vcodec x264 out.h264

解析每个部分的参数:
-pix_fmt 代表着输入源的格式 yuv420p 代表 i420格式的limit range
如果要使用full range需要使用yuvj420p

-s 后面用x的形式输入对应的宽高

-i 输入的源文件

-vcodec 后面跟着使用的编码器,这里例子用的是x264, 还可以是h263,h263p 等

解码

解码是将编码的文件转化为yuv格式的操作
ffmpeg -i <编码文件名> -c:v rawvideo -pixel_format <输出格式> <解码文件名>
注意的是ffmpeg会根据文件名的后缀判断输入和输出文件的格式,如果是yuv的话需要给定yuv的格式
举个例子
ffmpeg -i test_1080p.h263 -c:v rawvideo -pixel_format yuv420p out.yuv 解码h263到i420
ffmpeg -i test_1080p.h264 -c:v rawvideo -pixel_format yuv420p out.yuv 解码h264到i420

播放

ffmpeg的专用的播放命令,如果是编码码流或者封装码流直接使用ffplay即可
ffplay input.h264
ffplay input.mp4
如果是yuv文件需要输入宽高
ffplay -video_size 1280x720 720p.yuv

缩放

常用将yuv文件从一个分辨率缩放到另一个分辨率的操作
ffmpeg -s:v 1920x1080 -r 25 -i input.yuv -vf scale=960:540 -c:v rawvideo -pix_fmt yuv420p out.yuv

使用-vf 滤镜的 scale 方法,指定缩放对方的分辨率大小

截取

截取某一个文件的特定时间段的视频
ffmpeg -i test.mp4 -vcodec copy -acodec copy -ss 00:00:00 -to 00:39:00 test_cut.mp4 -y

拼接

拼接两个yuv文件, 但是前提必须确保两个yuv文件的分辨率大小是一致的,否则会出错
type a.yuv b.yuv > c.yuv

镇楼

FFMPEG大LOGO镇楼
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Jacen.L

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

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

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

打赏作者

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

抵扣说明:

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

余额充值