如何从base64解码视频?

2024-01-03

我想在 base64 字符串中转换视频,所以我通过 android 中的视频转换 migBase64 方法,它将视频成功转换为字符串,但是当我将字符串解码为视频时,它无法在视频中正确转换。所以如果有人知道请帮助我。

我尝试如下代码:

      String encodedString;

    //Decode Video To String

          File tempFile = new File(Environment.getExternalStorageDirectory()+ "/my/part/my_0.mp4");

                byte fileContent[] = new byte[3000];

                try {
                    FileInputStream fin = new FileInputStream(tempFile);
                    while (fin.read(fileContent) >= 0) {

                        // b.append(Base64.encodeToString(fileContent, true));

                        encodedString = Base64.encodeToString(fileContent, true);

                    }
                } catch (IOException e) {

                }
//Encoding Video To String Successfully.

//Decode String To Video

   try {

            byte[] decodedBytes = Base64.decodeF
            File file2 = new File(Environment.getExternalStorageDirectory()
                    + "/my/Converted.mp4");
            FileOutputStream os = new FileOutputStream(file2, true);
            os.write(decodedBytes);
            os.close();

        } catch (Exception e) {
            // TODO: handle exception
            Log.e("Error", e.toString());
        }
// Problem is in Decoding.

我的问题是将字符串解码为视频,我的原始视频为 1 MB,解码视频后为 1.1 kb,它无法转换我的原始视频,请帮助我。


我解决了我的问题,我发布代码以寻求帮助。

//Encode Video To String With mig Base64.

    File tempFile = new File(Environment.getExternalStorageDirectory()
                + "/my/part/my_0.mp4");
        String encodedString = null;

        InputStream inputStream = null;
        try {
            inputStream = new FileInputStream(tempFile);
        } catch (Exception e) {
            // TODO: handle exception
        }
        byte[] bytes;
        byte[] buffer = new byte[8192];
        int bytesRead;
        ByteArrayOutputStream output = new ByteArrayOutputStream();
        try {
            while ((bytesRead = inputStream.read(buffer)) != -1) {
                output.write(buffer, 0, bytesRead);
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
        bytes = output.toByteArray();
        encodedString = Base64.encodeToString(bytes, true);
        Log.i("Strng", encodedString);


//Decode String To Video With mig Base64.
        byte[] decodedBytes = Base64.decodeFast(encodedString.getBytes());

        try {

            FileOutputStream out = new FileOutputStream(
                    Environment.getExternalStorageDirectory()
                            + "/my/Convert.mp4");
            out.write(decodedBytes);
            out.close();
        } catch (Exception e) {
            // TODO: handle exception
            Log.e("Error", e.toString());

        }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何从base64解码视频? 的相关文章

随机推荐

  • 生成随机长数

    我知道要生成随机长数 我在 Java 中执行以下步骤 Random r new Random return r nextLong 这段代码在 C 中相当于什么 像这样 return long rand
  • 有人对从 ColdFusion 的 serializeJSON 方法到 PHP 的 json_decode 的问题有疑问吗?

    互联网对此没有任何帮助 我们使用 ColdFusion 编码数据serializeJSON并尝试使用 PHP 对其进行解码json decode 大多数时候 这工作得很好 但在某些情况下 json decode回报NULL 我们已经寻找了明
  • WPF 中现有控件的 ControlTemplate

    如何以XAML格式 可视化树 获取WPF中现有控件的ControlTemplate 这是为了帮助在现有模板的帮助下创建新的 ControlTemplate 查看风格窥探者 https github com drewnoakes style
  • Android SQLite - 命名参数

    我正在开发使用 SQLite 作为本地存储的 Android 应用程序 我需要在 sql 查询中使用参数 但我发现的所有示例都包含未命名的参数 如下所示 INSERT INTO SomeTable ColA ColB ColC VALUES
  • facebookConnectPlugin 未定义(ngCordova、Ionic 应用程序)

    我正在尝试将本机 fb 连接添加到我的离子应用程序 我在用着 离子 恩科尔多瓦 http ngcordova com docs plugins facebook http ngcordova com docs plugins faceboo
  • 跨多个标签获取选择和环绕内容

    我有一个脚本可以更改所选文本的背景颜色 但是 当跨多个元素 标签选择文本时 我遇到了问题 我得到的代码是 var text window getSelection getRangeAt 0 var colour document creat
  • 给定一个 HttpResponseMessage,如何读取请求的内容?

    Given a System Net Http HttpResponseMessage 我可以通过我的请求获得相当多的信息response RequestMessage 例如 response RequestMessage RequestU
  • Java堆溢出,强制垃圾回收

    我创建了一个包含一系列子元素的 trie 树 删除单词时 我将子项设置为空 我认为这会删除节点 删除是一个相对术语 我知道 null 不会删除子级 只是将其设置为 null 当使用大量单词时 会导致堆溢出 在 Linux 上运行 top 我
  • XPath 之后的正则表达式反对标记?

    我已经在寻找问题的解决方案一段时间了 并且在 regex101 com 上玩了一段时间 但找不到解决方案 我面临的问题是我必须为不同的输入选择一个字符串 因此我想使用正则表达式来从这些字符串中获取所需的数据 正则表达式将来自每个字符串的单独
  • IntelliJ 目标字节码恢复

    对于我目前正在处理的一个项目 IntelliJ 给了我编译错误Error java javacTask source release 8 requires target release 1 8 我进入 设置 gt 构建 执行 部署 gt 编
  • Windows Eclipse CDT 分析器

    我在 Windows 7 下使用 Eclipse CDT Juno 请问有人可以为该环境推荐一个好的分析器吗 如果没有 请告知可能合适的独立应用程序 您可以在Windows7中使用gprof MinGW端口 有关更多详细信息 请参阅此帖子
  • 如何访问 Azure 上的站点文件

    所以我叔叔让我在他的网站上更新一些东西 我发现他使用天蓝色服务 我以前从未使用过这项服务 环顾四周后 我认为这就像搜索应用程序服务一样简单 然后单击唯一正在运行的应用程序 然后在侧面板上单击开发中心 然后选择 FTP 访问 然后我使用 Fi
  • 在 HTML5 画布中绘制带有线性渐变的圆弧

    我在画布上画了一个圆弧 是否可以给它提供三种颜色的线性渐变 是的 这是可能的 Javascript中有一个方法 名为createLinearGradient它获取画布上下文作为源并应用由sx sy dx dy坐标 前两个选项定义起始坐标 后
  • 除了 12 小时后会话超时之外,Google Colab 还有其他限制吗?

    限制之一是每次会话只能持续 12 小时 GPU和TPU的使用有限制吗 是的 您只能使用 1 个 GPU 内存有限为 12GB TPU 具有 64 GB 高带宽内存 您可以在此处阅读article https medium com janni
  • 如何测量 NodeJS 中请求花费的时间

    const axios require axios axios get url then response gt console log response catch err gt console log err 我如何测量网站返回整页需要
  • 什么是 ORM,它是如何工作的,以及我应该如何使用它? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 Locked 这个问题及其答案是locked help locked posts因为这个问题是题外话 但却具有历史意义 目前不接受新的
  • 如何检测试剂中的“Enter”按键?

    给出以下代码 input type text value text app state on change fn e if 31 keyCode e println ENTER println NOT ENTER 如何更改if条件以便可以将
  • 为什么 Swift 不允许非可选类型的弱引用?

    这并不是纯粹的好奇 有一种感觉 我可能误解了 Swift 中弱引用的一些内容 假设我从视图控制器创建一个类并将其引用传递给初始化程序 class MyClass vc self 由于情节提要和窗口已经保留对此视图控制器的引用 因此 MyCl
  • 带德国日期的 Strftime

    我正在尝试用 strftime 打印德语日期 我已经尝试过了 date default timezone set Europe Berlin setlocale LC ALL de DE de DE euro deu deu deu ger
  • 如何从base64解码视频?

    我想在 base64 字符串中转换视频 所以我通过 android 中的视频转换 migBase64 方法 它将视频成功转换为字符串 但是当我将字符串解码为视频时 它无法在视频中正确转换 所以如果有人知道请帮助我 我尝试如下代码 Strin