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之第六天
Oct 09 PHP
在任意字符集下正常显示网页的方法一
Apr 01 PHP
PHP一些常用的正则表达式字符的一些转换
Jul 29 PHP
php 常用类整理
Dec 23 PHP
PHP array操作10个小技巧分享
Jun 23 PHP
JpGraph php柱状图使用介绍
Aug 23 PHP
PHP中SESSION使用中的一点经验总结
Mar 30 PHP
php无限遍历目录示例
Feb 21 PHP
PHP中使用localhost连接Mysql不成功的解决方法
Aug 20 PHP
如何判断php mysqli扩展类是否开启
Dec 24 PHP
Laravel5.* 打印出执行的sql语句的方法
Jul 24 PHP
YII框架学习笔记之命名空间、操作响应与视图操作示例
Apr 30 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
substr()函数中文版
2006/10/09 PHP
十天学会php之第十天
2006/10/09 PHP
PHP HTML JavaScript MySQL代码如何互相传值的方法分享
2012/09/30 PHP
php生成过去100年下拉列表的方法
2015/07/20 PHP
PHP代码优化技巧小结
2015/09/29 PHP
DWZ+ThinkPHP开发时遇到的问题分析
2016/12/12 PHP
yii2-GridView在开发中常用的功能及技巧总结
2017/01/07 PHP
php中Ioc(控制反转)和Di(依赖注入)
2017/05/07 PHP
JQuery 入门实例1
2009/06/25 Javascript
Jquery使用Firefox FireBug插件调试Ajax步骤讲解
2013/12/02 Javascript
教你用jquery实现iframe自适应高度
2014/06/11 Javascript
浅析JavaScript动画
2015/06/10 Javascript
Javascript 字符串模板的简单实现
2016/02/13 Javascript
Markdown+Bootstrap图片自适应属性详解
2016/05/21 Javascript
JS动态计算移动端rem的解决方案
2016/10/14 Javascript
Angular的自定义指令以及实例
2016/12/26 Javascript
React实现点击删除列表中对应项
2017/01/10 Javascript
JS前端开发判断是否是手机端并跳转操作(小结)
2017/02/05 Javascript
angularjs实现时间轴效果的示例代码
2017/11/29 Javascript
微信小程序实现的涂鸦功能示例【附源码下载】
2018/01/12 Javascript
详解JavaScript中操作符和表达式
2018/09/12 Javascript
Vue 实现监听窗口关闭事件,并在窗口关闭前发送请求
2020/09/01 Javascript
[01:14]2014DOTA2展望TI 剑指西雅图newbee战队专访
2014/06/30 DOTA
python定时检查启动某个exe程序适合检测exe是否挂了
2013/01/21 Python
解析Python中的生成器及其与迭代器的差异
2016/06/20 Python
Python Numpy计算各类距离的方法
2019/07/05 Python
Python3 执行系统命令并获取实时回显功能
2019/07/09 Python
Pyinstaller 打包发布经验总结
2020/06/02 Python
css3气泡 css3关键帧动画创建的动态通知气泡
2013/02/26 HTML / CSS
Top Villas美国:豪华别墅出租和度假屋
2018/07/10 全球购物
网络教育毕业生自我鉴定
2013/10/10 职场文书
网上蛋糕店创业计划书
2014/01/24 职场文书
应届护士求职信范文
2014/01/26 职场文书
农村婚庆司仪主持词
2014/03/15 职场文书
小学捐书活动总结
2014/07/05 职场文书
交通运输局四风问题对照检查材料思想汇报
2014/10/09 职场文书