zoukankan      html  css  js  c++  java
  • ubuntu使用FFmpeg做音频、视频转码和转换操作

    1. 安装ffmpegsudo apt-get install ffmpeg

    ffmpeg官网: https://www.ostechnix.com/install-ffmpeg-linux/

    1. ffmpeg命令的典型语句:
    ffmpeg [全局选项] {[输入文件选项] -i 输入_url_地址} ...
     {[输出文件选项] 输出_url_地址} ...
    
    1. 常用命令

      1. 获取音频、视频文件信息

        ffmpeg -i video.mp4ffmpeg -i video.mp4 -hide_banner

      2. 转换视频格式

        ffmpeg -i video.mp4 video.avi

        如果你想维持你的源视频文件的质量,使用 -qscale 0 参数:

        ffmpeg -i input.webm -qscale 0 output.mp4

        检查 FFmpeg 的支持格式的列表,运行:

        ffmpeg -formats

      3. 将视频转成音频

        ffmpeg -i input.mp4 -vn output.mp3

        对输出文件使用各种各样的音频转换编码选项,如:

        ffmpeg -i input.mp4 -vn -ar 44100 -ac 2 -ab 320 -f mp3 output.mp3

        说明

        -vn 表面我们已经在输出文件中禁止视频录制

        -ar 设置输出文件的音频频率 通常是22050HZ 44100HZ 48000HZ

        -ac 设置音频通道的数目

        -ab 表明音频比特率

        -f 输出文件格式

      4. 更改视频文件的分辨率

        设置视频的分辨率为1280*720

        ffmpeg -i input.mp4 -filter:v scale=1280:720 -c:a copy output.mp4

        ffmpeg -i input.mp4 -s 1280x720 -c:a copy output.mp4

      5. 压缩视频文件

        ffmpeg -i input.mp4 -vf scale=1280:-1 -c:v libx264 -preset veryslow -crf 24 output.mp4

        减小视频文件的大小,视频质量会损失。如 24 太有侵略性,可以降低 -crf 值到或更低值。

        你也可以通过下面的选项来转换编码音频降低比特率,使其有立体声感,从而减小大小。

        -ac 2 -c:a aac -strict -2 -b:a 128k

      6. 压缩音频文件,如: 将文件压缩为128kbpsffmpeg -i input.mp3 -ab 128 output.mp3

        音频的比特率列表有:

        • 96kbps
        • 112kbps
        • 128kbps
        • 160kbps
        • 192kbps
        • 256kbps
        • 320kbps
      7. 去掉视频中的声音

        ffmpeg -i input.mp4 -an output.mp4

        -an表示没有音频录制

      8. 获取视频文件中的音频,命令转换所给定媒体文件为音频文件

      ffmpeg -i input.mp4 -vn output.mp3

      或 使用-ab指定输出文件的比特率

      ffmpeg -i input.mp4 -vn -ab 320 output.mp3

      1. 从视频中提前图像,从一个视频文件中创建一个相册.

        ffmpeg -i input.mp4 -r 1 -f image2 image-%2d.png

        说明:

        -r 设置帧速度。即,每秒提取帧到图像的数字。默认值是 25。

        -f 表示输出格式,即,在我们的实例中是图像。

        image-%2d.png 表明我们如何想命名提取的图像。在这个实例中,命名应该像这样image-01.png、image-02.png、image-03.png 等等开始。如果你使用 %3d,那么图像的命名像 image-001.png、image-002.png 等等开始。

      2. 裁剪视频

        ffmpeg -i input.mp4 -filter:v "crop=w:h:x:y" output.mp4

        说明:

        input.mp4 源视频文件。

        filter:v 表示视频过滤器。

        crop 表示裁剪过滤器。

        w 我们想自源视频中裁剪的矩形的宽度。

        h 矩形的高度。

        x 我们想自源视频中裁剪的矩形的 x 坐标 。

        y 矩形的 y 坐标。

        比如说你想要一个来自视频的位置 (200,150),且具有 640 像素宽度和 480 像素高度的视频,命令应该是:

        ffmpeg -i input.mp4 -filter:v "crop=640:480:200:150" output.mp4

      3. 转换一个视频的具体部分

        有时,你可能想仅转换视频文件的一个具体的部分到不同的格式。以示例说明,下面的命令将转换所给定视频input.mp4 文件的开始 10 秒到视频 .avi 格式。

        ffmpeg -i input.mp4 -t 10 output.avi

        在这里,我们以秒具体说明时间。此外,以 hh.mm.ss 格式具体说明时间也是可以的。

      4. 设置视频的屏幕高宽比

        ffmpeg -i input.mp4 -aspect 16:9 output.mp4

        通常使用的高宽比:

        • 16:9
        • 4:3
        • 16:10
        • 5:4
        • 2:21:1
        • 2:35:1
        • 2:39:1
      5. 根据开始和结束时间裁剪一段视频文件

        ffmpeg -i input.mp4 -ss 00:00:50 -codec copy -t 50 output.mp4

        -s 表示视频剪辑的开始时间。在我们的示例中,开始时间是第 50 秒。

        -t 表示总的持续时间。

        ffmpeg -i audio.mp3 -ss 00:01:54 -to 00:06:53 -c copy output.mp3

    原文来自: https://zhuanlan.zhihu.com/p/67878761

  • 相关阅读:
    CodeForces Gym 100935G Board Game DFS
    CodeForces 493D Vasya and Chess 简单博弈
    CodeForces Gym 100935D Enormous Carpet 快速幂取模
    CodeForces Gym 100935E Pairs
    CodeForces Gym 100935C OCR (水
    CodeForces Gym 100935B Weird Cryptography
    HDU-敌兵布阵
    HDU-Minimum Inversion Number(最小逆序数)
    七月馒头
    非常可乐
  • 原文地址:https://www.cnblogs.com/liangyy/p/13219438.html
Copyright © 2011-2022 走看看