AVDictionaryEntry *e = av_dict_get(frame_->metadata, "Orientation", nullptr, 0);
if (e) {
string s = e->value;
if (s.find("6") != string::npos || s.find("7") != string::npos) {
return 90;
} else if (s.find("1") != string::npos || s.find("2") != string::npos) {
return 0;
} else if (s.find("8") != string::npos || s.find("5") != string::npos) {
return 270;
} else if (s.find("3") != string::npos || s.find("4") != string::npos) {
return 180;
同理,可以通过将参数 Orientation
改为 EXIF 信息中的其他信息名称,来获取图片的其他 EXIF 信息。
正确用法1: AVDictionaryEntry *tag = NULL;
tag = av_dict_get(st->metadata, “width”, tag, AV_DICT_MATCH_CASE);
正确用法2:AVDictionaryEntry *tag = av_dict_get(st->metadata, “wid...
使用函数avformat_open_input打开文件,结封装。
使用函数avformat_find_stream_info查找并添加流信息到Format上下文中。
使用函数av_dict_get获取文件中的字典信息。
下面是关键部...
上一篇文章我们学习了FFmpeg音频相关的命令,本篇文章我们来学习FFmpeg图片相关的命令。
和上一篇文章一样,我们准备一个Res文件夹,在里面放一个视频文件(video.mp4,一分钟左右)和一张图片文件(image.jpg)。然后在这个文件夹打开命令行。
接着我们了解一下YUV,YUV是图片的一种编码方式,Y指明亮度,U和V指色度,用于表示像素的颜色。常见的YUV采样有三种,分别是YUV444、YUV422 及 YUV420。
YUV444是指每个像素点都有自己的Y值、U值和V值,如下图。
//ffmpeg转换查看rg8图片命令:
ffmpeg -vcodec rawvideo -f rawvideo -pix_fmt bayer_rggb8 -s 2448*2048 -i rg8.raw -f image2 -vcodec bmp rggb8.bmp
参数说明及参考:使用ffmpeg 命令行解码并显示像素格式为.raw图像_xuw_xy的博客-CSDN博客