IPCAM视频数据解码并处理

本文介绍了如何在iOS项目中利用FFmpeg库解码H264格式的视频数据,从原始数据转换为UIImage对象。通过创建AVCodecContext,设置解码参数,解码视频帧,并使用SwsContext进行色彩空间转换,最终得到可以在iOS应用中显示的RGB图像。
摘要由CSDN通过智能技术生成

最近做了个视频项目,分享下源码。

掌握一个主线:视频原始数据-->FFMPeg -->YUV-->RGB-->UIImage

// .h文件

#import <AVFoundation/AVFoundation.h>

#include "libavformat/avformat.h"

#include <libavutil/opt.h>

#include <libavutil/audioconvert.h>

#include <libavutil/common.h>

#include <libavutil/imgutils.h>

#include <libavutil/mathematics.h>

#include <libavutil/samplefmt.h>

#include <libswscale/swscale.h>


@interface VideioDecoder : NSObject {

    AVCodecContext *codetext;

    struct  SwsContext * scxt420;

    AVFrame *frame420;

    AVFrame *frameRgba;

    NSRecursiveLock* _fLock;

    int _nOldWidth;

    int _nOldHeight;

}

+ (VideioFrameDecoder *)shareInstance;

- (void)initFFMPEG;

- (void)didFinish:(NSData *)data Len:(int)nLen;

@end

// .m文件

// 以单例形式处理

static VideioDecoder *instance = nil;

+ (VideioDecoder *)shareInstance {

    @synchronized(self) {

        if (nil == instance) {

            instance = [[self alloc] init];

        }

    }

   

简单快捷的方式来查看和控制你的IP摄像机 此扩展程序允许您在弹出窗口中查看和控制您的IP摄像机。要工作,您必须选择相机型号(或者您可以使用'自动扫描'),设置地址,用户名和密码来访问选项中的IP摄像机。这是Extension的一项免费功能。 * * * 隐私: 相机的所有设置都存储在本地计算机上,绝不会传输到第三方计算机。 * * * 从版本1.1.16开始,MyIPCam能够在单独的选项卡上查看您的摄像机(例如,您可以使用全屏模式)。这个功能不是免费的。 * * * 如果您在设置扩展程序时遇到问题,请在DENFLLOW@GMAIL.COM上填写 * * * 如果在“选项”中找不到您的相机,请尝试使用“使用快照路径”字段。在这个领域你应该输入一个PATH(/路径)到相机的JPEG快照。所有IP摄像机都有不同的快照链接。 如果你不知道你的IP摄像头的快照链接,你可以在Google帮助下找到它。或者您可以发送您的问题DENFLLOW@GMAIL.COM。 注意。如何禁用“另存为...”风暴的图像记录: 1.打开Chrome设置 2.向下滚动,然后单击“显示高级设置...” 3.找到“下载” 4.禁用“下载前询问保存每个文件的位置” v1.1.86 - 为Amcrest增加了MJPEG - 为海康威视增加了MJPEG v1.1.85 - 为某些相机增加了MJPEG视频支持 - 为MJPEG增加了自动扫描功能。 v1.1.84 - 增加了HikVision ch17-ch32 v1.1.83 - 增加了Litecoin和Ethereum付款。 v1.1.82 - 修正了一些错误 v1.1.81 - 增加了Floureon v1和Floureon v2 v1.1.80 - 增加了新的PTZ类型:AVIOSYS Kamera 9060系列; BlueJay BCN-401; Edimax IC-7000(2),IC-9000;激光NT-IPC360; Swann Max-IP-Cam; Rimax 7200 v1.1.79 - 修正了一些错误 v1.1.78 - 改进的MJPEG功能(#2) v1.1.77 - 增加了“Reolink v1” - 改进了MJPEG功能 v1.1.76 - Android应用程序“IP摄像头” - 添加支持(也可以在MJPEG选项卡中输入mjpeg路径:/ video) - 修复了对于Chrome 59,60的MJPEG的错误 v1.1.75 - 用于“窗口”的PTZ型“HikVision” - 在“出口/进口”中增加了MJPEG v1.1.74 - 为HikVision增加了PTZ v1.1.73 - “窗口”中的MJPEG v1.1.72 - 增加了MJPEG流支持(对于下一版本的“Windows”) - 现在你可以禁用“OnTab”和“Window”autorefresh(在高级设置中) v1.1.71 - 用camera22修正了bug - 增加了Beward v.3 v1.1.70 - 增加了HikVision ch5-ch16,Airsight - 增加了Trendnet IP-TV410(和其他)PTZ类型 - 现在你可以禁用DUMMY变量(高级设置) v1.1.69 - 修正了Amcrest PTZ的bug v1.1.68 - 增加了新的云台:Amcrest v1.1.67 - 增加了新的云台:Edimax,Planet等 v1.1.66 - 增加了“Y-cam v3” v1.1.65 - “OnTab”,“窗口” - 页面每3分钟自动刷新一次。 v1.1.64 - 修正了“内存泄漏”这是页面崩溃的原因(在选项卡,窗口) v1.1.63 - PTZ预设 v1.1.62 - 新的PTZ功能 v1.1.61 - 修正错误:当cam登录(或密码)是emty v1.1.60 - 'Ucam247 v.1','TP-Link v.3' - 新的决议 v1.1.59 - 修正了一些错误 v1.1.58 - 相机的“窗口” v1.1.57 - 通过密码保护弹出窗口(不是免费的) v1.1.56 - 修正了导出功能的问题(当设置包含引号时) v1.1.55 - 增加了导出/导入/备份功能   v1.1.54 - 修正了“快照”设置的错误 - 付费版本:2.99美元 v1.1.53 - 24台摄像机 - 每个相机的“保存图像” v1.1.52 - 修正了小错误 v1.1.51 - 在Cam Model中增加了AirLink v.2 v1.1.50 - 修正了一些错误 v1.1.49 - Astak Mo
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值