相關(guān)關(guān)鍵詞
關(guān)于我們
最新文章
- PHP中opcode緩存簡單用法分析
- thinkPHP控制器變量在模板中的顯示方法示例
- PHP move_uploaded_file() 函數(shù)(將上傳的文件移動到新位置)
- dirname(__FILE__)的含義和應(yīng)用說明
- thinkPHP5框架實(shí)現(xiàn)分頁查詢功能的方法示例
- PHP中單雙號與變量
- PHP獲得當(dāng)日零點(diǎn)時(shí)間戳的方法分析
- Laravel ORM對Model::find方法進(jìn)行緩存示例詳解
- PHP讀寫文件高并發(fā)處理操作實(shí)例詳解
- 【CLI】利用Curl下載文件實(shí)時(shí)進(jìn)度條顯示的實(shí)現(xiàn)
php利用ffmpeg提取視頻中音頻與視頻畫面的方法詳解
前言
FFmpeg的名稱來自MPEG視頻編碼標(biāo)準(zhǔn),前面的“FF”代表“Fast Forward”,F(xiàn)Fmpeg是一套可以用來記錄、轉(zhuǎn)換數(shù)字音頻、視頻,并能將其轉(zhuǎn)化為流的開源計(jì)算機(jī)程序??梢暂p易地實(shí)現(xiàn)多種視頻格式之間的相互轉(zhuǎn)換。
FFmpeg的用戶有Google,F(xiàn)acebook,Youtube,優(yōu)酷,愛奇藝,土豆等。
組成
1、libavformat:用于各種音視頻封裝格式的生成和解析,包括獲取解碼所需信息以生成解碼上下文結(jié)構(gòu)和讀取音視頻幀等功能,包含demuxers和muxer庫;
2、libavcodec:用于各種類型聲音/圖像編解碼;
3、libavutil:包含一些公共的工具函數(shù);
4、libswscale:用于視頻場景比例縮放、色彩映射轉(zhuǎn)換;
5、libpostproc:用于后期效果處理;
6、ffmpeg:是一個(gè)命令行工具,用來對視頻文件轉(zhuǎn)換格式,也支持對電視卡實(shí)時(shí)編碼;
7、ffsever:是一個(gè)HTTP多媒體實(shí)時(shí)廣播流服務(wù)器,支持時(shí)光平移;
8、ffplay:是一個(gè)簡單的播放器,使用ffmpeg 庫解析和解碼,通過SDL顯示;
提取視頻中音頻與視頻畫面
想要提取視頻中的音頻信息,首選的技術(shù)是ffmpeg,網(wǎng)上的絕大多數(shù)ffmpeg使用教程都是:
比如你的文件是 test.mp4
分離視頻出來:ffmpeg -i test.mp4 -vcodec copy -an 視頻流.avi
分離音頻出來:ffmpeg -i test.mp4 -acodec copy -vn 音頻流.mp3
用這樣的方法,提取視頻是沒有問題的。但在提取音頻時(shí),我遇到了以下錯(cuò)誤:
Invalid audio stream. Exactly one MP3 audio stream is required. could not write header for output file #0 (incorrect codec parameters ) invalid argument