新聞中心
FFmpeg是一個多功能的開源音視頻解決方案,可以用來獲取音頻或視頻的信息、處理音視頻文件、流媒體傳輸?shù)?。在Linux平臺下使用FFmpeg獲取音頻時長非常方便,本文將介紹如何使用FFmpeg獲取音頻時長。

站在用戶的角度思考問題,與客戶深入溝通,找到沅陵網(wǎng)站設計與沅陵網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗,讓設計與互聯(lián)網(wǎng)技術結合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:成都做網(wǎng)站、網(wǎng)站建設、外貿(mào)營銷網(wǎng)站建設、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣、域名注冊、虛擬空間、企業(yè)郵箱。業(yè)務覆蓋沅陵地區(qū)。
安裝FFmpeg
首先需要在Linux系統(tǒng)上安裝FFmpeg。使用以下命令在Ubuntu系統(tǒng)下安裝最新版本的FFmpeg:
“`
sudo apt-get update
sudo apt-get install ffmpeg
“`
獲取音頻時長
有多種方式可以使用FFmpeg獲取音頻時長,下面將介紹兩種常見的方式。
1. 使用ffprobe命令
ffprobe是FFmpeg工具套裝中的一個命令行工具,可以用來獲取音視頻的信息,包括時長、比特率等等。使用以下命令獲取音頻文件的總時長:
“`
ffprobe -i [音頻文件路徑] -show_entries format=duration -v quiet -of csv=”p=0″
“`
其中,[音頻文件路徑]為待獲取時長的音頻文件的路徑。
例如,獲取一個名為audio.mp3的音頻文件的時長,使用以下命令:
“`
ffprobe -i audio.mp3 -show_entries format=duration -v quiet -of csv=”p=0″
“`
輸出結果為:
“`
267.810000
“`
可以看到,該音頻文件的總時長為267.81秒。
2. 使用ffmpeg命令
除了ffprobe命令外,還可以使用ffmpeg命令來獲取音頻文件的時長。使用以下命令獲取音頻文件的時長:
“`
ffmpeg -i [音頻文件路徑] 2>&1 | grep ‘Duration’ | cut -d ‘ ‘ -f 4 | sed s/,//
“`
其中,[音頻文件路徑]為待獲取時長的音頻文件的路徑。
例如,獲取一個名為audio.mp3的音頻文件的時長,使用以下命令:
“`
ffmpeg -i audio.mp3 2>&1 | grep ‘Duration’ | cut -d ‘ ‘ -f 4 | sed s/,//
“`
輸出結果為:
“`
00:04:27.81
“`
可以看到,該音頻文件的總時長為4分27.81秒。
結論
通過本文介紹的兩種方法,可以使用FFmpeg在Linux系統(tǒng)下方便地獲取音頻文件的時長。在實際工作中,可以根據(jù)具體需要選擇適合的方法。相信本文對Linux用戶使用FFmpeg獲取音頻時長有所幫助。
相關問題拓展閱讀:
- ffmpeg # probesize & yzeduration
ffmpeg # probesize & yzeduration
ffmpeg在avformat_find_stream_info中會讀取一部分源文件的音視頻數(shù)據(jù),來分析文件信息,那么這個操作讀取多少數(shù)據(jù)呢?
答案是:
通過probesize和yzeduration兩個參數(shù)來控制液察
。
直接用命令行查看這兩個參數(shù):
-probesize和 -yzeduration定義在 libavformat/options_table.h 中
可以看到probesize默認為, 而yzeduration默認為0.
傳入的參數(shù)保存在 libavformat/avformat.h 中AVFormatContext的probesize和max_yze_duration變量中。
從上可以看出
probesize是從源文件中讀取的更大字節(jié)數(shù),單位為字節(jié)。
max_yze_duration是從文件中讀取的更大時長,單位為 AV_TIME_BASE units
。
probesize的單位是字節(jié)。
最小是32字節(jié)。鬧余茄
默認是字節(jié)。
avformat_find_stream_info函數(shù)中:
可以看到y(tǒng)zeduration參數(shù)不設置時,即yzeduration默認等于0時,可以看到
默認的分析時長為5秒
:
而如果是flv文件的時候, 默認為90秒
:
mpeg和mpegts文件的時候,默認7秒
:
結論是:
誰先達到就聽誰的
。
以上的例子是讀取50M的數(shù)據(jù)或100秒的數(shù)據(jù),那個標準先達到,那就聽誰的,停止probe
。毀好
ffmpeg/doc/ffmpeg-formats.texi
ffmpeg/doc/faq.texi
關于linux ffmpeg獲取音頻時長的介紹到此就結束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關注本站。
香港服務器選創(chuàng)新互聯(lián),2H2G首月10元開通。
創(chuàng)新互聯(lián)(www.cdcxhl.com)互聯(lián)網(wǎng)服務提供商,擁有超過10年的服務器租用、服務器托管、云服務器、虛擬主機、網(wǎng)站系統(tǒng)開發(fā)經(jīng)驗。專業(yè)提供云主機、虛擬主機、域名注冊、VPS主機、云服務器、香港云服務器、免備案服務器等。
本文題目:Linux下使用FFmpeg獲取音頻時長(linuxffmpeg獲取音頻時長)
文章轉載:http://m.5511xx.com/article/cdggdho.html


咨詢
建站咨詢
