当前位置: 首页 > news >正文

ffmpeg windows系统详细教程

视频做预览时黑屏,但有声音问题解决方案。

需要将  .mp4编成H.264格式的.mp4

一般上传视频的站点,如YouTube、Vimeo 等,通常会在用户上传视频时自动对视频进行转码,以确保视频能够在各种设备和网络条件下流畅播放。这些网站通常使用强大的后台服务器和专门的视频处理软件来完成这一过程。以下是一个常见的视频转码流程:

1. 用户上传视频
用户通过前端界面上传视频文件,服务器接收到上传的原始视频文件。

2. 检查视频格式和元数据
服务器会检查视频文件的格式和元数据,确保文件有效且符合预期。

3. 存储原始文件
上传的视频文件会被保存到云存储或本地存储中,以便后续处理。

4. 视频转码
服务器会调用视频转码服务,将视频转码为多种格式和分辨率。常见的转码格式包括H.264、H.265等,以便在不同的设备和网络条件下播放。视频转码通常使用FFmpeg等强大的开源工具。

5. 多分辨率生成
转码服务会将视频生成多种分辨率(如1080p、720p、480p等),以适应不同的网络带宽和设备。

6. 缓存和CDN分发
转码后的视频文件会被缓存并分发到内容分发网络(CDN)中,以确保用户能够快速、流畅地访问视频。

7. 视频播放
用户访问视频时,前端播放器会根据用户的网络条件和设备选择合适的分辨率播放视频。

正式教程:

  • 下载 FFmpeg 文件

    • 访问FFmpeg 官方网站,在 Windows 选项卡下选择“Windows builds from gyan.dev”。
    • 选择“ffmpeg-git-full.7z”包,它是包含所有必要文件的最新主版本。
  • 提取文件

    • .7z下载后,使用 7-Zip 等工具提取文件内容。
    • 将解压的文件夹重命名为ffmpeg
  • 将文件夹移动到主驱动器:(这步可跳过)

    • 通常将该ffmpeg文件夹放在主系统驱动器的根目录中C:\
  • 将 FFmpeg 添加到 PATH 环境变量

    • 打开开始菜单,搜索“编辑系统环境变量”,然后选择它。
    • 在系统属性窗口中,单击“环境变量”按钮。
    • 在环境变量窗口中,找到“用户变量”下的“Path”变量,并选择“编辑”。
    • bin添加一个新条目,其中包含指向FFmpeg 目录内文件夹的路径(例如C:\ffmpeg\bin)。
  • 验证安装

    • 打开命令提示符并输入,ffmpeg然后按 Enter。
    • 如果安装正确,您应该会看到包含版本信息和可用命令的详细输出。类似下图:

将视频转换为 H.264 格式。操作方法如下:

  1. 打开命令提示符。
  2. 导航到视频文件所在的目录。
  3. 使用以下命令将视频转换为 H.264 格式:
ffmpeg -i input.mp4 -c:v libx264 -preset fast -crf 22 -c:a aac -b:a 128k output.mp4
此时新生成的文件就是H.264格式的.mp4了

命令解释:

  • ffmpeg:调用 FFmpeg 可执行文件。
  • -i tooth.mp4:指定输入文件。
  • -c:v libx264:使用 H.264 视频编解码器。
  • -preset fast:使用预设来权衡编码速度/质量。
  • -crf 22:设置质量的恒定速率因子(越低越好,0-51)。
  • -c:a aac:使用 AAC 音频编解码器。
  • -b:a 128k:将音频比特率设置为128 kbps。
  • tooth_converted.mp4:输出文件的名称。

相关文章:

  • Android集成mapbox教程
  • 向量数据库选型
  • 数据加密两大政企实践案例 | 麒麟信安护航海量核心数据安全无虞
  • 搞IT需不需要考个软考中级?
  • SQL新手蜕变:掌握这20条常用SQL语句,让你也能成为高手!
  • spring 单元测试注解
  • 服务器数据恢复—OceanStor存储中NAS卷数据丢失如何恢复数据?
  • HarmonyOS Next 系列之沉浸式状态实现的多种方式(七)
  • 快消品经销商的仓库管理,有哪些是必须注意的事项?
  • RSA密码系统的特定密钥泄露攻击与Coppersmith方法的应用
  • 钒能新材料综合回收利用,钒溶液净化富集工艺之离子交换法
  • iptables(4)规则匹配条件
  • 方舟云康亏损收窄:三年近10亿销售成本,平均付费及月活仍大幅承压
  • 趋势洞察-新一代AI范式
  • 2024.6.19 Subspace更名Autonomys后的首次社区会议:Autonomys新任CEO首秀
  • 【css3】浏览器内核及其兼容性
  • AzureCon上微软宣布了哪些容器相关的重磅消息
  • Cookie 在前端中的实践
  • Laravel 中的一个后期静态绑定
  • leetcode讲解--894. All Possible Full Binary Trees
  • Linux快速复制或删除大量小文件
  • Linux下的乱码问题
  • Spring声明式事务管理之一:五大属性分析
  • Vue实战(四)登录/注册页的实现
  • 机器学习学习笔记一
  • 使用SAX解析XML
  • 数据仓库的几种建模方法
  • 原生js练习题---第五课
  • d²y/dx²; 偏导数问题 请问f1 f2是什么意思
  • 没有任何编程基础可以直接学习python语言吗?学会后能够做什么? ...
  • 微龛半导体获数千万Pre-A轮融资,投资方为国中创投 ...
  • ​3ds Max插件CG MAGIC图形板块为您提升线条效率!
  • ​520就是要宠粉,你的心头书我买单
  • ​MySQL主从复制一致性检测
  • ###项目技术发展史
  • (02)Cartographer源码无死角解析-(03) 新数据运行与地图保存、加载地图启动仅定位模式
  • (3)nginx 配置(nginx.conf)
  • (51单片机)第五章-A/D和D/A工作原理-A/D
  • (BFS)hdoj2377-Bus Pass
  • (C语言)共用体union的用法举例
  • (c语言+数据结构链表)项目:贪吃蛇
  • (Java)【深基9.例1】选举学生会
  • (ZT)薛涌:谈贫说富
  • (八)Flask之app.route装饰器函数的参数
  • (附源码)ssm考生评分系统 毕业设计 071114
  • (七)glDrawArry绘制
  • (三十五)大数据实战——Superset可视化平台搭建
  • (十)T检验-第一部分
  • (算法)大数的进制转换
  • (原)Matlab的svmtrain和svmclassify
  • (转) ns2/nam与nam实现相关的文件
  • (转)ABI是什么
  • (转)重识new
  • ***linux下安装xampp,XAMPP目录结构(阿里云安装xampp)
  • .NET Core Web APi类库如何内嵌运行?