【Atlas500】入门(十七)——实时处理8路视频

1. 延时测试方式

不要用vlc,不要用vlc,不要用vlc测试延迟,用web的flash插件测试

下图
在这里插入图片描述
或者输入视频流中添加一个时间戳和北京时间做对比
【Atlas500】入门(十七)——实时处理8路视频_第1张图片

2. rtmp推流之后vlc能播放,flash播放器不能

在编码器上下文中添加pCodecCtx->flags |= AV_CODEC_FLAG_GLOBAL_HEADER

pCodecCtx = avcodec_alloc_context3(pEncoder);           // 创建编码器上下文
    if (pCodecCtx == NULL) {
        return HIAI_ERROR;
    }
    pCodecCtx->flags |= AV_CODEC_FLAG_GLOBAL_HEADER; //全局参数

3. 推流延迟优化

可参考:https://blog.csdn.net/zsc09_leaf/article/details/16862839

不要用vlc,不要用vlc,不要用vlc测试延迟,用web的flash插件测试

可优化的地方:

  • frame的高度和宽度,常用的有:720×480;1920×1080
  • 编码质量:av_opt_set(pCodecCtx->priv_data, "preset", "veryfast", 0); // 画面质量 ultrafast、superfast、veryfast、faster、fast、medium、slow、slower、veryslow、placebo 编码器质量
  • tune参数av_opt_set(pCodecCtx->priv_data, "tune", "zerolatency", 0);
  • thread_out参数:pCodecCtx->thread_count = 4; // 默认为8

这里用Atlas500,用tiny-yolov3,处理416×416的图像,用ffmpeg推流成720×480的flv视频流。可以实时处理(延迟2秒)8路1920×1080的rtsp h264编码的视频

4. 结果

【Atlas500】入门(十七)——实时处理8路视频_第2张图片

你可能感兴趣的:(嵌入式AI)