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之apc
May 15 PHP
PHP内核探索:变量概述
Jan 30 PHP
php发送post请求的三种方法
Feb 11 PHP
jQuery+PHP+ajax实现微博加载更多内容列表功能
Jun 27 PHP
php socket客户端及服务器端应用实例
Jul 04 PHP
php函数与传递参数实例分析
Nov 15 PHP
基于PHP实现等比压缩图片大小
Mar 04 PHP
php.ini中date.timezone设置详解
Nov 20 PHP
PHP中file_put_contents追加和换行的实现方法
Apr 01 PHP
PHP实现webshell扫描文件木马的方法
Jul 31 PHP
php使用curl伪造来源ip和refer的方法示例
May 08 PHP
PHP7实现和CryptoJS的AES加密方式互通示例【AES-128-ECB加密】
Jun 08 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
AM/FM收音机的安装与调试
2021/03/02 无线电
php 防止单引号,双引号在接受页面转义
2008/07/10 PHP
php二维数组用键名分组相加实例函数
2013/11/06 PHP
详解PHP+AJAX无刷新分页实现方法
2015/11/03 PHP
WordPress中用于获取搜索表单的PHP函数使用解析
2016/01/05 PHP
php自定义函数实现二维数组排序功能
2016/07/20 PHP
在php的yii2框架中整合hbase库的方法
2018/09/20 PHP
Laravel框架基于中间件实现禁止未登录用户访问页面功能示例
2019/01/17 PHP
Laravel框架Eloquent ORM简介、模型建立及查询数据操作详解
2019/12/04 PHP
Javascript 函数中的参数使用分析
2010/03/27 Javascript
js 优化次数过多的循环 考虑到性能问题
2011/03/05 Javascript
jquery 插件学习(六)
2012/08/06 Javascript
通过一段代码简单说js中的this的使用
2013/07/23 Javascript
javascript对象的使用和属性操作示例详解
2014/03/02 Javascript
js浏览器本地存储store.js介绍及应用
2014/05/13 Javascript
js实现简单折叠、展开菜单的方法
2015/08/28 Javascript
将JSON字符串转换成Map对象的方法
2016/11/30 Javascript
如何提高Dom访问速度
2017/01/05 Javascript
JavaScript轮播图简单制作方法
2017/02/20 Javascript
微信小程序实现上传多张图片、删除图片
2020/07/29 Javascript
js数组中去除重复值的几种方法
2020/08/03 Javascript
vue axios请求成功却进入catch的原因分析
2020/09/08 Javascript
[02:19]2018年度DOTA2最佳核心位选手-完美盛典
2018/12/17 DOTA
python代码检查工具pylint 让你的python更规范
2012/09/05 Python
用Python登录Gmail并发送Gmail邮件的教程
2015/04/17 Python
Python OpenCV实现图片上输出中文
2018/01/22 Python
Pycharm远程调试原理及具体配置详解
2019/08/08 Python
Python实现打印实心和空心菱形
2019/11/23 Python
opencv3/C++ 平面对象识别&透视变换方式
2019/12/11 Python
解决pyqt5异常退出无提示信息的问题
2020/04/08 Python
英国马莎百货官网:Marks & Spencer
2016/07/29 全球购物
印度首个本地在线平台:nearbuy
2019/03/28 全球购物
应届毕业生求职信范文分享
2013/12/26 职场文书
浅谈golang 中time.After释放的问题
2021/05/05 Golang
python库sklearn常用操作
2021/08/23 Python
CentOS安装Nginx并部署vue
2022/04/12 Servers