• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 众包
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
MKT-porter
博客园    首页    新随笔    联系   管理    订阅  订阅
大疆无人机拍摄视频GPS

https://support.dji.com/help/content?customId=zh-cn03400007391&spaceId=34&re=CN&lang=zh-CN

image

 “大疆无人机拍摄视频后,同一个视频会在储存卡中生成三个同名不同后缀名的文件:*.MP4、*.LRF和*.SRT。其中MP4是可直接播放文件,LRF文件是同名的备份预览文件,SRT文件是字幕文件,如下图:     有了SRT字幕文件,用某些播放软件播放,如用QQ影音播放,设置中选择了”载入字幕“,屏幕会直观动态显示视频相关数据信息,见下图(图1):      信息中记录了无人机动态参数:拍摄时间、帧数、摄像数据、色彩模式、飞行高度、经纬度位置等。   下面,笔者用新疆喀纳斯禾木村拍摄视频时生成的字幕文件

image

 

image

 

image

 

image

image

 

 

1 开启字幕功能

image

 

image

 

image

 

2 保存找到文件

image

 

image

 

image

 

 

有的电脑播放器 播放时候会自动加载字幕显示,所以并不是水印到图像上了,只是分离的字幕。

 

 

 

https://ask.csdn.net/questions/8705099

 

三、第三方工具与替代方案

为了实现SRT字幕的提取与生成,用户可借助以下工具和技术方案:

1. 使用OCR工具提取视频中的硬编码字幕

如果视频中已包含硬编码字幕(如飞行数据、时间戳等),可以使用OCR技术提取这些信息并生成SRT文件。

  • 推荐工具:
    • SubtitleEdit
    • VLC + OCR插件(如vocr)
    • YouTube自动字幕+手动导出

2. 使用FFmpeg提取软字幕或生成字幕

如果视频中包含软字幕(如MKV封装的字幕流),可以使用FFmpeg提取并转换为SRT格式。

ffmpeg -i input_video.mp4 -vf "scale=640:360" -c:a copy output_video.mp4
ffmpeg -i input_video.mp4 -map 0:s:0 output.srt

3. 使用专业字幕软件生成SRT文件

  • Aegisub:支持时间轴编辑和字幕制作
  • Jubler:开源字幕编辑工具
  • Adobe Premiere Pro:支持导出SRT文件

四、嵌入GPS信息或飞行数据到SRT字幕中

大疆无人机拍摄的视频通常包含丰富的元数据(如GPS坐标、高度、速度、航向角等),这些信息可以通过解析视频文件中的XMP或MOV元数据提取。

1. 提取飞行数据

  • 使用GPMF Parser解析GoPro或大疆视频中的飞行数据。
  • 使用FFmpeg提取XMP数据:
    ffmpeg -i input_video.mp4 -f xml -map_metadata 0 -y NUL

2. 将飞行数据写入SRT文件

可以使用Python脚本将提取到的飞行数据与视频时间轴对齐,并写入SRT格式文件中。

import srt
from datetime import timedelta

# 示例飞行数据
flight_data = [
    {"timestamp": "00:00:01", "lat": 39.9042, "lon": 116.4074, "alt": 100},
    {"timestamp": "00:00:05", "lat": 39.9052, "lon": 116.4084, "alt": 105},
]

# 构建SRT内容
subtitles = []
for i, data in enumerate(flight_data):
    start_time = srt.srt_timestamp_to_timedelta(data["timestamp"])
    end_time = start_time + timedelta(seconds=4)
    content = f"Lat: {data['lat']}, Lon: {data['lon']}, Alt: {data['alt']}m"
    subtitles.append(srt.Subtitle(index=i+1, start=start_time, end=end_time, content=content))

# 生成SRT文件
with open("flight_data.srt", "w") as f:
    f.write(srt.compose(subtitles))

  

. 可视化与同步显示

将生成的SRT文件导入视频编辑软件(如Adobe Premiere Pro、Final Cut Pro等),即可实现在视频播放时同步显示GPS信息或飞行数据。

五、流程图与技术架构

graph TD A[大疆视频文件] --> B{是否包含字幕?} B -->|是| C[使用FFmpeg提取软字幕] B -->|否| D[使用OCR提取硬字幕] C --> E[生成SRT文件] D --> E E --> F{是否需要嵌入飞行数据?} F -->|否| G[完成SRT生成] F -->|是| H[解析视频元数据] H --> I[提取GPS/飞行数据] I --> J[与时间轴对齐] J --> K[写入SRT文件] K --> L[完成带飞行数据的SRT]

 

 

 

 

image

 

 

image

 

image

 

 

image

 

image

image

 

 

 

image

 

posted on 2025-12-31 02:10  MKT-porter  阅读(1)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3