使用ffmpeg删除视频中不需要的轨道

马谦马谦马谦 2020年6月27日21:20:37 发表评论

使用emby导入媒体库的时候,发现所有导入视频的缩略图全是某公众号的广告页面:

使用ffmpeg删除视频中不需要的轨道

实际上的视频并没有这个页面,对于有强迫症的我来说实在无法忍受这个东西,于是就想想办法去掉。然而展示出来的缩略图是没办法直接修改的,用PR捉摸了好久也是没有找到修改的办法。最后准备放弃的时候,在播放器中意外发现了原因竟然是视频中多了一个视频轨道导致的:

使用ffmpeg删除视频中不需要的轨道

可以看到,视频中是有2个轨道的,第一个轨道是实际的视频内容。而第二个轨道就是一张PNG类型的图片,点开来看刚好是上面的视频缩略图。因此就可以判断缩略图肯定是取决于这个轨道了,只要去掉它就好了。

想去掉这个轨道,最开始想的办法是使用PR来删掉,但是鼓捣了半天也没有让PR把这个轨道分离出来,最后不得不另想它法。最后想到的方法是使用ffmpeg来完成这个操作,ffmpeg是一个开源的视频编辑工具,可以对视频进行剪辑和转码等操作。

首先先使用ffmpeg -i 01.mp4命令来查看当前视频的信息,命令输出显示当前视频确实是有3个流的:

使用ffmpeg删除视频中不需要的轨道

第一个流是视频流,第二个是声音流,而第三个也是视频流,它是一个PNG图片,也就是我不希望看到的缩略图图片。

我的目标就是要干掉它,操作命令:

参数的意思:

  • -i: 输入文件
  • -map 0:0: 第1个输入文件的第一个流,也就是主要的视频流。
  • -map 0:1: 第1个输入文件的第二个流,是视频的声音。
  • -vcodec copy: 拷贝选择的视频流。
  • -acodec copy: 拷贝选择的声音流。

整个命令的作用就是:将第一个视频流和第一个声音流拷贝到新的文件中去,相当于就去掉了当前视频中的最后一个流了。

执行后,就会生成一个新的视频文件P01.mp4到当前目录。将新生成的视频文件重新导入到媒体库后,缩略图就正常显示了:

使用ffmpeg删除视频中不需要的轨道

本文共执行64次查询,耗时0.621秒!
马谦马谦马谦

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: