分类 杂项 下的文章

背景

  • DJI无人机(如Phantom、Mavic、Spark或Inspire)在视频录制过程中意外关机可能导致视频文件损坏,无法播放。
  • 用户手册建议:将Micro-SD卡放回相机,重启相机并等待约30秒以恢复视频文件。此方法有时有效,但有时文件仍损坏。

损坏文件类型

  1. MP4格式损坏文件:文件开始有'ftyp'和'moov'原子,后跟'mdat'原子,但'mdat'包含新的'ftyp'、'moov'和'mdat'原子,形成有效的MP4视频文件。可通过跳过初始原子和'mdat'头部来修复。
  2. 原始H.264 NAL单元文件:文件不包含MP4格式数据,仅包含以4字节大小字段引导的原始H.264 NAL单元序列。修复后为".h264"格式,可能需要特定播放器播放。
  3. 尾部损坏的MP4文件:文件开始正常,但尾部数据可能不正确,导致文件未正确“完成”。修复后同样为".h264"格式。

免费修复工具

下载djifix

  • Mac OS X
    • 下载"djifix"。
    • 打开"Terminal",使用命令 chmod +x djifix./djifix 文件名运行程序。
  • Windows
    • 下载"djifix.exe",移动到待修复文件同一文件夹。
    • 打开"Cmd",使用命令djifix 文件名运行程序。

常见问题解答(FAQ)

  • 修复视频可能丢失最后几秒,特别是突然断电时。
  • 修复文件后,如果文件以".h264"结尾,可能需要特定播放器播放。
  • 如果修复文件无法播放,尝试重新运行"djifix",选择不同的视频格式代码。
  • ".h264"文件可使用"ffmpeg"或"MiroVideoConverter"转换为".mp4"。

其他注意事项

  • 如果视频文件很小(小于10MB),可能只包含极短的视频片段,修复价值不大。

命令示例

  • 在Mac上运行:cd Movieschmod +x djifix./djifix
  • 编译源代码:cc -O -o djifix djifix.c
  • 使用ffmpeg转换:ffmpeg -i DJI_XYZW-repaired.h264 -c copy DJI_XYZW-repaired.mp4

目前最简单的方法是通过microG这个项目,然后就可以安装 Google Play Store 或者用aurora store 替代

如果你只是为了安装facebook,google play,google map,正常收到消息通知,不使用googlepay等服务,那么microG这个方案是非常完美!

先介绍一下 microG Project 这个项目

MicroG 项目是一个开源项目,旨在重新实现 Google 在 Android 系统中的专有应用程序和库,以支持自由软件社区的需求。简单来说,它的作用可以概括为以下几点:

  1. 自由软件支持:由于 Android 核心操作系统虽然是开源的,但很多核心应用和库并不是,MicroG 项目提供了一个自由软件版本的 Google 核心库和应用,使得用户可以不依赖 Google 的专有服务。
  2. 隐私保护:MicroG 允许用户减少或监控发送到 Google 的数据,这对于注重隐私的用户来说是一个重要的优点。
  3. 兼容性扩展:一些流行的开源应用程序需要 Google 的专有库才能运行,MicroG 项目通过提供这些库的自由软件版本,扩展了这些应用程序的兼容性。
  4. 老旧设备优化:对于老旧的 Android 设备,使用 MicroG 可以提高电池续航,因为它们不需要运行 Google 的全套服务。
  5. 测试和虚拟基础设施:MicroG 不仅可以在真实设备上使用,还可以在测试模拟器中替代 Google 工具,甚至用于虚拟移动基础设施

microG 提供了以下组件:

  1. Service Core (GmsCore):一个库应用,提供运行依赖于 Google Play 服务或 Google Maps API 的应用所需的功能。
  2. Services Framework Proxy (GsfProxy):一个小工具,允许使用 Google Cloud Messaging 服务的应用正常运行。
  3. Unified Network Location Provider (UnifiedNlp):一个库,提供基于 Wi-Fi 和蜂窝塔的地理定位服务。
  4. Maps API (mapsv1):一个系统库,提供与已弃用的 Google Maps API (v1) 相同的功能。
  5. Store (Phonesky):一个前端应用,提供访问 Google Play 商店的功能,目前还在早期开发阶段。

microG官网下载 Download - microG Project

这次用于鸿蒙系统的只需要下载:

1、microG Services
microg/GmsCore (com.google.android.gms-*-hw.apk)

也可以不安装 Play 用 aurora store 替代,但有些App会检测 Play 是否安装,这时候就需要安装 microG Companion 这个来欺骗这些 App

2、microG Companion
microg/GmsCore (com.android.vending-*-hw.apk)

注意都是下载 hw 结尾的文件,* 号代表不同版本,下载最新即可
华为的应用市场也可以搜索到,用名字直接搜索即可

3、应用商店
google play sotre 这个自行找,我是在这里下载 apkmirror

aurora store Aurora 官网下载

microG Services 安装后没有图标,需要在应用管理里面找到后点击右上角齿轮才可以进去

刚安装完后就会弹出设置界面,进去“自我检查” 一个个勾上,然后点击 “Google 账号” 登录自己账号
2024-05-25T15:50:00.png

GPT输入和输出的长度都是有限制的,OPENAI的GPT4是8K,azure的是32K

这个长度限制要注意是指 输入的 prompt + 模型返回的。

调用接口的时候为了更准确的拆分长文本,需要计算token数量,但是不同版本的GPT用的编码方式不一样,所以计算token数量的方式也是不一样的。官方有python的库可以用,但其它语言的就需要找到合适的。

不同版本用的编码方式不一样:
cl100k_base:gpt-4, gpt-3.5-turbo, text-embedding-ada-002
p50k_base:Codex models, text-davinci-002, text-davinci-003
r50k_base (or gpt2):GPT-3 models like davinci

官方GPT-3的在线计算工具
https://platform.openai.com/tokenizer
Tiktokenizer 在线工具
https://tiktokenizer.vercel.app/

gpt-tokenizer 截图,点击这里访问
gpt-tokenizer

支持cl100k_base and p50k_base 编码的库(也就是GPT-4和GPT-3.5)
Javascript:
https://github.com/niieani/gpt-tokenizer
https://www.npmjs.com/package/gpt-tokenizer

Python
https://github.com/openai/tiktoken

Java
https://github.com/knuddelsgmbh/jtokkit

.NET/C#
https://github.com/dmitry-brazhenko/SharpToken
https://github.com/aiqinxuancai/TiktokenSharp

下面方法其实是调用mount_ntfs命令实现的,但Ventura开始,这个命令被苹果删除了。
劝大家尽量用exfat吧,别折腾了。


我移动盘主要是因为需要在其它设备上操作,所以用ntfs兼容性是最好的。
由于版权问题,在macos写操作ntfs是一个折腾的事情,系统升级为monterey后之前用的开源工具已经不能使用。
而且之前通过fstab的方式也不管用。只能用下面的方式手动挂载:

1、先在 磁盘工具 中把对应的盘 卸载
2、打开命令行工具
diskutil list
找到对应磁盘的分区,把最右边那一列的名称复制一下。
sudo mkdir /Volumes/oDisk
创建目录,名称随意和下面的对应起来就可以了。
sudo mount -t ntfs -o rw,auto,nobrowse /dev/disk2s3 /Volumes/oDisk
上面的disk2s3换成你自己的。

截屏2022-01-03 下午4.29.19.png

3、在finder中前往文件夹 /Volumes/oDisk

4、enjoy it

另外,如果发现有的文件显示是灰色,不能访问可以通过下面方法解决
xattr -d -r com.apple.FinderInfo /Volumes/oDisk/*