ffmpeg使用(未完)

本文最后更新于:7 个月前

一直想建立一个视频搬运的工作流,比如在b站上看到什么视频了,复制下链接,然后自动抓取转码和上传到推特或者油管,推特机器人账号需要自己有服务器,所以再议。
本文主要是收集一些ffmpeg的使用,视频剪辑软件对于我的需求来说太重了。比如我可能需要的是剪切,转码,音频提取(接翻译接口),字幕生成之类的,这些事情脚本做还是比较方便的。
然后因为还是参考别人的博客也没有自己读文档,先在这里记录一下地址。

转码


1. 准备

1.1 下载ffmpeg

进入ffmpeg官网Download FFmpeg,根据自己的系统下载相应封装,这里以Windows为例。

选择篮框中任意一项进行下载。

以下是选择第一项后的截图 

下载合适的release,解压,将bin目录下的exe文件全部复制到目录C:\Windows\System32下。

1.2 cmd基础

1.2.1 打开cmd

通过win+R,或 右键“开始”选择“运行”可进入cmd。

1.2.2 进入指定文件夹

①进入某个磁盘,直接盘符代号:如D:,然后回车,到D盘下(不用CD 命令切换)

②输入dir,可以看到d盘下的各个文件名称

③进入除根录以外的文件夹 :  cd  文件夹路径(cd  xxx\xxx\xxx)回车

④进入上一层目录 : cd ../

⑤返回D盘:cd\  

⑥返回C盘:直接输入c: ,回车

注: 不能在一打开cmd的时候运行cd  d:\xxx\xxx,需要先进入磁盘

以进入E:\Videos\S为例。

在cmd中输入磁盘符E:,回车。这一步不用cd命令。

然后输入cd Videos\S,回车即可。

2. 文件转换

2.1 单个文件

ffmpeg -i "input.flv" -c copy "output.mp4"

将这里的input改为你的文件名,output改为你想得到的文件名即可。

2.2 批量转换

for %i in (*.flv) do ffmpeg -i "%i" -c copy "%~ni.mp4"

这时新生成的mp4文件会沿用原文件名。

2.3 某些flv文件转换成mp4时会报错,这时可尝试以下代码:

ffmpeg -i filename.flv -c:v libx264 -crf 19 -strict experimental filename.mp4

第一个filename改为需要转换的文件名,第二个filename改为相应的输出文件名。

*2.4 flv/mp4文件的合并

有时通过某些下载工具得到的flv/mp4文件被分为多个片段,但我们希望将它们合并。

以合并5个mp4文件:

文件1.mp4
文件2.mp4
文件3.mp4
文件4.mp4
文件5.mp4

为例。

新建一个txt文件,把需要合并的mp4文件的文件名依序写在txt文件中并保存,格式如下:

  1. file '文件1.mp4'
  2. file '文件2.mp4'
  3. file '文件3.mp4'
  4. file '文件4.mp4'
  5. file '文件5.mp4'

注:这里txt文件被命名为combine.txt

把上述需要合并的mp4文件和这个txt文件放在同一个文件夹下,然后在cmd中进入该文件夹,再输入以下命令:

ffmpeg -f concat -safe 0 -i combine.txt -c copy output.mp4

回车。即可得到一个完整的mp4文件。

合并多个flv文件的方法类似。

输出的文件与原文件在同一文件夹中。



ffmpeg使用(未完)
https://coldison.github.io/2022/07/18/ffmpeg使用/
作者
Coldison
发布于
2022年7月18日
更新于
2022年7月19日
许可协议