博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
玩转音频、视频的利器:FFmpeg
阅读量:7281 次
发布时间:2019-06-30

本文共 1250 字,大约阅读时间需要 4 分钟。

导语

当下直播平台发展十分迅猛,依靠游戏内直播平台的发展带动游戏活跃提升收入,那么对于我们开发来说如何玩转视频呢?下面就来介绍一个音频、视频处理利器——FFmpeg。

FFmpeg 简介

FFmpeg 是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。采用 LGPL 或 GPL 许可证。它提供了录制、转换以及流化音视频的完整解决方案。

FFmpeg 使用

  • 格式转换:将文件 test.flv 转换成 output.mp4
# ffmpeg -i test.flv output.mp4

-i 表示输入文件

  • 视频和音频分离
# ffmpeg -i test.flv -vn music.mp3

-vn 表示忽略视频

# ffmpeg -i test.flv -an video.flv

-an 表示忽略音频

  • 压缩 mp3 文件:通过改变比特率,可以调整 mp3 文件的大小
# ffmpeg -i test.mp3 -ab 96 output.mp3

-ab 设置比特率,单位:bit/s

  • 从视频中截取图片:从视频第 8 秒处截图,图片尺寸大小:480x320,截图文件名:test.jpg
# ffmpeg -i test.flv -f image2 -ss 5 -t 0.01 -s 480x320 test.jpg

-f 强制选择格式

-ss 搜索到指定时间,支持格式:[-]hh:mm:ss[.xxx],时间单位:秒

-t 设置记录时间

-s 设置帧的大小

  • 获取视频时长
# ffmpeg -i test.flv 2>&1 | grep 'Duration' | cut -d ' ' -f 4 | sed s/,//
  • 视频切片
# ffmpeg -i test.flv -strict -2 -c:v libx264 -c:a aac -f hls output.m3u8

-strict 跟标准的严格性

  • 转换 ts 文件并生成 m3u8

将 mp4 文件转换成 ts 文件

# ffmpeg -i test.mp4 -c copy -bsf h264_mp4toannexb output.ts

将 ts 切片,并且生成 m3u8 文件

# ffmpeg -i output.ts -c copy -map 0 -f segment -segment_list 'list.m3u8' -segment_time 10 'output0d.ts'

ts 文件:传输流文件,视频编码主要格式 h264/mpeg4,音频为 acc/mp3。

m3u8 文件:用文本方式对媒体文件进行描述,由一系列标签组成。

总结

以上是对 FFmpeg 功能的一些简单的介绍,它的功能远远不止这些,还十分强大,有兴趣的小伙伴可以后续一起研究探讨,充分利用好这一个强大的利器。

转载于:https://www.cnblogs.com/liliuguang/p/10399239.html

你可能感兴趣的文章
针对RemoteFX的Quadro
查看>>
FileItem 出现部分中文乱码解决办法
查看>>
zabbix 报警小案例
查看>>
Google Developing for Android 学习总结
查看>>
在centos7中添加一个新用户,并授权
查看>>
SWIFT中函数返回值为Tuple
查看>>
使用脚本实现登录时的Num Lock 状态
查看>>
Apache HTTP配置反向代理入门
查看>>
Linux IPC实践(2) --匿名PIPE
查看>>
LeetCode - 11. Container With Most Water
查看>>
即时数据模块设计说明-前言
查看>>
编程知识普及(持续更新中)
查看>>
Gradle 1.12用户指南翻译——第五十九章. 组织构建逻辑
查看>>
一个动态权限库的设计
查看>>
java实现顺序栈
查看>>
关于 Android 默认字体以及对比微软雅黑字体
查看>>
IntelliJ IDEA像Eclipse一样打开多个项目(转)
查看>>
<实战>在centos中架设samba服务器,并通过windows平台访问
查看>>
二叉树广度优先搜索,并且实现打印二叉树
查看>>
CacheDependency、SqlCacheDependency Asp.net 2.0和Sql的缓存管理和使用
查看>>