簡體   English   中英

用ffmpeg找出文件是視頻還是圖像

[英]find out if file is a video or an image with ffmpeg

使用ffmpeg庫時,有什么直接的方法可以找出文件是圖像還是視頻?

我知道我可以從AVCodecContext( https://www.ffmpeg.org/doxygen/trunk/structAVCodecContext.html )獲取codec_id,但在https://www.ffmpeg.org/doxygen/trunk/group__lavc__core.html#gaadca229ad2c20e060a14fec08a5cc7ce

真的很大,似乎沒有分類。

確定調查ffprobe來源后,似乎我發現了一些有幫助的東西(不確定它是否100%可靠)

AVFormatContext->iformat->name

但是那里有類似的問題..很多未分類的可能性。 除了在出現圖像的情況下返回“ image2” /“ gif” /“ ico”之外。 可能會出現更多圖像格式,所有受支持的圖像都列在http://www.ffmpeg.org/general.html#Image-Formats

如果不是圖像,則必須分析所有流並檢測其中的視頻流(要知道這是視頻而不是音頻或字幕文件)。 基本上檢查:

AVFormatContext->streams[i]->codec->codec_type == AVMEDIA_TYPE_VIDEO

仍然需要首先檢查iformat-> name,因為流檢查會同時返回圖像和視頻的AVMEDIA_TYPE_VIDEO。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM