1、FFmpeg理解

(1)FFmpeg是一个视屏、音频编码工具

(2)x项目名称mpeg来源mpeg编码标准,但不局限只能使用mpeg编码标准、FF 表示fast forward

(3)被广泛使用、QQ影音、暴风影音、VLC

2、下载(window)

(1) 地址:https://www.ffmpeg.org/download.html#build-windows
(2) 解压、配置环境变量

(3)查看是否安装成功: 管理员打开cmd -> ffmpeg -version

3、使用ffmpeg转换视屏文件格式

(1)将avi转成MP4

ffmpeg -i test.avi test.mp4  

(2)将avi转成MP3

ffmpeg -i test.avi test.mp3

(3)将avi转成gif

ffmpeg -i test.avi test.gif

4、生成m3u8 、ts文件

(1)第一步转MP4

ffmpeg.exe -i lucene.avi -c:v libx264 -s 1280x720 -pix_fmt yuv420p -b:a 63k ‐b:v 753k -r 18 .\lucene.mp4

参数说明:

-i lucene.avi : 指定源文件

-c:v libx264: 指定编码格式 ,x264是开源编码格式

-s 1280x720 : 设置分辨率

-pix_fmt: yuv420p : 设置像素采样方式 有 yuv444p 、yuv422p 、yuv420p  ,yuv可以简单理解成亮度与色彩的比值

-b:a 63k :  设置码率,-b:a 设置视屏码率、-b:v 设置音频码率

-r 18 : 设置帧数,大于24帧人眼感受不到了

lucene.mp4: target文件

(2) 将MP4转成m3u8文件 、ts文件

ffmpeg -i lucene.mp4 -hls_time  -hls_list_size  -hls_segment_filename ./hls/lucene_%05d.ts ./hls/lucene.m3u8

参数说明:

-i lucene.mp4 : 指定源文件

-hls_time: 每个ts文件(分片)的时长,单位为秒,常用10秒

-hls_list_size:保存分片的个数,0 表示保存全部

-hls_segment_filement : ts分片文件的文件名、%05d表示5位数的序列数

4、码率

(1)码率又称为比特率,单位bps(bit per second) 、码率越大传输速度越快

(2)计算公式: 文件大小(转成bit) /时长(秒)/1024 = xxxkbps

(3) 码率设置要结合实际情况,过大对带宽有要求、达到视屏清晰度满足业务要求即可

(4)优酷视屏对码率的要求

FFmpeg的基本使用的更多相关文章

  1. FFmpeg学习6:视音频同步

    在上一篇文章中,视频和音频是各自独立播放的,并不同步.本文主要描述了如何以音频的播放时长为基准,将视频同步到音频上以实现视音频的同步播放的.主要有以下几个方面的内容 视音频同步的简单介绍 DTS 和 ...

  2. FFmpeg 中AVPacket的使用

    AVPacket保存的是解码前的数据,也就是压缩后的数据.该结构本身不直接包含数据,其有一个指向数据域的指针,FFmpeg中很多的数据结构都使用这种方法来管理数据. AVPacket的使用通常离不开下 ...

  3. FFmpeg + SoundTouch实现音频的变调变速

    本文使用FFmpeg + SoundTouch实现将音频解码后,进行变调变速处理,并将处理后的结果保存为WAV文件. 主要有以下内容: 实现一个FFmpeg的工具类,保存多媒体文件所需的解码信息 将解 ...

  4. 用ffmpeg快速剪切和合并视频

    如果直接找视频剪切和合并视频的软件,通常出来的都是大的视频编辑软件或者是有图形界面的剪切软件,大型一点的功能太多安装麻烦,小型一点的功能可能不齐全. 只是简单的剪切或者一下合并一下,还是ffmpeg这 ...

  5. ffmpeg用法及如何使用fluent-ffmpeg

    http://ffmpeg.org/ 官网 ffmpeg(命令行工具) 是一个快速的音视频转换工具. 1.分离视频音频流 ffmpeg -i input_file -vcodec copy -an o ...

  6. FFmpeg学习4:音频格式转换

    前段时间,在学习试用FFmpeg播放音频的时候总是有杂音,网上的很多教程是基于之前版本的FFmpeg的,而新的FFmepg3中audio增加了平面(planar)格式,而SDL播放音频是不支持平面格式 ...

  7. FFmpeg学习5:多线程播放视音频

    在前面的学习中,视频和音频的播放是分开进行的.这主要是为了学习的方便,经过一段时间的学习,对FFmpeg的也有了一定的了解,本文就介绍了 如何使用多线程同时播放音频和视频(未实现同步),并对前面的学习 ...

  8. FFmpeg数据结构:AVPacket解析

    本文主要从以下几个方面对AVPacket做解析: AVPacket在FFmpeg中的作用 字段说明 AVPacket中的内存管理 AVPacket相关函数的说明 结合AVPacket队列说明下AVPa ...

  9. FFmpeg学习3:播放音频

    参考dranger tutorial,本文将介绍如何使用FFmpeg解码音频数据,并使用SDL将解码后的数据输出. 本文主要包含以下几方面的内容: 关于播放音频的需要的一些基础知识介绍 使用SDL2播 ...

  10. FFmpeg学习2:解码数据结构及函数总结

    在上一篇文章中,对FFmpeg的视频解码过程做了一个总结.由于才接触FFmpeg,还是挺陌生的,这里就解码过程再做一个总结. 本文的总结分为以下两个部分: 数据读取,主要关注在解码过程中所用到的FFm ...

随机推荐

  1. redis学习记录1 特性与优点

    1.存储结构:字符串.散列.列表.集合.有序集合. redis存储结构的优势:数据在redis中的储存方式和其在程序中的储存方式相近:redis对不同数据类型提供非常方便的操作方式,如使用集合类型储存 ...

  2. dubbo 相关面试题 有用(转)

    调用关系说明: · 0. 服务容器负责启动,加载,运行服务提供者. · 1. 服务提供者在启动时,向注册中心注册自己提供的服务. · 2. 服务消费者在启动时,向注册中心订阅自己所需的服务. · 3. ...

  3. SpringBoot---条件(th:if)

    Thymeleaf 的条件判断是 通过 th:if 来做的,只有为真的时候,才会显示当前元素 <p th:if="${testBoolean}" >如果testBool ...

  4. NIO组件Channel

    基本介绍 NIO的通道类似于流, 但有些区别: 通道可以同时进行读写, 而流只能读或者只能写 通道可以实现异步读写数据 通道可以从缓冲区(Buffer)读数据, 也可以写数据到缓冲区 BIO中的str ...

  5. Golang的进制转换实战案例

    Golang的进制转换实战案例 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.常用进制概述 1>.进制概述 进制也就是进位制,是人们规定的一种进位方法.举个例子:二进制就 ...

  6. doc转docx

    # -*- coding: utf-8-*- import win32com from win32com.client import Dispatch w = win32com.client.Disp ...

  7. http请求的过程及潜在的性能优化点

    web前端的看富于部署过程 开发者将开发的代码发布到远程的服务器(webserver/cdn),用户通过访问浏览器输入相应的网址,浏览器向远程服务器发送请求,动态的增量式的加载资源 web前端就是一个 ...

  8. 8. Redis 持久化对生产环境的灾难恢复的意义

    1.故障发生的时候会怎么样2.如何应对故障的发生 很多同学,自己也看过一些redis的资料和书籍,当然可能也看过一些redis视频课程 所有的资料,其实都会讲解redis持久化,但是有个问题,我到目前 ...

  9. servlet中调用注入spring管理的dao(转)

    今天做大型仪器的的时候遇到的问题,转下为了以后能用 http://blog.csdn.net/jiyingying_up/article/details/44803585 我们用spring的依赖注入 ...

  10. NASA的10条编码规则

    关于NASA的10条编程规则,他们曾表示:这些规则的作用就像汽车上的安全带:最初,它们可能有点不舒服,但过了一会儿,它们的使用就变成了第二天性,而没有使用它们就变得不可想象. Gerard J. Ho ...