php利用ffmpeg提取視頻中音頻與視頻畫面的方法詳解
前言
FFmpeg的名稱來自MPEG視頻編碼標準,前面的“FF”代表“Fast Forward”,F(xiàn)Fmpeg是一套可以用來記錄、轉換數(shù)字音頻、視頻,并能將其轉化為流的開源計算機程序??梢暂p易地實現(xiàn)多種視頻格式之間的相互轉換。
FFmpeg的用戶有Google,F(xiàn)acebook,Youtube,優(yōu)酷,愛奇藝,土豆等。
組成
1、libavformat:用于各種音視頻封裝格式的生成和解析,包括獲取解碼所需信息以生成解碼上下文結構和讀取音視頻幀等功能,包含demuxers和muxer庫;
2、libavcodec:用于各種類型聲音/圖像編解碼;
3、libavutil:包含一些公共的工具函數(shù);
4、libswscale:用于視頻場景比例縮放、色彩映射轉換;
5、libpostproc:用于后期效果處理;
6、ffmpeg:是一個命令行工具,用來對視頻文件轉換格式,也支持對電視卡實時編碼;
7、ffsever:是一個HTTP多媒體實時廣播流服務器,支持時光平移;
8、ffplay:是一個簡單的播放器,使用ffmpeg 庫解析和解碼,通過SDL顯示;
提取視頻中音頻與視頻畫面
想要提取視頻中的音頻信息,首選的技術是ffmpeg,網(wǎng)上的絕大多數(shù)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
其實,簡單地提取音視頻并不需要這么復雜,只要執(zhí)行以下兩行就行了:
分離視頻出來:ffmpeg -i test.mp4 視頻流.avi
分離音頻出來:ffmpeg -i test.mp4 音頻流.mp3
總結
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。
相關文章
php數(shù)值轉換時間及時間轉換數(shù)值用法示例
這篇文章主要介紹了php數(shù)值轉換時間及時間轉換數(shù)值用法,涉及php strtotime及date等函數(shù)實現(xiàn)日期的字符串格式與Unix時間戳格式轉換相關操作技巧,需要的朋友可以參考下2017-05-05