YOLOv8输出视频.avi有损转.mp4(使用ffmpeg)

问题: 在使用YOLOv8模型直接推理视频后,存储的视频文件格式默认为.avi格式,且推理出的视频占用空间巨大,亲测500多M的视频推理完保存的结果视频有25个多G,此时当视频在服务器上时,想预览就需要下载至本地,对于这么大的视频要耗费大量时间。
解决办法: 可以使用ffmpeg视频处理工具对.avi格式视频进行压缩处理,ffmpeg工具具体安装方法自行百度解决。以下只提供命令无脑快速转.mp4格式并压缩视频。
第一步:将.avi格式视频转.mp4。这一步是无损转换,生成的.mp4格式视频文件和.avi格式视频文件差不多大。

ffmpeg -i [.avi video path] -c copy -map 0 [.mp4 video saved path]

注意:
有时候这里会报错:

ffmpeg: error while loading shared libraries: libopenh264.so.5: cannot open shared object file: No such file or directory

其实这里报错的原因是因为conda环境中的ffmpeg包和系统安装的ffmpeg包产生冲突,需要退出所处的conda虚拟环境,使用系统安装的ffmpeg包即可。

第二步:压缩.mp4格式视频文件。

ffmpeg -i [.mp4 video path] -b:v 700k [.mp4 video compressed path]

说明: 可能还有更好的命令可以一步完成,但是本人对ffmpeg工具并不熟练,使用上述命令可无脑转换,省时省力,故没有再深究ffmpeg命令的细节。

### DOTA 数据集开发工具包用于 YOLO 模型 #### 路径配置 原始图像数据位于 `E:\Model\YOLOv5_DOTA_OBB2\DOTA_devkit_YOLO-master\DOTA_demo\images` 下[^1]。 #### 初始化模型 对于初始化模型,可以采用如下方式: - 使用 YAML 文件创建模型: ```python from ultralytics import YOLO model = YOLO("yolo11n-obb.yaml") ``` - 使用预训练的 PT 文件加载模型: ```python model = YOLO("yolo11n-obb.pt") ``` - 同时使用 YAML 和 PT 文件来加载特定权重: ```python model = YOLO("yolo11n-obb.yaml").load("yolo11n-obb.pt") ``` 上述方法提供了灵活性,在不同场景下可以选择最适合的方式进行模型初始化[^2]。 #### 运行预测脚本 为了实现目标跟踪的效果,可以直接运行 `track_predict.py`。此脚本允许自定义输入视频路径和输出保存位置。默认情况下,已提供一段测试视频供验证模型性能之用。如果希望应用最新版本的模型,则需更新 `YoloDeepSort` 文件夹内的 yolov5 结构并替换相应权重文件[^3]。 ```python import torch from models.common import DetectMultiBackend video_path = "test_video/test12.avi" video_save_path = "test_video/output.mp4" device = torch.device('cuda' if torch.cuda.is_available() else 'cpu') half = False weights = 'runs/car/weights/last.pt' model = DetectMultiBackend(weights, device=device, dnn=False) if half: model.model.half() else: model.model.float() ``` 这段代码展示了如何设置设备参数、指定权重路径,并调整半精度浮点数支持选项以优化推理速度。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值