首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在视频录制中添加文字?

如何在视频录制中添加文字?
EN

Stack Overflow用户
提问于 2013-02-02 17:25:36
回答 2查看 7.8K关注 0票数 16

我找了很多,但没有找到任何解决方案。我的问题是,如何在录制时添加文本到视频中,以便我们在看到视频时可以获得相同的文本。当我看到截取的视频时,我想要这样的东西。

目前,我正在分别获得时间和视频。所以问题是如何结合it.Any类帮助将appreciated.Thanks提前..

EN

回答 2

Stack Overflow用户

发布于 2013-02-06 03:18:27

这是一个相当困难的问题,通常使用android来解决,假设你正在尝试将文本添加到实际的视频文件中,而不是简单地在VideoView上显示TextView。您提到您目前有单独的时间和视频,所以我假设您正在尝试将文本添加到视频文件本身。

为了向视频中添加文本,您需要在实际设备上对视频进行重新编码。在Android上重新编码视频很棘手,主要是因为Android手机上的处理器不同,而且编码依赖于处理器。有一个名为GPUImage的开源iOS库可以让你做到这一点,但不幸的是,它不能在安卓上使用。

已经有一些努力来编译FFMPEG for Android (理论上会允许这种事情发生),但这涉及到一些与底层C++代码有关的严肃工作,我还没有找到任何应用程序在许多设备上简单地实现这一点(check out this video converter,注意不同手机的different codecs是如何需要下载的)。对于一个特定的设备,你可能会有更多的运气,但如果你正在寻找在许多设备上轻松分发,你可能会很难做到这一点。

目前,这个问题还没有简单的解决方案。

票数 15
EN

Stack Overflow用户

发布于 2021-02-17 20:57:29

我使用的是camera2接口。我创建了预览和ImageReader。我从记录表面得到画布。每一帧转换为位图并放入画布,然后绘制标志,文本等,

代码语言:javascript
复制
 private val mOnImageAvailableListener = ImageReader.OnImageAvailableListener { reader -> 
val image = reader.acquireNextImage() ?: return@OnImageAvailableListener
val bytes = image.toNV21()//image.convertYUV420888ToNV21()
        val bitmap = Bitmap.createBitmap(image.width, image.height, 
Bitmap.Config.ARGB_8888);
        val bmData: Allocation = Converter.renderScriptNV21ToRGBA888(requireContext(), 
image.width, image.height, bytes)
        bmData.copyTo(bitmap)
        val canvas = recorderSurface!!.lockCanvas(null)
        canvas.drawBitmap(bitmap, 0f, 0f, Paint())
        drawData(canvas)
        recorderSurface!!.unlockCanvasAndPost(canvas)
        bitmap.recycle()
        image.close()
 }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14660443

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档