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

  • 相关阅读:
    【EF学习笔记11】----------查询中常用的扩展方法
    .NET 扩展方法
    【EF学习笔记10】----------主从表级联操作
    【EF学习笔记09】----------使用 EntityState 枚举标记实体状态,实现增删改查
    【EF学习笔记08】----------加载关联表的数据 显式加载
    【EF学习笔记07】----------加载关联表的数据 贪婪加载
    【EF学习笔记06】----------加载关联表的数据 延迟加载
    Linux内核ROP姿势详解(二)
    见微知著(三):解析ctf中的pwn--Fastbin和bins的溢出
    见微知著(二):解析ctf中的pwn--怎么利用double free
  • 原文地址:https://www.cnblogs.com/liangyy/p/13219438.html
Copyright © 2011-2022 走看看