首頁  >  文章  >  後端開發  >  php利用ffmpeg提取影片中音訊與視訊畫面的方法詳解

php利用ffmpeg提取影片中音訊與視訊畫面的方法詳解

怪我咯
怪我咯原創
2017-06-16 10:33:421977瀏覽

想要提取影片中的音訊訊息,首選的技術是ffmpeg,ffmpeg是一個非常有用的命令列程序,它可以用來轉碼媒體檔案。這篇文章主要為大家介紹了PHP利用ffmpeg提取影片中音訊與影片畫面的相關資料,需要的朋友可以參考下。

前言

FFmpeg的名稱來自於MPEG視訊編碼標準,前面的「FF」代表“Fast Forward”,FFmpeg是一套可以用來錄製、轉換數位音頻、視頻,並能將其轉化為串流的開源電腦程式。可以輕易地實現多種視訊格式之間的相互轉換。

FFmpeg的用戶有Google,Facebook,Youtube,優酷,愛奇藝,馬鈴薯等。

組成

       1、libavformat:用於各種音訊視訊封裝格式的生成與解析,包括取得解碼所需資訊以生成解碼上下文結構和讀取音視頻幀等功能,包含demuxers和muxer庫;

       2、libavcodec:用於各種類型聲音/圖像編解碼;

      3、libavilil:包含一些公共的工具函數;

       4、libswscale:用於視訊場景比例縮放、色彩映射轉換;

       5、libpostproc:用於後期效果、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利用ffmpeg提取影片中音訊與視訊畫面的方法詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn