要判斷一個影片檔使用的Video CODEC和Audio CODEC,可以藉ffmpeg實現。
程式碼如下:
#include <libavformat/avformat.h>
int main(int argc, char *argv[]) {
AVFormatContext *avformat;
av_register_all();
av_open_input_file(&avformat,argv[1],NULL,0,NULL);
av_find_stream_info(avformat);
dump_format(avformat, 0, argv[1], 0);
return 0;
}
記得要先安裝ffmpeg library,並且在compile上面的程式時,要link libavformat library, 即 gcc xxx.c -lavformat。
用法很簡單,就執行檔後面跟著要判斷的影片檔即可。輸出範例如下:
> ./a.out ~/iPod_video/dance.mp4
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/home/khchung/iPod_video/dance.mp4':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2avc1mp41
encoder : Lavf52.47.0
Duration: 00:06:17.42, start: 0.000000, bitrate: 1262 kb/s
Stream #0.0(und): Video: h264, yuv420p, 480x320 [PAR 1:1 DAR 3:2], 1132 kb/s, 24 fps, 24 tbr, 24 tbn, 48 tbc
Stream #0.1(und): Audio: aac, 48000 Hz, stereo, s16, 126 kb/s
可以看出,Video 部份是做用H.264壓縮,audio 則是用 AAC 壓縮。
沒有留言:
張貼留言