图灵转世 2023-05-29 09:17 采纳率: 75%
浏览 52
已结题

libvlc二次开发

要在工控机里实现播放rtsp海康摄像头视频,同时在屏幕上显示串口过来的信息,并且要保存。试验了很多方案,打算采用libvlc二次开发,mfc界面。这种方案工控机cpu占用率只有30%,opencv的方案有80%。现在如何在libvlc上显示动态实时字幕,请各位大拿发表高见。

  • 写回答

8条回答 默认 最新

  • 鱼弦 全栈领域优质创作者 2023-05-29 14:00
    关注

    要在使用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);
    注意,以上代码仅供参考。您需要根据自己的需求来实现动态字幕的逻辑。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(7条)

报告相同问题?

问题事件

  • 系统已结题 6月13日
  • 已采纳回答 6月5日
  • 创建了问题 5月29日

悬赏问题

  • ¥20 测距传感器数据手册i2c
  • ¥15 RPA正常跑,cmd输入cookies跑不出来
  • ¥15 求帮我调试一下freefem代码
  • ¥15 matlab代码解决,怎么运行
  • ¥15 R语言Rstudio突然无法启动
  • ¥15 关于#matlab#的问题:提取2个图像的变量作为另外一个图像像元的移动量,计算新的位置创建新的图像并提取第二个图像的变量到新的图像
  • ¥15 改算法,照着压缩包里边,参考其他代码封装的格式 写到main函数里
  • ¥15 用windows做服务的同志有吗
  • ¥60 求一个简单的网页(标签-安全|关键词-上传)
  • ¥35 lstm时间序列共享单车预测,loss值优化,参数优化算法