java - 是否可以在视频中添加文字叠加层?

标签 java android video overlay real-time

我是一名 iOS 开发人员,我为客户编写了一个应用程序,它是一个健身 (Crossfit) 计时器应用程序,它会拍摄您的锻炼情况,并在完成的视频中添加实时叠加和重复计数。这是一个相当具有挑战性的项目,我只是想知道同样的事情是否可以在 Android 上实现?

基本上我需要知道的是,是否可以将变化的文本(例如以秒为单位计数的计时器)叠加到录制的视频上?

如果有人编写了执行此操作的应用程序,我将很高兴看到代码 fragment ,因为 Java 不是我的强项!

谢谢!

最佳答案

  1. 如果您只想在视频上显示文本而不是将其添加到视频文件中,使用 FrameLayout 非常简单:
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <VideoView
        android:id="@+id/VideoView"
        android:layout_height="match_parent"
        android:layout_width="match_parent" />

    <TextView
        android:text="TEXT"
        android:id="@+id/textview"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />
</FrameLayout>

文本将显示在视频上。

  1. 如果你想在原始视频文件中添加文本,就没那么简单了。您需要外部工具来处理这个问题,例如 FFMPEG。此链接为您提供有关此主题的更多信息:How to add text on video recording?How to embed text while recording video in Android?

关于java - 是否可以在视频中添加文字叠加层?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30843932/

相关文章:

java - 使用 Glide 修复图像内存泄漏

java - 使用断言True

java - 使用 Apache POI 读取 XLSX 文件时出现异常

android - 在 App Billing 服务中有时会被杀死

java - 如何在自动创建的多个按钮上管理 OnClickListener

android - OSMdroid - 无法从自定义位置加载离线 map 图 block

linux - 在 Ubuntu Linux 中从 Decklink 4k Extreme 捕获视频的 Ffmpeg 命令

java - 使用迭代器从 ArrayList 中删除元素

javascript - 创建一个随机的 YouTube 视频播放器

c++ - 如何从视频中提取帧(使用 DirectShow)?