Hi3531D开发:告别sample

刚接触海思的SDK,被sample里的各种结构给吓坏了,竟然要求软件人员了解单沿触发还是双沿触发,我的天啊!度娘艰苦的搜寻后发现了LINK-SDK。下面简单的区区42行代码就可以搞定采集-->压缩-->RTMP出流:

#include 
#include "Link.h"
int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);
    Link::init();

    LinkObject *vi=Link::create("InputVi");
    QVariantMap dataVi;
    dataVi["interface"]="HDMI-A";
    vi->start(dataVi);

    LinkObject *ai=Link::create("InputAi");
    QVariantMap dataAi;
    dataAi["interface"]="HDMI-A";
    ai->start(dataAi);

    LinkObject *encv=Link::create("EncodeV");
    QVariantMap dataEncV;
    dataEncV["codec"]="h264";
    dataEncV["bitrate"]=2000;
    dataEncV["width"]=1280;
    dataEncV["height"]=720;
    encv->start(dataEncV);

    LinkObject *enca=Link::create("EncodeA");
    QVariantMap dataEncA;
    dataEncA["codec"]="aac";
    dataEncA["bitrate"]=128000;
    dataEncA["samplerate"]=48000;;
    enca->start(dataEncA);

    LinkObject *mux=Link::create("Mux");
    QVariantMap dataMux;
    dataMux["path"]="rtmp://127.0.0.1/live/test";
    mux->start(dataMux);

    vi->linkV(encv)->linkV(mux);
    ai->linkA(enca)->linkA(mux);

    return a.exec();
}

若需了解LINK-SDK请参见API说明:https://gitee.com/LinkPi/LinkLib/wikis/pages。

最有意思的是竟然还有英文版本的API说明,难不成这个公司也走国际化的道路。英语比较厉害的去挑刺吧,该不会是谷歌自动翻译的吧:https://gitee.com/LinkPi/LinkLib/wikis/pages/preview?sort_id=1059687&doc_id=110233

你可能感兴趣的:(Hi3531D开发:告别sample)