小视频编辑常用命令

概述

在短视频时代,虽然可以随手拍了就发,但是要想稍微制作点内容,视频的编辑是少不了的。 熟悉几条简单的命令,对于一些简单的需求不至于束手无策,也不用为了个简单的功能去安装个视频编辑软件。

更大的好处是可以用来批量处理视频。

常用视频编辑命令

简单整理目前自己常用到的几个命令,以后多了再添加。 这里使用的是视频编辑的神器:ffmpeg 不知道的可以去官网看看,支持各种平台。

视频截取

按照时间截取视频中的一段,这个功能一般用来去除视频中的一些多余的部分。

$ ffmpeg -i test.mp4 -vcodec copy -acodec copy -ss 00:00:05 -t 00:00:10 new.mp4
  • 原始视频 test.mp4
  • 新生成的视频 new.mp4
  • 从 test.mp4 视频的第 5 秒截取到第 10 秒,所以 new.mp4 一共是 5 秒的视频

视频合并

一般用来给视频加个封面和结尾的部分。 注意,mp4 视频不要直接合并,容易失败。

# 先把mp4格式转换成ts格式,直接合并mp4视频有问题
$ ffmpeg -i 1.mp4 -vcodec copy -acodec copy -vbsf h264_mp4toannexb 1.ts
$ ffmpeg -i 2.mp4 -vcodec copy -acodec copy -vbsf h264_mp4toannexb 2.ts
$ ffmpeg -i 3.mp4 -vcodec copy -acodec copy -vbsf h264_mp4toannexb 3.ts
# 合并3个ts文件成1个mp4文件
$ ffmpeg -i "concat:1.ts|2.ts|3.ts" -acodec copy -vcodec copy -absf aac_adtstoasc output.mp4
# 删除中途产生的ts文件
$ rm -rf 1.ts 2.ts 3.ts

剥离视频中的音频

删除音频的原因是要更换背景音乐。

$ ffmpeg -i test.mp4 -map 0:0 -vcodec copy without-audio.mp4

视频加背景音乐

剥离音频之后可以更换自己喜欢的背景音乐

$ ffmpeg -i BGM.mp3 -i test.mp4 -y with-audio.mp4

这里需要注意,背景音乐的时长要和视频保持一致。 如果音频时长比视频长,那么视频播放完后停在最后一帧,等待音频播放完之后才结束,也就是合并之后的 mp4 时长是音频的时长; 如果音频时长比视频短,那么视频没播完就已经没有背景音乐了。

音频比视频长的话,截取音频:下面的示例截取 0 秒 ~ 50 秒的音频

$ ffmpeg -i test.mp3 -ss 00:00:00.0 -t 00:00:50 -acodec copy new.mp3

音频比视频短的话,可以在视频中重复播放此音频,直至视频结束。 下面的例子中,mp4 比 mp3 的时长要长

ffmpeg -stream_loop -1 -i test.mp3 -i test.mp4 -shortest -y repeat-audio.mp4

视频加水印(文字)

文字加在左上角:

$ ffmpeg -i out.mp4 -vf "drawtext=fontfile=/path/to/Microsoft-Yahei-Mono.ttf: text='我的水印':x=10:y=10:fontsize=24:fontcolor=white:shadowy=2" output2.mp4

注意,如果要正常显示中文,需要指定一个能显示中文的字体,fontfile 后面是 字体的绝对路径

文字加在右下角:

$ ffmpeg -i out.mp4 -vf "drawtext=fontfile=/usr/share/fonts/truetype/Microsoft-Yahei-Mono.ttf: text='我的水印':x=main_w-100:y=main_h-50:fontsize=24:fontcolor=white:shadowy=2" output2.mp4

其中,

  • main_w 视频的宽度
  • main_h 视频的高度

视频加水印(图片)

图片水印加在右下角:

$ ffmpeg -i out.mp4 -i logo.png -filter_complex 'overlay=main_w-overlay_w-10:main_h-overlay_h-10' output.mp4

其中,

  • main_w 视频的宽度
  • main_h 视频的高度
  • overlay_w 图片水印的宽度
  • overlay_h 图片水印的高度

图片水印加在其他位置可以通过调整 main_w/main_h 以及 overlay_w/overlay_h 来实现

视频分辨率调整

直接调整:

$ ffmpeg -i out.mp4 -strict -2 -s 640x480 output.mp4

640x480 是宽 x 高,这里如果变换后的比例不是视频的原始比例,会导致视频变形

按比例调整:

$ ffmpeg -i out.mp4 -strict -2 -vf scale=800:-1 output.mp4

这样调整之后,宽度 800,高度按比例调整,视频不会变形。 如果想调整视频高度,可以设置 scale=-1:600

posted @ 2021-04-03 23:15  wang_yb  阅读(465)  评论(0编辑  收藏  举报