zoukankan      html  css  js  c++  java
  • 《自拍教程20》ffmpeg 音视频图像转码工具

    ffmpeg命令介绍

    ffmpeg.exe(linux/imac一般不带后缀,ffmpeg),
    是一款音视频编解码的命令行工具软件, 常用于多媒体测试的文件制作与转码。
    我们常用的:格式工厂,MediaCoder等多媒体格式转换软件,
    其关键技术有一部分是直接或间接依赖ffmpeg.exe的,
    ffmpeg可以说是编解码界使用最广泛的工具了。
    不管是做多媒体测试,音视频编解码测试,还是普通测试人员日常工作,
    比如一个Bug的视频太大了,无法作为附件上传到Bug系统,
    则需要对视频用ffmpeg重新编码,比如降低分辨率,降低帧率等。
    最终降低了视频的比特率,视频文件自然变小了很多,
    这些我认为是测试人员的必备能力之一。

    Windows版下载地址

    https://ffmpeg.zeranoe.com/builds/win64/static/ffmpeg-20181210-a271025-win64-static.zip
    下载后解压,把bin文件夹下的ffmpeg.exe丢到path环境变量里去,能在cmd端访问即可。

    常用参数(暂只列出针对测试人员的常见参数)

    -i 表示inputfile, 就是ffmpeg需要处理的文件(音频文件,视频文件,图片文件,原始音视频流)
    -s 表示size, 分辨率设置, 视频相关的参数
    -b 表示Video bitrate, 视频比特率,即每秒种的数据量,一般数据量越大,视频质量越好。
    -r 表示frame rate, 视频的帧率,即每秒钟显示多少张图片,一般图片数越多,表示采样的越精细,视频质量越好
    -ab 表示Audio bitrate,音频比特率,即每秒钟的数据量,-一般数据量越大,音频质量越好。
    -ar 表示Audio rate, 即音频采样率,即每秒钟采集音频多少次,一般采集的次数(频率)越大,音频质量越好。
    -an 表示Audio Notavaliable, 即去除音频数据

    常见用法(暂只列出针对测试人员的常见用法)
    序号 ffmpeg命令常见用法 释义
    1 ffmpeg -i input.mp4 -r 12 -s 640x480 output.mp4 将input.mp4进行重编码(按帧率12fps,
    分辨率640x480)并另存为outpu.mp4
    2 ffmpeg -i input.mp4 output.mp3 提取input.mp4视频里的音频文件,
    并另存为output.mp3
    3 ffmpeg - input.jpg output.png 将input.jpg图片重新编码转换成png格式,
    并另存为output.png
    4 ffmpeg -i input.mov output.mp4 将input.mov进行重编码(帧率不变,
    分辨率不变,编码格式会变成h.264)
    并另存为outpu.mp4
    5 ffmpeg -i input.mp4 -an output.mp4 将input.mp4视频进行去音频处理,
    并另存为output.mp4
    6 ffmpeg -i input.mp3 -ar 44.1 output.mp3 将input.mp3进行重编码(按采样率44.1khz),
    并另存为output.mp3
    7 ffmpeg -i input.mp4 -f image2 C:img_%04d.jpg 将input.mp4视频转换成jpg图片帧

    执行效果

    tips 想了解更多ffmpeg命令及其参数,可以用ffmpeg --help来查看帮助文档

    tips 下载ffmpeg.exe的过程中,还有一个ffplay.exe,ffprobe.exe.
    ffplay.exe是ffplay解码播放器,ffplay.exe video.mp4 播放一个视频试试。
    ffprobe.exe是查看多媒体信息流的,其实和mediainfo.exe差不多


    更多更好的原创文章,请访问官方网站:www.zipython.com
    原文链接:https://www.zipython.com/#/detail?id=5d3b9961790443ce9696fb8617225959
    也可关注“武散人”微信订阅号,随时接受文章推送。

  • 相关阅读:
    POJ-1318(list.sort()输出不为字典序,map才是按字典序排列)
    C++ 进阶
    命令模式在MVC框架中的应用
    使用NoSQL Manager for MongoDBclient连接mongodb
    第一部分 学习函数式思维
    【剑指offer】复杂链表的复制
    Hadoop-2.4.0分布式安装手冊
    Impala中多列转为一行
    js(jquery)绑定点击事件
    hdu1243 最长公共子序列(LCS)
  • 原文地址:https://www.cnblogs.com/zipython/p/12354497.html
Copyright © 2011-2022 走看看