编程实现wmv文件添加字幕
大家好,请问有做过编程(非视频编缉软件)实现向wmv文件添加字幕的朋友么? 查找资料,有三种方法可行:
1. 写Script
由于播放器是支持 HTML 的,所以文字大小,字体,颜色都好解决。至于文字同步走动,只要将 HTML 的 /font 逐字往后移,同时产生新的行就可以了。也就是说一个字变化,就要写一行 HTML 代码。
不过手动生成全部 HTML 会死人的,所以我先制作好 ssa 格式的卡拉OK字幕,然后写个程序机械化的转换成 HTML ,在做成 Script 导入 ,wma .wmv 中。
2. 获取wmv视频每一帧,通过修改每一帧特定像素点的方式添加字幕
3. VMR9 Mix Render, 在正在播放的视频上添加背景透明的字幕,然后通过IVMRWindowlessControl::GetCurrentImage 获取已经添加字幕的视频帧
我目前采用的是第三种方法,在用IWMWriter::AllocateSample 以及WriteSample 方面遇到一些问题,而且这种方法的效率不高。
前两种方式还没有尝试,希望和做过/正在做相关项目的朋友交流一下,非常感谢。