[英]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.