社区
界面
帖子详情
DirectShow 怎样往显示的视频上面叠加字幕,即OSD信息
wmrwinhap
2004-09-10 02:08:54
我想在显示的视频左上角或右下角显示一些固定的字串信息,即叠加字幕或者叫OSD
我试过往视频数据上面叠加YUV格式的字幕数据,但由于视频是YUYV格式,有一半的点没有U、V分量,所以叠加的结果有些点或线不清晰(如果是YUV4:4:4即每个点都有Y、U、V分量可能就没这个问题)
DirectShow能否直接支持字幕显示呢?或者有别的什么办法?
万望高人赐教!
...全文
837
5
打赏
收藏
DirectShow 怎样往显示的视频上面叠加字幕,即OSD信息
我想在显示的视频左上角或右下角显示一些固定的字串信息,即叠加字幕或者叫OSD 我试过往视频数据上面叠加YUV格式的字幕数据,但由于视频是YUYV格式,有一半的点没有U、V分量,所以叠加的结果有些点或线不清晰(如果是YUV4:4:4即每个点都有Y、U、V分量可能就没这个问题) DirectShow能否直接支持字幕显示呢?或者有别的什么办法? 万望高人赐教!
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
wmrwinhap
2004-09-16
打赏
举报
回复
问题已解决。
方法还是直接修改数据源相关位置的Y、U、V值,但是要显示的字符的每个点对应一组YUYV值,即在屏幕上显示两个相同的点,这样虽然字符宽度被放大了一倍,但要显示什么颜色就显示什么颜色,效果还不错,效率也很高。
谢谢大家!
large_small
2004-09-13
打赏
举报
回复
UP
DentistryDoctor
2004-09-13
打赏
举报
回复
先为Overlay平面指定色键(一般是RGB(255,0,255)),然后指定文本的背景色为RGB(255,0,255),直接输入文本就行了。
wmrwinhap
2004-09-13
打赏
举报
回复
help
blackdoc
2004-09-13
打赏
举报
回复
我可以给你相关的源代码
Directshow
渲染器Filter上
叠加
字幕
和Logo--FileStreamDecode(
Directshow
)
FileStreamDecode(
Directshow
) -- 本例子基于
Directshow
框架,实现了一个自定义的Renderer Filter,带渲染
视频
功能,并且可以在
视频
上
叠加
OSD
文字和Logo图标,用到Directdraw API渲染
视频
和
叠加
字幕
。
DirectShow
开发
《
DirectShow
开发指南》中的一个源码,字符
叠加
Filter,可以实现静态文本、时间
信息
以及滚动
字幕
的
叠加
。生成.ax文件,注册后就可以在GraphEdit或自己的程序中使用该Filter-SOCIALIST "
DirectShow
Development Guide," a source,
OSD
Filter, static text can be achieved, the time information and the marquee of the stack. Generated. Ax file up after themselves in the GraphEdit program or use the Filter ~ ~
如何写
Directshow
Render Filter并实现
视频
渲染、
叠加
字幕
和位图功能
在播放器上
叠加
字幕
或位图(Logo)是一个很常见的需求,现在很多播放器都支持该功能。播放器开发目前可基于框架的有很多,比如MPlayer,gstreamer,
Directshow
,而这篇教程就是讲解怎么在
Directshow
播放器上
叠加
字幕
和Logo的,如果你不是从事
Directshow
开发的程序员或根本不熟悉
Directshow
,那可以绕路了。
叠加
字幕
或图标一般分两种应用:一种是在显...
怎么在
视频
上
叠加
字幕
和Logo--技术实现2
上一篇博文介绍了渲染时
叠加
字幕
的技术实现方法,而这一篇给大家讲解怎么用修改
视频
像素的方法
叠加
字幕
和Logo。下面我把
叠加
字幕
和Logo都统称为
叠加
OSD
。 图像有分YUV和RGB格式,每个像素都有一个坐标和地址,我们要在图像指定地方
叠加
OSD
,其实就是修改这些地方某些像素的像素值。
叠加
字幕
原理简单描述就是:在
视频
图像上指定位置的像素值用
OSD
前景的颜色值代替。什么是
OSD
前景颜色?对
字幕
来说,前...
怎么在
视频
上
叠加
字幕
和Logo--技术实现1
这篇文章我给大家讲解的这种
字幕
叠加
和Logo
叠加
方法是在渲染
视频
的时候“画“上去的,其实是通过某种API将
OSD
和Logo绘制到显卡缓存,然后提交缓存到屏幕。我们知道渲染
视频
有几种常用的API:GDI,DirectDraw,D3D,OpenGL,SDL,其中SDL库是对前面几种API在不同平台上的封装,是一个大集合。我给大家演示的例子是针对Windows平台的,一般在Windows平台上我们会用...
界面
15,980
社区成员
115,867
社区内容
发帖
与我相关
我的任务
界面
VC/MFC 界面
复制链接
扫一扫
分享
社区描述
VC/MFC 界面
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章