【FFmpeg】ffmpeg 命令行参数 ⑧ ( 使用 ffmpeg 转换封装格式 | 音视频编解码器参数设置 | 视频 帧率 / 码率 / 分辨率 设置 | 音频 码率 / 采样率 设置 )

这篇具有很好参考价值的文章主要介绍了【FFmpeg】ffmpeg 命令行参数 ⑧ ( 使用 ffmpeg 转换封装格式 | 音视频编解码器参数设置 | 视频 帧率 / 码率 / 分辨率 设置 | 音频 码率 / 采样率 设置 )。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。





一、音视频封装过程



音视频 文件 从 采样 -> 处理 -> 得到原始数据帧队列 -> 音视频编码 -> 音视频包队列 -> 格式封装 的过程如下 :

ffmpeg更改视频编解码器,FFmpeg,ffmpeg,音视频,封装格式,格式转换,音频编解码器,视频编解码器,帧率

封装格式 参考 【音视频原理】音视频 “ 采样 - 编码 - 封装 过程 “ 和 “ 解封装 - 解码 - 播放 过程 “ 分析 ( 视频采集处理流程 | 音频采集处理流程 | 音视频文件解封装播放流程 ) 博客 ;





二、保持编码格式转封装




1、设置音视频编解码器参数


在 ffmpeg 命令中 ,

  • 使用 -vcodec 参数 设置 视频编解码器 , 使用 -acodec 参数 设置 音频编解码器 ,
  • 使用 -codec 参数 设置 音视频编解码器 ,

使用 -codec 参数 相当于 同时设置 -vcodec 参数 和 -acodec 参数 ;

-codec 参数 , -vcodec 参数 , -acodec 参数 , 设置 copy 参数值 , 该参数告诉 ffmpeg 保持 原始数据流 的 编码格式不变 , 直接将 数据流 复制到新的容器中 ;


2、设置音视频编解码器参数 - 使用 vcodec / acodec 参数


执行

ffmpeg -i input.mp4 -vcodec copy -acodec copy output.ts

命令 , 将输入文件 保持 音频 和 视频 的 封装格式 不变 , 输出到 ts 封装容器中 , 也就是将 mp4 封装格式 转为 ts 封装格式 , ts 是高清格式 是 " Transport Stream " 的缩写 , 全称 MPEG2-TS , 是一种 传输流封装格式 , 主要应用于数字广播系统 ;

ffmpeg更改视频编解码器,FFmpeg,ffmpeg,音视频,封装格式,格式转换,音频编解码器,视频编解码器,帧率

执行

ffplay output.ts

命令 , 播放上述 output.ts 输出文件 ;

ffmpeg更改视频编解码器,FFmpeg,ffmpeg,音视频,封装格式,格式转换,音频编解码器,视频编解码器,帧率


3、设置音视频编解码器参数 - 使用 codec 参数


执行

ffmpeg -i input.mp4 -codec copy output.ts

命令 , 也可以将 input.mp4 转封装为 output.ts , 使用 -codec 参数 , 可以同时设置 音频编解码器 和 视频 编解码器 ;

然后执行

ffplay output.ts

命令 , 播放该 输出文件 ;

ffmpeg更改视频编解码器,FFmpeg,ffmpeg,音视频,封装格式,格式转换,音频编解码器,视频编解码器,帧率





三、改变编码格式转封装 - 重新进行编码




1、设置音视频编解码器参数 - 使用 vcodec / acodec 参数


执行

ffmpeg -i input.mp4 -vcodec libx265 -acodec libmp3lame output.mkv

命令 , 将 视频 使用 libx265 编解码器 重新进行 编码 , 将 音频 使用 libmp3lame 编解码器 重新进行 编码 , 最终将 重新编码的 音视频数据 存储到 output.mkv 输出文件中 ;

ffmpeg更改视频编解码器,FFmpeg,ffmpeg,音视频,封装格式,格式转换,音频编解码器,视频编解码器,帧率

由于重新进行了编码 , 该命令执行时间比较长 ;


2、使用 ffprobe 查看视频封装信息


执行

ffprobe output.mkv

命令 , 可以查看 output.mkv 视频的封装信息 , 其中列举了 视频流 和 音频流 的编码信息等 ;

ffmpeg更改视频编解码器,FFmpeg,ffmpeg,音视频,封装格式,格式转换,音频编解码器,视频编解码器,帧率


3、查询可用的音视频编解码器


ffmpeg 中提供了大量的 音视频编解码器 , 可以使用如下命令查询 可用的 编解码器 ;

执行

ffmpeg -codecs

命令 , 可以查询出 ffmpeg 的可用的 编解码器 ;

ffmpeg更改视频编解码器,FFmpeg,ffmpeg,音视频,封装格式,格式转换,音频编解码器,视频编解码器,帧率

每个编解码器 前面都有 编解码器 的 类型 , 下面的注释中就是 编解码器 类型解析 ;

Codecs:
 D..... = Decoding supported 支持解码 
 .E.... = Encoding supported 支持编码
 ..V... = Video codec 视频编解码器
 ..A... = Audio codec 音频编解码器
 ..S... = Subtitle codec 字幕编解码器 
 ...I.. = Intra frame-only codec 内部帧编码器 , 每帧都独立编码 , 不需要参考其它帧 ; 
 ....L. = Lossy compression 有损压缩 
 .....S = Lossless compression 无损压缩 




四、改变 封装格式 的 视频 帧率 / 码率 / 分辨率




1、修改视频帧率


执行

ffmpeg -i input.mp4 -r 15 output.mp4

命令 , 将 输入文件 input.mp4 的 视频流数据 重新编码 , 帧率改为 15 fps , 输出到 output.mp4 输出文件中 ;

ffmpeg更改视频编解码器,FFmpeg,ffmpeg,音视频,封装格式,格式转换,音频编解码器,视频编解码器,帧率

注意 : 改变 帧率 的操作 需要 重新进行编码 , 不能使用 -codec copy 参数 , 否则帧率设置无效 ;


执行

ffprobe output.mp4

命令 , 查看 output.mp4 文件的 详细信息 , 其 视频流信息 显示该视频流帧率是 15 fps ;

ffmpeg更改视频编解码器,FFmpeg,ffmpeg,音视频,封装格式,格式转换,音频编解码器,视频编解码器,帧率


2、修改视频码率


执行

ffmpeg -i input.mp4 -b 400k output.mp4

命令 , 将 输入文件 input.mp4 的 视频流数据 重新编码 , 码率修改为 400kbps , 输出到 output.mp4 输出文件中 ;

除了使用 -b 400k 参数外 , 还可以使用 -b:v 400k 参数 设置 码率 ;

ffmpeg更改视频编解码器,FFmpeg,ffmpeg,音视频,封装格式,格式转换,音频编解码器,视频编解码器,帧率

执行

ffprobe output.mp4

命令 , 查看 outp.mp4 文件的 视频流信息 , 其码率为 405 kb/s ;

ffmpeg更改视频编解码器,FFmpeg,ffmpeg,音视频,封装格式,格式转换,音频编解码器,视频编解码器,帧率


3、修改视频分辨率


执行

ffmpeg -i input.mp4 -s 200x200 output.mp4

命令 , 将 输入文件 input.mp4 的 视频分辨率修改为 200 x 200 像素 , 输出到 output.mp4 输出文件中 ;

ffmpeg更改视频编解码器,FFmpeg,ffmpeg,音视频,封装格式,格式转换,音频编解码器,视频编解码器,帧率

执行

ffprobe output.mp4

命令 , 查看 output.mp4 文件的 视频流信息 , 其分辨率为 200 x 200 像素 ;

ffmpeg更改视频编解码器,FFmpeg,ffmpeg,音视频,封装格式,格式转换,音频编解码器,视频编解码器,帧率





五、改变 封装格式 的 音频 码率 / 采样率




1、修改音频码率


执行

ffmpeg -i input.mp4 -b:a 192k output.mp4

命令 , 将 输入文件 input.mp4 的 音频流数据 重新编码 , 码率改为 192 kbps , 输出到 output.mp4 输出文件中 ;

  • -b:a 192k 参数是 设置 音频数据流 码率为 192kbps ;
  • -b:v 192k 参数是 设置 视频数据流 码率为 192kbps ;

ffmpeg更改视频编解码器,FFmpeg,ffmpeg,音视频,封装格式,格式转换,音频编解码器,视频编解码器,帧率


执行

ffprobe output.mp4

命令 , 查看 output.mp4 文件的 详细信息 , 其 音频流信息 显示该音频的码率为 192 kb/s ;

ffmpeg更改视频编解码器,FFmpeg,ffmpeg,音视频,封装格式,格式转换,音频编解码器,视频编解码器,帧率


2、修改音频采样率


执行

ffmpeg -i input.mp4 -ar 44100 output.mp4

命令 , 将 输入文件 input.mp4 的 音频流数据 重新编码 , 采样率改为 44100 hz , 输出到 output.mp4 输出文件中 ;

ffmpeg更改视频编解码器,FFmpeg,ffmpeg,音视频,封装格式,格式转换,音频编解码器,视频编解码器,帧率


执行

ffprobe output.mp4

命令 , 查看 output.mp4 文件的 详细信息 , 其 音频流信息 显示该音频的 采样率为 44100 Hz ;

ffmpeg更改视频编解码器,FFmpeg,ffmpeg,音视频,封装格式,格式转换,音频编解码器,视频编解码器,帧率文章来源地址https://www.toymoban.com/news/detail-854027.html

到了这里,关于【FFmpeg】ffmpeg 命令行参数 ⑧ ( 使用 ffmpeg 转换封装格式 | 音视频编解码器参数设置 | 视频 帧率 / 码率 / 分辨率 设置 | 音频 码率 / 采样率 设置 )的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 使用ffmpeg命令进行视频格式转换

    FFmpeg 是一个非常强大和灵活的开源工具集,用于处理音频和视频文件。它提供了一系列的工具和库,可以用于录制、转换、流式传输和播放音频和视频。 FFmpeg 主要特点如下: 格式支持广泛:FFmpeg 支持几乎所有的音频和视频格式,包括非常流行的格式如 MP4, AVI, MOV, MP3, AAC 等

    2024年02月04日
    浏览(27)
  • 【FFmpeg】ffmpeg 命令行参数 ⑦ ( 使用 FFmpeg 提取 PCM 音频数据 | PCM 音频格式 | 提取 PCM 音频格式常用参数 | 查询文档方法 )

    PCM 全称 \\\" Pulse Code Modulation \\\" , 脉冲编码调制 , 该 音频数据 是未经压缩的 采样裸数据 , 只有 知道该数据的 采样率 / 采样位数 / 通道数 才能将该音频数据播放出来 ; PCM 数据是 最原始的音频数据 , 音频内容完全无损 , 但是 PCM 数据体积庞大 , 对 PCM 音频数据压缩 分为 无损压缩

    2024年04月11日
    浏览(36)
  • 音视频 ffmpeg命令参数说明

    主要参数: -i 设定输入流 -f 设定输出格式(format) -ss 开始时间 -t 时间长度 音频参数: -aframes 设置要输出的音频帧数 -b:a 音频码率 -ar 设定采样率 -ac 设定声音的Channel数 -acodec 设定声音编解码器,如果用copy表示原始编解码数据必须被拷贝。 -an 不处理音频 -af 音频过滤器 视频

    2024年02月10日
    浏览(39)
  • 音视频剪辑|FFMPEG|windows10下的音视频格式转换,遮挡填充,GIF动图制作,背景音频抽取,替换

    最近对于音视频和图像的处理问题比较感兴趣,但发现很多目前需要的功能要么需要付费但不会过于麻烦,要么比较麻烦,很可能某个功能实现需要安装很多软件 例如,视频转GIF动图,该功能的实现要么使用Photoshop全家桶,要么找在线网站,或者是wps充会员,或者找其它方法

    2024年02月20日
    浏览(38)
  • ffmpeg 实用命令 - 转换格式

    介绍一个全局参数  -hide_banner ;它可以阻止 FFmpeg 在每次执行时开头打印的那一堆版本信息文本: 转码 比如将一个 FLV 文件转为 MP4 文件并重编码,FFmpeg 会自动寻找编解码器,准确度还是比较高的: 其中,在  -i  后指定输入文件的文件名,在所有命令的最后指定输出文件的

    2024年01月16日
    浏览(28)
  • 【FFmpeg】音视频录制 ① ( 查询系统中 ffmpeg 可录制的音视频输入设备 | 使用 ffmpeg 命令录制音视频数据 | 录制视频数据命令 |录制音频数据| 同时录制音频和视频数据命令 )

    在 Windows 系统中 , 使用 ffmpeg 命令 录制 音视频 , 需要先获取 系统的 音视频设备 信息 , 录制 音视频 本质上是从 系统音视频设备 中获取数据 ; 执行 命令 , 可以获取 系统中 ffmpeg 可用的 DirectShow 音视频输入设备 ; 命令参数解析 : -list_devices true : 列出所有 ffmpeg 的 指定类型的可

    2024年04月25日
    浏览(68)
  • FFmpeg入门详解之19:音视频封装原理简介

    什么是数据封装和解封装? 数据封装(baiData Encapsulation) ,笼统地讲,就是把业务数据映射到du某个封装协议zhi的净dao荷中,然后填充对应协议的包头,形成封装协议的数据包,并完成速率适配。 解封装 ,就是封装的逆过程,拆解协议包,处理包头中的信息,取出净荷中的业

    2023年04月09日
    浏览(34)
  • python使用ffmpeg来制作音频格式转换工具(优化版)

    简介:一个使用python加上ffmpeg模块来进行音频格式转换的工具。 日志: 20231030:第一版,设置了简单的UI布局和配色,实现音频转为Mp3、AAC、wav、flac四种格式。可解析音频并显示信息,可设置转换后的保存路径 UI界面: 编程平台:visual studio code 编程语言:python 3.12.0 模块:

    2024年02月06日
    浏览(35)
  • FFmpeg基础:获取音视频的各种编码参数

    获取视频编码参数 视频编码参数主要包括:帧率、分辨率、编码格式、码率等,对应的概念如下。 帧率(Frame Rate) 每秒显示帧数(Frames Per Second)。电影的帧率一般是25fps和29.97fps,3D游戏要保持流畅则需要30fps以上的效果。 分辨率 指视频宽高的像素数值。标准1080P的分辨率为1920×

    2024年02月03日
    浏览(28)
  • FFMPEG常用命令 音视频合并

            目录 一、音频合并 1.获取音频时长 2.合并两段音频 3.合并音频插入空白 二、视频加背景图 三、音视频合成 1.保留视频声音 2.不保留视频声音 四、合并视频         本文将用几个实例,介绍ffmpeg命令的综合使用,主要涉及音频处理、视频处理和音视频合成。 参数

    2024年02月10日
    浏览(56)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包