php利用ffmpeg提取视频中音频与视频画面的方法详解


Posted in PHP onJune 07, 2017

前言

FFmpeg的名称来自MPEG视频编码标准,前面的“FF”代表“Fast Forward”,FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。可以轻易地实现多种视频格式之间的相互转换。

FFmpeg的用户有Google,Facebook,Youtube,优酷,爱奇艺,土豆等。

组成

       1、libavformat:用于各种音视频封装格式的生成和解析,包括获取解码所需信息以生成解码上下文结构和读取音视频帧等功能,包含demuxers和muxer库;

       2、libavcodec:用于各种类型声音/图像编解码;

       3、libavutil:包含一些公共的工具函数;

       4、libswscale:用于视频场景比例缩放、色彩映射转换;

       5、libpostproc:用于后期效果处理;

       6、ffmpeg:是一个命令行工具,用来对视频文件转换格式,也支持对电视卡实时编码;

       7、ffsever:是一个HTTP多媒体实时广播流服务器,支持时光平移;

       8、ffplay:是一个简单的播放器,使用ffmpeg 库解析和解码,通过SDL显示;

提取视频中音频与视频画面

想要提取视频中的音频信息,首选的技术是ffmpeg,网上的绝大多数ffmpeg使用教程都是:

比如你的文件是 test.mp4

分离视频出来:ffmpeg -i test.mp4 -vcodec copy -an 视频流.avi

分离音频出来:ffmpeg -i test.mp4 -acodec copy -vn 音频流.mp3

用这样的方法,提取视频是没有问题的。但在提取音频时,我遇到了以下错误:

Invalid audio stream. Exactly one MP3 audio stream is required. could not write header for output file #0 (incorrect codec parameters ) invalid argument

其实,简单地提取音视频并不需要这么复杂,只要执行以下两行就行了:

分离视频出来:ffmpeg -i test.mp4 视频流.avi

分离音频出来:ffmpeg -i test.mp4 音频流.mp3

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

PHP 相关文章推荐
用PHP动态创建Flash动画
Oct 09 PHP
解决控件遮挡问题:关于有窗口元素和无窗口元素
Jan 28 PHP
延长phpmyadmin登录时间的方法
Feb 06 PHP
php数组函数序列之array_flip() 将数组键名与值对调
Nov 07 PHP
php提示undefined index的几种解决方法
May 21 PHP
关于PHP session 存储方式的详细介绍
Jun 25 PHP
PHP实现的汉字拼音转换和公历农历转换类及使用示例
Jul 01 PHP
PHP使用JSON和将json还原成数组
Feb 12 PHP
PHP使用Redis实现防止大并发下二次写入的方法
Oct 09 PHP
php接口实现拖拽排序功能
Apr 23 PHP
PHP递归的三种常用方式
Feb 28 PHP
PHP的图像处理实例小结【文字水印、图片水印、压缩图像等】
Dec 20 PHP
PHP实现删除多重数组对象属性并重新赋值的方法
Jun 07 #PHP
PHP laravel中的多对多关系实例详解
Jun 07 #PHP
PHP基于正则批量替换Img中src内容实现获取缩略图的功能示例
Jun 07 #PHP
PHP框架laravel的.env文件配置教程
Jun 07 #PHP
理清PHP在Linxu下执行时的文件权限方法
Jun 07 #PHP
Laravel如何友好的修改.env配置文件详解
Jun 07 #PHP
PHP面向对象之事务脚本模式(详解)
Jun 07 #PHP
You might like
php获取mysql数据库中的所有表名的代码
2011/04/23 PHP
如何修改和添加Apache的默认站点目录
2013/07/05 PHP
PHP递归调用数组值并用其执行指定函数的方法
2015/04/01 PHP
php获取远程文件大小
2015/10/20 PHP
php+ajax登录跳转登录实现思路
2016/07/31 PHP
用PHP去掉文件头的Unicode签名(BOM)方法
2017/06/22 PHP
PHP文件操作实例总结【文件上传、下载、分页】
2018/12/08 PHP
DEFER怎么用?
2006/07/01 Javascript
Javascript中的var_dump函数实现代码
2009/09/07 Javascript
jQuery中insertAfter()方法用法实例
2015/01/08 Javascript
javascript对浅拷贝和深拷贝的详解
2016/10/14 Javascript
BootStrap注意事项小结(五)表单
2017/03/10 Javascript
JavaScript运动框架 链式运动到完美运动(五)
2017/05/18 Javascript
vue2.0 如何把子组件的数据传给父组件(推荐)
2018/01/15 Javascript
解决easyui日期时间框ie的兼容的问题
2018/03/01 Javascript
CKEditor4配置与开发详细中文说明文档
2018/10/08 Javascript
解决vue单页面修改样式无法覆盖问题
2019/08/05 Javascript
layui自定义工具栏的方法
2019/09/19 Javascript
原生javascript制作贪吃蛇小游戏的方法分析
2020/02/26 Javascript
关于element-ui表单中限制输入纯数字的解决方式
2020/09/08 Javascript
python多线程编程中的join函数使用心得
2014/09/02 Python
python获取各操作系统硬件信息的方法
2015/06/03 Python
使用k8s部署Django项目的方法步骤
2019/01/14 Python
Pytoch之torchvision.transforms图像变换实例
2019/12/30 Python
pyinstaller将含有多个py文件的python程序做成exe
2020/04/29 Python
Pycharm中安装wordcloud等库失败问题及终端通过pip安装的Python库如何添加到Pycharm解释器中(推荐)
2020/05/10 Python
python实现canny边缘检测
2020/09/14 Python
ALEX AND ANI:手镯,项链,耳环和更多
2017/04/20 全球购物
美国名牌手表折扣网站:Jomashop
2020/05/22 全球购物
简述DNS进行域名解析的过程
2013/12/02 面试题
教书育人演讲稿
2014/09/11 职场文书
2015年文明创建工作总结
2015/04/30 职场文书
学籍证明模板
2015/06/18 职场文书
大学生就业指导课心得体会
2016/01/15 职场文书
CSS3点击按钮圆形进度打钩效果的实现代码
2021/03/30 HTML / CSS
索尼ICF-36收音机评测
2022/04/30 无线电