Skip to content

Releases: yyxxryrx/image_to_console

Release v0.1.18

30 Oct 11:01

Choose a tag to compare

Full Changelog: v0.1.17...v0.1.18

更新日志

  • 将帧间延迟计算改为实时动态计算
  • 对代码进行了重构

Release v0.1.17

24 Oct 12:29

Choose a tag to compare

Full Changelog: v0.1.16...v0.1.17

更新日志

  • 为核心库添加了测试、文档和示例代码
  • 为核心库添加Python绑定
  • 支持ASCII模式

Fix

  • 修复文件名处理逻辑

Release v0.1.16

28 Sep 18:16

Choose a tag to compare

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

14 Sep 18:52

Choose a tag to compare

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 模式下可能发生的越界错误
  • 修改宽度和高度的获取方式,使用图像的实际尺寸而非配置选项
  • 在处理像素行时增加边界检查,避免超出图像高度

项目重构

特性重构:

  1. 将默认特性从 video 改为 video_player
  2. 重命名 video 特性为 video_player
  3. 将 gif 特性整合到 gif_player 中
  4. 设置 sixel_support 为默认启用特性

依赖优化:

  • 将可选依赖项设置为条件编译
  • 更新依赖版本和特性配置

文档更新

  • 更新终端兼容性列表,将 Sixel 状态从未实现改为已实现
  • 更新功能说明和依赖列表
  • 修正视频播放功能的描述和特性名称

Release v0.1.14

12 Sep 18:27

Choose a tag to compare

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

10 Sep 20:14

Choose a tag to compare

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

03 Sep 19:06

Choose a tag to compare

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

02 Sep 16:51

Choose a tag to compare

Full Changelog: v0.1.10...v0.1.11

更新日志

1.优化GIF转换算法,改用Rayon迭代,提升处理效率
2.重构GIF Frames转递逻辑,改用crossbeam_channel的unbounded异步传递,优化内存占用
3.优化渲染流程,采用动态帧率调整,根据终端时间动态调整帧率

Bug fix

  1. 修复了在no-color模式下当图片分辨率不是2的倍数时渲染错误的问题

Release v0.1.10

02 Sep 12:33

Choose a tag to compare

Full Changelog: v0.1.9...v0.1.10

更新日志

  1. 添加了对GIF格式的支持
  2. 重构部分代码

Release v0.1.9

30 Aug 12:43

Choose a tag to compare

Full Changelog: v0.1.8...v0.1.9

更新日志

  1. 添加了对 iTerm2 协议的支持
  2. 重构了图像处理部分的代码,提升可读性,优化内存占用
  3. 改动部分 CLI 接口