zoukankan      html  css  js  c++  java
  • ffepeg的基础命令

    基础命令

    前提:

    • 在执行下面的命令时,需要创建一个文件夹,命名不限
    • 通过终端进入该目录(以桌面为例)
      • cmd 启动终端
      • cd Desktop 进入桌面
      • mkdir {filename} 创建一个文件夹
      • cd {filename} 进入创建的文件夹
    • 下方所有的命令均在该状态下执行,视频等文件也会生成在该文件夹下
    1. 水印&字幕的去除
      • 定义:
        • 去除视频中需要隐藏的信息,比如字幕或水印
        • 在格式中,用(x,y,w,h)四个值描述其具体位置,用(x, y)来描述水印矩形区域的左上角坐标,用(w, h)描述水印矩形区域的宽度和高度,在进行坐标的量取的,可借助工具snipaste
        • show表示是否显示矩形框,如果为0表示不显示,如果为1表示显示,此时会在我们所选的区域显示一个绿色的矩形框,show的默认值为0
      • 格式:
        • ffmpeg -i {需要处理的视频名,后面用input_file代替} -vf delogo=x={x}:y={y}:w={w}:h={h}:show={?} {输出的视频,后面用output_file_video代替}
      • 实例:
        • ffmpeg -i 1.mp4 -vf delogo=x=100:y=320:w=500:h=30:show=1 tt.mp4
    2. 字幕的添加
      • 定义:
        • 进行字幕的添加
        • 文件准备ass文件
          • 首先创建一个后缀为.srt的文件,已经提供该文件,可参考格式
            • srt文件说明
              • 定义:
                • 每个字幕有四部分组成
                  • 字幕序号
                  • 字幕显示的起始时间和结束时间
                  • 字幕内容,可多行
                  • 空白行(表示本字幕段结束)
          • 执行如下命令,将.srt文件更换成.ass文件
            • ffmpeg -i {需要替换的srt文件名}.srt -y {最后生成的ass文件名}.ass
            • eg: ffmpeg -i 1.srt -y 1.ass
          • 添加硬字幕
            • ffmpeg -i {input_file}.mp4 -vf ass={最后生成的ass文件名}.ass -y {output_file_audio}.mp4
            • eg: ffmpeg -i 3.mp4 -vf ass=1.ass -y 04.mp4
      • 格式:同上(添加硬字幕)
      • 实例:同上(添加硬字幕)
    3. 分离视频流
      • 定义:
        • 在视频(有视频流和音频流)中,只提取出视频流,保存为另外一个视频
      • 格式:
        • ffmpeg -i {input_file} -vcodec copy -an {output_file_audio}
      • 实例
        • 可直接在终端输入如下命令,回车即可
        • ffmpeg -i 1.mp4 -vcodec copy -an 2.mp4
    4. 分离音频流
      • 定义:
        • 在视频(有视频流和音频流)中,只提取出音频流,保存为另外一个音频
      • 格式:
        • ffmpeg -I {input_file} -acodec copy -vn {output_file_audio}
      • 实例:
        • ffmpeg -i 1.mp4 -acodec copy -vn 3.mp4
    5. 指定分辨率
      • 定义:
        • 改变视频的宽高
      • 格式:
        • ffmpeg -i {input_file} -s {宽(像素)x高} {output_file_audio}
      • 实例:
        • ffmpeg -i 1.mp4 -s 320x240 4.mp4
    6. 格式转换
      • 定义:
        • 将视频格式进行切换,例如将mp4文件转换为flv
      • 格式:
        • ffmpeg -i {input_file} -acodec aac {output_file_audio}
      • 实例:
        • ffmpeg -i 1.mp4 -acodec aac 5.flv
    7. 剪切视频
      • 定义:
        • 从一个长视频中,裁剪出一个短视频
        • 格式中,存在两个时间,第一个为开始时间,例如0:0:03,第二个时间为持续时间,例如0:0:06,也就是从视频的第三秒开始取,取到第九秒结束
      • 格式:
        • ffmpeg -ss {开始时间} -t {持续时间} -i {input_file} -vcodec copy -acodec copy {output_file_audio}
      • 实例:
        • ffmpeg -ss 0:0:03 -t 0:0:06 -i 1.mp4 -vcodec copy -acodec copy 6.mp4
    8. 视频的合并
      • 定义:
        • 将多个视频进行合并
        • 在视频的同级目录(也就是上方创建的文件夹)下,创建一个txt文件,文件名可自定义,eg:video.txt
        • 在里面进行添加文本,范本如下:
          file 1.mp4
          file 2.mp4
        • 也就是合并视频1.mp4和2.mp4,如果还有多个视频,可继续向下添加,合并的视频顺序,从前往后进行合并
      • 格式:
        • ffmpeg -f concat -i {自定义的txt文件名} -c copy {output_file_audio}
      • 实例:
        • 文件 video.txt
          file 1.mp4
          file 2.mp4
        • ffmpeg -f concat -i video.txt -c copy 7.mp4

    进阶可以参考文档 https://blog.csdn.net/n88Lpo/article/details/115499454 - 可以修改字幕的样式等,可以学习一下

  • 相关阅读:
    Linux下修改Tomcat默认端口
    java 中 byte[]、File、InputStream 互相转换
    安装mule-standalone说明
    python: 可变参数
    vim编码方式设置
    ASCII, Unicode 与 UTF-8
    Vim: 强大的g
    Vim模糊查找与替换
    Vim统计字符串出现次数
    APB简介
  • 原文地址:https://www.cnblogs.com/luckyqh/p/15551746.html
Copyright © 2011-2022 走看看