Releases: yyxxryrx/image_to_console
Releases · yyxxryrx/image_to_console
Release v0.1.18
Release v0.1.17
Release v0.1.16
Full Changelog: v0.1.15...v0.1.16
更新日志
- 将音频支持特性名称从
rodio统一更名为audio_support,文档与代码同步更新。 - 修复了
sixel_support特性在渲染器中的依赖缺失问题。 - 优化了颜色索引状态管理,提升 Sixel 和普通模式下的渲染稳定性。
- 更新依赖:
image_to_console_core→ v0.1.17。
Release v0.1.15
Full Changelog: v0.1.14...v0.1.15
更新日志
新功能
- Sixel 图像模式支持:新增对 Sixel 协议的支持,可在支持 Sixel 的终端中直接显示彩色图像
- 添加 sixel_support 特性
- 实现 Sixel 图像转换和渲染逻辑
- 支持 Sixel 相关命令行选项 (--max-colors)
- 添加量化和索引图像处理功能
性能优化
- Sixel 渲染性能优化:
- 引入 nohash-hasher 依赖,提高哈希表性能
- 重构 sixel_convert 函数,优化颜色索引和样式处理逻辑
- 新增 render_same 函数,用于渲染连续相同像素
- 优化像素处理流程,减少不必要的计算和内存分配
- 帧延迟计算优化:
- 考虑到 Sixel 模式下帧延迟的不同需求,增加了 is_sixel 参数
- 根据是否启用 Sixel 支持,调整帧延迟计算中的减去时间
Bug 修复
- 修复 Sixel 模式下可能发生的越界错误
- 修改宽度和高度的获取方式,使用图像的实际尺寸而非配置选项
- 在处理像素行时增加边界检查,避免超出图像高度
项目重构
特性重构:
- 将默认特性从 video 改为 video_player
- 重命名 video 特性为 video_player
- 将 gif 特性整合到 gif_player 中
- 设置 sixel_support 为默认启用特性
依赖优化:
- 将可选依赖项设置为条件编译
- 更新依赖版本和特性配置
文档更新
- 更新终端兼容性列表,将 Sixel 状态从未实现改为已实现
- 更新功能说明和依赖列表
- 修正视频播放功能的描述和特性名称
Release v0.1.14
Full Changelog: v0.1.13...v0.1.14
更新日志
新功能和改进
- 视频播放支持增强:
- 使用 video-rs 替代 ffmpeg-next 作为视频解码库
- 添加自定义音频轨道支持,可通过 --audio 参数指定音频文件
- 优化视频渲染流程,提高性能和稳定性
- 依赖库更新:
- 将视频处理库从 ffmpeg-next 迁移到 video-rs
- 添加 ndarray 依赖用于处理视频帧数据
- 将 gif 依赖项设为可选
文档更新
- 在 README 中明确视频播放支持需要 FFmpeg
- 添加不同操作系统下 FFmpeg 安装指南
- 更新使用自定义音频轨道播放视频的示例
- 更新依赖库列表,替换 ffmpeg-next 为 video-rs,并添加 ndarray
性能优化
- 根据视频帧率动态调整帧通道缓冲区大小,提高视频播放性能
Bug修复
- 修复帧显示和光标移动相关问题,改善视频播放时的显示效果
Release v0.1.13
Full Changelog: v0.1.12...v0.1.13
更新日志
新增功能
- 🎥 视频播放支持: 添加了使用 video 特性的视频播放功能
- 支持多种视频格式的播放(依赖 FFmpeg)
- 支持视频音频同步播放
- 新增 video 子命令用于加载和播放视频文件
- 🔄 GIF 播放优化: 改进了 GIF 动画播放功能
- 支持自动检测 GIF 帧率
- 添加帧延迟信息,优化播放性能
- 实现更精确的帧率控制和播放时长显示
技术改进
- 🛠️ 模块化重构: 将项目重构为 Cargo 工作区结构
- 分离核心功能到独立的 image_to_console-core 库
- 主程序专注于 CLI 界面逻辑处理
- ⚙️ 条件编译: 视频相关代码现在通过 #[cfg(feature = "video")] 进行条件编译
- 减小编译体积,提高编译效率
- 视频功能作为可选特性提供
依赖更新
- 添加视频处理依赖:
- ez-ffmpeg v0.5.3 (可选)
- ffmpeg-next v7.1.0 (可选)
- 更新核心依赖版本以支持新功能
文档更新
- 更新 README 文件:
- 添加视频播放功能说明和使用示例
- 增加中英文版本文档
- 更新依赖列表和安装说明
性能优化
- 🎨 渲染优化: 改进动画渲染逻辑
- 用有界通道替换无界通道,限制帧缓冲区大小
- 优化控制台界面渲染,减少闪烁
- 使用多线程提高渲染性能
Release v0.1.12
Full Changelog: v0.1.11...v0.1.12
更新日志
新增功能(Features)
- 添加音频支持功能,GIF 播放时可伴随音频轨道
- 新增 --audio 命令行参数,用于指定 GIF 动画播放时的音频文件
优化(Improvements)
- 优化 GIF 帧处理逻辑,使用索引颜色输出替代 RGBA 输出
- 改进 GIF 处理器,实现帧间插值处理,提升 GIF 动画播放质量
修复(Fixes)
- 修复 GIF 动画播放时的帧处理问题
其他变更(Other changes)
- 更新项目版本号至 0.1.12
- 添加 rodio 音频播放依赖库
- 更新依赖项列表,在 README 中添加 rodio 依赖
Release v0.1.11
Full Changelog: v0.1.10...v0.1.11
更新日志
1.优化GIF转换算法,改用Rayon迭代,提升处理效率
2.重构GIF Frames转递逻辑,改用crossbeam_channel的unbounded异步传递,优化内存占用
3.优化渲染流程,采用动态帧率调整,根据终端时间动态调整帧率
Bug fix
- 修复了在no-color模式下当图片分辨率不是2的倍数时渲染错误的问题