gpt4 book ai didi

android - 如何在录制时从(n Android)手机上传视频

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:06:06 25 4
gpt4 key购买 nike

我正在尝试编写一个应用程序,通过读取 .mp4 文件并在写入文件时上传字节来从 Android 手机上传正在录制的视频。问题是,据我所知,在视频录制完成并且视频文件关闭之前,moov 原子和其他一些分类数据似乎没有写入文件。有没有办法处理视频文件并在服务器端添加这些元数据,假设要么

  1. 完整的视频文件已上传(但没有 moov 原子或任何其他未在第一次通过时写入的数据)
  2. 只上传了部分视频(例如前 10 秒),我想将其转换为包含已上传视频 fragment 的有效 mp4 文件。

我见过类似 http://www.mattakis.com/blog/kisg/20090708/broadcasting-video-with-android-without-writing-to-the-file-system 的链接但他们通过简单的陈述来掩盖问题

So the received stream will have to be fixed up after the recording is finished, or the raw video / audio frames have to be processed by the server.

没有解释具体如何去做。

最佳答案

正如您所注意到的,MP4 格式在这种情况下可能很难使用。我怀疑链接的博客文章没有详细介绍“修复”,因为它可能非常复杂。除了写入 mdat 框缺少的大小字段之外,您还需要生成 ftyp 和 moov 框。如果您真的需要端到端的 MP4 解决方案,ISO 14496-12ISO 14496-14将告诉您有关如何构建这些数据结构的更多信息。

但是,您可能会发现更优雅的解决方案是使用真正适合实时处理的格式。换句话说,在 Android 端,将视频流重新混合为实时格式并将其发送到服务器。在服务器端,您可以非常灵活地处理视频:您可以将整个视频重新混合为 MP4,您可以切片和切 block ,制作 10 秒的 block ,等等。开源 Sipdroid 项目 contains some code这演示了将实时视频重新混合到 RTP 中。 (您可能更喜欢可靠的传输格式——RTP over TCP 或其他——原理是相同的。)

关于android - 如何在录制时从(n Android)手机上传视频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10267554/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com