|
我修改了下编码的demo并进行了测试,输入两路25FPS的1080P视频,输出两个23FPS的H264文件。通过打印的信息,encode_put_frame消耗了43ms左右的时间,仅编码单路的话则消耗25ms。这里我已经设置了MPP_BUFFER_TYPE_DRM。
- double t1 = what_time_is_it_now3();
- ret = p->mpi->encode_put_frame(p->ctx, frame);
- if (ret) {
- printf("mpp encode put frame failed\n");
- mpp_frame_deinit(&frame);
- goto RET;
- }
- double t2 = what_time_is_it_now3();
- printf("put_frame -> %f\n", t2 - t1);
我看了MPP文档,encode_put_frame是阻塞式函数,于是尝试了设置MPP_SET_INPUT_TIMEOUT为非阻塞,直接返回-1。请问有什么方法能降低encode_put_frame的耗时?
|
|