使用ffmepg等视频工具

 

FFMPEG  ——实战参考,官方文档

1. ffmepg剪切视频

ffmpeg -i source.mp4 -ss starttime -t length -c copy (filepath)output.mp4
# -ss xx:xx:xx/M #h:m:s or M s, start time
# -t N/xx:xx:xx #N s or h:m:s,length of output.mp4

filepath需要存在,没有的文件夹要先创建,ffmepg不会创建文件夹,只会报错:No such file or dictionary.

 这样得到的输出视频的前几秒的画面可能不会动

可以用下面的:

ffmpeg  -ss startTime -to endTime -i input.mp4 -acodec copy -vcodec copy output.mp4

 也可以重新编码生成,会慢些:

ffmpeg -ss 15 -i input.mp4 -c:v libx264 -c:a aac -strict experimental -b:a 96k output.mp4

* 未指定 -t,则截取从start-time到视频末尾。

 

* 报下面的错误,是视频本身有问题

[h264 @ 0x2bd4aa0] Invalid NAL unit size (-873036191 > 449).
[h264 @ 0x2bd4aa0] Error splitting the input into NAL units.

 

2. 从图片合成视频

ffmpeg -loop 1 -i input.jpg -r fps -t time_length -vcodec libx264 -s height×width output.mp4

其中-loop 1表示循环读取一张图片,fps项若不指定则默认的fps为25,-s项不指定则使用原图的height和width

libx264编码方式损失会小些(此时要求height和width均为偶数)

3.  视频特效  ——参考博客

  如颤抖、锐化、模糊、翻转、浮雕等效果。

  多视频的stack组合,eg:  ——参考so示例

ffmpeg -i input0 -i input1 -filter_complex vstack=inputs=2 output

   小窗视频  ——参考博客

ffmpeg -i input1.mp4 -i input2.mp4 -filter_complex overlay output.mp4

* 1为背景视频,2为前景视频(小窗),2默认原点为1的原点(左上角),更多参数参考上面的博客

 

 4. windows安装ffmepg  ——参考博客

  从官方推荐的gydn.dev网站下载编译后的 full版本的安装包。

  解压安装包,并将其中的 bin/ 目录添加到系统的Path环境变量即可。

 

其它

2. 可以使用youtube-dl下载YouTube上的视频,用youtube-dl -U先确认是最新版;在vscode内打开Terminal,再使用youtube-dl可能无法下载,另外打开Terminal可以,不知道为什么

posted @ 2020-07-25 17:40  谷小雨  阅读(732)  评论(0编辑  收藏  举报