如何輕鬆識別流是視頻還是圖片【ffmpeg庫】 (How to easily recognize whether stream is video or image [ffmpeg library])


問題描述

如何輕鬆識別流是視頻還是圖片【ffmpeg庫】 (How to easily recognize whether stream is video or image [ffmpeg library])

Having an AVStream object how should I reliably distinguish whether this is video or image stream?

I've tried to use duration. If it's 0 ‑ we are having image (system constraints allows for such assumption). But it turns out that duration have special meaning for images ‑ the number of images stored in file.

Is there any tricks to detect image stream more reliably? 

‑‑‑‑‑

參考解法

方法 1:

At first guess, I would suggest examining the AVStream‑>codec‑>pix_fmt enumeration (see enum PixelFormat link for more information).  You should be able to trim down the values that are for images and videos.  Most videos (MPEG‑2/4, MOV) typically store their frames in PIX_FMT_YUV420P format.

I'll find you the answer tomorrow when I'm back on my development system.

(by inazarukBrian)

參考文件

  1. How to easily recognize whether stream is video or image [ffmpeg library] (CC BY‑SA 3.0/4.0)

#video #image #FFmpeg #codec






相關問題

當前在網站上放置音頻和視頻的最佳方式是什麼? (what's the current best way to put audio and video on a web site?)

相當於PNG的視頻? (Video equivalent of PNG?)

IOS - UISaveVideoAtPathToSavedPhotosAlbum 如何返回保存的視頻路徑? (IOS -how could UISaveVideoAtPathToSavedPhotosAlbum return the saved video path?)

如何使用 c# 編寫一個簡單的視頻播放器,以準確的 fps 播放視頻? (How to use c# to write a simple video player which plays the video with accurate fps?)

Monotouch - MoviePlayer 永遠不會超越“正在加載...” (Monotouch - MoviePlayer never gets beyond "loading...")

Android MediaMetadataRetriever setDataSource 失敗 (Android MediaMetadataRetriever setDataSource failed)

枚舉Windows上所有可用視頻編解碼器的最佳方法? (Best way to enumerate all available video codecs on Windows?)

如何通過上傳單個視頻文件為任何 html5 視頻獲得多種質量(360p、480p、720p)選擇 (how can i get multiple quality(360p,480p, 720p) selection for any html5 video with uploading single video file)

由於不支持的編解碼器,FFmpeg/Avconv 無法複製字幕? (FFmpeg/Avconv unable to copy subtitles due to unsupported codec?)

嵌入 youtube 視頻響應解決方案 (embed youtube video responsive solution)

如何輕鬆識別流是視頻還是圖片【ffmpeg庫】 (How to easily recognize whether stream is video or image [ffmpeg library])

livestream.com 如何顯示存檔的視頻? (how is livestream.com displaying the archived video(s)?)







留言討論