要在工控机里实现播放rtsp海康摄像头视频,同时在屏幕上显示串口过来的信息,并且要保存。试验了很多方案,打算采用libvlc二次开发,mfc界面。这种方案工控机cpu占用率只有30%,opencv的方案有80%。现在如何在libvlc上显示动态实时字幕,请各位大拿发表高见。
8条回答 默认 最新
关注 要在使用libvlc播放海康摄像头视频的同时,在屏幕上显示串口信息是可行的。为了在libvlc中实现动态字幕,可以使用libvlc的API来实现。
以下是一些基本步骤:
使用libvlc_media_player_new()函数创建一个媒体播放器对象。
使用libvlc_media_new_location()或libvlc_media_new_path()函数创建一个媒体对象。
将媒体对象添加到媒体播放器中,使用libvlc_media_player_set_media()函数。
使用libvlc_video_set_subtitle_file()函数将字幕文件添加到视频流中。
使用libvlc_video_set_marquee_int()函数设置字幕的位置和属性。
使用libvlc_video_set_logo_string()函数在视频流上添加标志。
下面是一些示例代码:// 创建媒体播放器对象
libvlc_instance_t* vlcInstance = libvlc_new(0, NULL);
libvlc_media_player_t* vlcMediaPlayer = libvlc_media_player_new(vlcInstance);// 创建媒体对象
libvlc_media_t* vlcMedia = libvlc_media_new_location(vlcInstance, "");// 设置媒体对象
libvlc_media_player_set_media(vlcMediaPlayer, vlcMedia);// 添加字幕
libvlc_video_set_subtitle_file(vlcMediaPlayer, "");// 设置字幕属性
libvlc_video_set_marquee_int(vlcMediaPlayer, libvlc_marquee_Enable, 1);
libvlc_video_set_marquee_int(vlcMediaPlayer, libvlc_marquee_Location, libvlc_marquee_Location_Bottom);
libvlc_video_set_marquee_int(vlcMediaPlayer, libvlc_marquee_Size, 20);
libvlc_video_set_marquee_string(vlcMediaPlayer, libvlc_marquee_Text, "");// 播放视频
libvlc_media_player_play(vlcMediaPlayer);
注意,以上代码仅供参考。您需要根据自己的需求来实现动态字幕的逻辑。本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥20 测距传感器数据手册i2c
- ¥15 RPA正常跑,cmd输入cookies跑不出来
- ¥15 求帮我调试一下freefem代码
- ¥15 matlab代码解决,怎么运行
- ¥15 R语言Rstudio突然无法启动
- ¥15 关于#matlab#的问题:提取2个图像的变量作为另外一个图像像元的移动量,计算新的位置创建新的图像并提取第二个图像的变量到新的图像
- ¥15 改算法,照着压缩包里边,参考其他代码封装的格式 写到main函数里
- ¥15 用windows做服务的同志有吗
- ¥60 求一个简单的网页(标签-安全|关键词-上传)
- ¥35 lstm时间序列共享单车预测,loss值优化,参数优化算法