BabitMF / bmf

Cross-platform, customizable multimedia/video processing framework. With strong GPU acceleration, heterogeneous design, multi-language support, easy to use, multi-framework compatible and high performance, the framework is ideal for transcoding, AI inference, algorithm integration, live video streaming, and more.
https://babitmf.github.io/
Apache License 2.0
809 stars 71 forks source link

不支持yuv转rgba32 #135

Open x850044053wwt opened 1 month ago

x850044053wwt commented 1 month ago

如题,代码中转换格式受限

JackLau1222 commented 1 month ago

please refer to https://github.com/BabitMF/bmf/issues/110

x850044053wwt commented 1 month ago

please refer to #110

感谢回复,看起来关联不大。可以正常转换rgb,是转换类型不支持rgba

JackLau1222 commented 1 month ago

can you provide more details(like log) about it? maybe this problem caused by ffmpeg

x850044053wwt commented 3 weeks ago

现在有bmf_sdk::VideoFrame::reformat(XXX)和ffmpeg::reformat两种转换颜色方法,但是效率又不够理想。

sfeiwong commented 3 weeks ago

不够理想,是和什么比较?

x850044053wwt commented 3 weeks ago

不够理想,是和什么比较?

例如1080p 10Mbps的视频,单帧转换耗时需要10ms以上

JackLau1222 commented 3 weeks ago

不够理想,是和什么比较?

例如1080p 10Mbps的视频,单帧转换耗时需要10ms以上

  1. maintainer的意思是是否有效率更高的方案来对比
  2. 效率不高这个就是ffmpeg的性能问题了,可以尝试看一看是否开启了硬件加速。如果仍然无法满足需求,就需要在ffmpeg库内部做优化。
x850044053wwt commented 3 weeks ago

不够理想,是和什么比较?

例如1080p 10Mbps的视频,单帧转换耗时需要10ms以上

  1. maintainer的意思是是否有效率更高的方案来对比
  2. 效率不高这个就是ffmpeg的性能问题了,可以尝试看一看是否开启了硬件加速。如果仍然无法满足需求,就需要在ffmpeg库内部做优化。

1、是有的,通过位计算优化效率,但是用了特定的数据结构 2、我通过ffmpeg avfilter的swscale转换的执行效率数倍高于bmf中reformat