Unity 利用FFmpeg实现录屏、直播推流、音频视频格式转换、剪裁等功能

目录

一、FFmpeg简介。

二、FFmpeg常用参数及命令。

三、FFmpeg在Unity 3D中的使用。

  1、FFmpeg 录屏。

  2、FFmpeg 推流。

  3、FFmpeg 其他功能简述。

 

一、FFmpeg简介

对于FFmpeg,其官网上是这样介绍的:

FFmpeg is the leading multimedia framework, able to decode, encode, transcode, mux, demux, stream, filter and play pretty much anything that humans and machines have created.

FFmpeg能够实现对视频音频编码、解码、转码、流传输等等一系列功能。它包含有libavcodec, libavutil, libavformat, libavfilter, libavdevice, libswscale,libswresample 库。其中:

 

libavcodec      是一个包含用于音频/视频编解码器的解码器和编码器的库。
libavutil       是一个包含简化编程功能的库,包括随机数生成器,数据结构,数学例程,核心多媒体实用程序等等。
libavformat     是一个包含多媒体容器格式的解复用器和复用器的库。
libavdevice     是一个包含输入和输出设备的库,用于从许多常见的多媒体输入/输出软件框架中获取和呈现,包括Video4Linux,Video4Linux2,VfW和ALSA。
libavfilter     是一个包含媒体过滤器的库。
libswscale      是一个执行高度优化的图像缩放和色彩空间/像素格式转换操作的库。
libswresample   是一个执行高度优化的音频重采样,重新矩阵化和样本格式转换操作的库。

二、FFmpeg常用参数及命令

1、命令的格式:

ffmpeg [global_options] {[input_file_options] -i input_url} ... {[output_file_optionsoutput_url} ...

2、常用参数:

-f fmt (input/output)	强制设定输入或输出文件格式。通常会自动检测输入文件的格式,并从输出文件的文件扩展名猜测格式,因此大多数情况下不需要这个选项。
-i url (input)          输入
-y (global)             在没有请求的情况下覆盖输出文件。
-n (global)             不要覆盖输出文件,如果指定的输出文件已经存在,则会立即退出。
-stream_loop number 	设定输入流循环的次数。循环0表示没有循环,循环1表示无限循环
-codec/-c               设置编码格式
-r fps 	                设置帧速率
-vcodec codec (output)	设置视频编码格式,同-codec:v
-pix_fmt format         设置像素格式
-ar freq                设置音频采样频率
-aq q (output)	        设置音频质量
-acodec codec	        设置音频编解码器,同-codec:a

3、常用命令

(1)将视频的帧速率改为24

ffmpeg -i input.avi -r 24 output.avi

(2)视频格式转换,将avi转成mp4

ffmpeg -i input.avi output.mp4 

(3)从视频中提取音频

ffmpeg -i test.mp4 -acodec libmp3lame output.mp3

(4)视频剪切

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

(5)视频添加Logo

ffmpeg -i input.mp4 -i Logo.png -filter_complex overlay output.mp4 

(6)视频去掉Logo

ffmpeg
  • 4
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值