Skip to content

Commit

Permalink
update video player
Browse files Browse the repository at this point in the history
  • Loading branch information
ClimbSnail committed Oct 5, 2021
1 parent 26b8056 commit e72c25f
Show file tree
Hide file tree
Showing 7 changed files with 48 additions and 71 deletions.
24 changes: 1 addition & 23 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@ B站功能操作演示视频链接 https://www.bilibili.com/video/BV1jh411a7pV?p

##### 视频播放
1. 运行APP条件:必须插内存卡,内存卡的根目录下必须存在`movie/`目录。
2. 将所需要播放的视频(最好长宽比是1:1),使用本固件配套的使用转化工具转化为目标文件,存放在`movie/`目录下。
2. 将所需要播放的视频(最好长宽比是1:1),使用本固件配套的使用转化工具转化为目标文件(mjpeg或者rgb格式都可),存放在`movie/`目录下。
2. 运行播放器APP后,将会读取`movie/`目录下的视频文件。

##### 天气、时钟
Expand Down Expand Up @@ -145,25 +145,3 @@ lvgl的字体生成可以使用:`LvglFontTool V0.4` 已放置在Doc目录下

### 资料
ESP32内存分布 https://blog.csdn.net/espressif/article/details/112956403


### 版本更新日志
##### HoloCubic_AIO固件_v1.6.x.bin
1. 调整屏幕亮度、wifi的调度控制,降低功耗。
2. 修改TFT_eSpi库消除开机之后的`花屏`

##### HoloCubic_AIO固件_v1.5.x.bin
1. 新增视频播放(持续改进中)。
2. 新增MPU6050校准,实现对带倾角底座的兼容。
3. 相册功能支持jpg、bin双格式。
4. 新增思维动画APP。
5. 加速开机显示。

##### HoloCubic_AIO固件_v1.4.bin
1. 大量修改程序框架。
2. 增加屏幕亮度。
3. 修改原相册切换时"白屏"现象。
##### HoloCubic_AIO固件_v1.3.bin
1. 将wifi配置信息从内存卡移到flash中,实现非相册功能的应用无需依赖内存卡。开机需要使用里面的配置APP在浏览器端配置网络信息。后期升级固件无需重新配置信息。
2. 调整RBG氛围灯。
3. 增加内存卡中的`movie`目录(便于后期拓展)。
33 changes: 0 additions & 33 deletions Tool/CubicAIO_Tool.spec

This file was deleted.

2 changes: 1 addition & 1 deletion Tool/common.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,6 @@
#
################################################################################

VERSION = "Ver1.4.1"
VERSION = "Ver1.4.2"
ROOT_PATH = "OutFile"
CACHE_PATH = "Cache"
10 changes: 6 additions & 4 deletions Tool/download_debug.py
Original file line number Diff line number Diff line change
Expand Up @@ -208,7 +208,7 @@ def schedule_display(self, all_time, update_interval):
update_interval:更新时间间隔(s)
"""
cycle_number = int(all_time / update_interval)
self.print_log("all_time", all_time)
self.print_log("all_time: "+str(all_time))
for num in range(cycle_number - 1):
self.progress_bar.coords(self.progress_bar_fill, (3, 3, (num / cycle_number) * 440, 14))
self.__father.update()
Expand Down Expand Up @@ -392,10 +392,11 @@ def init_log(self, father):
self.m_log_scrollbar.pack(side=tk.RIGHT, fill=tk.Y)

def print_log(self, msg):
msg = msg + "\n"
msg = str(msg) + "\n"
self.m_log.config(state=tk.NORMAL)
self.m_log.insert(tk.END, msg)
self.m_log.config(state=tk.DISABLED)
self.m_log.yview_moveto(1)

def clear_log(self):
"""
Expand All @@ -413,7 +414,7 @@ def init_serial_receive(self, father):
info_height = 27

# 滑动条
self.m_scrollbar = tk.Scrollbar(father, width=12)
self.m_scrollbar = tk.Scrollbar(father, width=12, orient="vertical")
# 信息文本框
self.m_msg = tk.Text(father, width=info_width,
height=info_height,
Expand Down Expand Up @@ -565,10 +566,10 @@ def com_connect(self):

# 判断是否打开成功
if self.ser.is_open:
BOOL = True # 读取标志位
self.receive_thread = threading.Thread(target=self.read_data,
args=(self.ser,))
self.receive_thread.start()
BOOL = True # 读取标志位

self.m_connect_button["text"] = "关闭串口"
self.m_com_select["state"] = tk.DISABLED
Expand Down Expand Up @@ -611,6 +612,7 @@ def read_data(self, ser):
self.m_msg.config(state=tk.NORMAL)
self.m_msg.insert(tk.END, STRGLO)
self.m_msg.config(state=tk.DISABLED)
self.m_msg.yview_moveto(1)

def get_download_param(self):
"""
Expand Down
2 changes: 1 addition & 1 deletion Tool/help.py
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ def init_info(self, father):
info = '''
本上位机专门针对HoloCubic AIO固件开发,其中固件烧录功能兼容其他第三方固件。
加入AIO内测QQ群:755143193 获取相关技术支持
加入AIO内测QQ群:755143193 获取最新版本及相关技术支持
功能持续补充完善中,本上位机的所有源码均开源,欢迎大家学习,
也欢迎加入到AIO固件的开发队列。
Expand Down
28 changes: 19 additions & 9 deletions Tool/videotool.py
Original file line number Diff line number Diff line change
Expand Up @@ -144,8 +144,9 @@ def trans_format(self):
cur_dir = os.getcwd() # 当前目录
self.trans_botton["text"] = "正在转换"
param = self.get_output_param()
cmd_resize = "ffmpeg -i %s -vf scale=%s:%s %s"
cmd_to_rgb = 'ffmpeg -i %s -vf "fps=9,scale=-1:%s:flags=lanczos,crop=%s:in_h:(in_w-%s)/2:0" -c:v rawvideo -pix_fmt rgb565be %s'
cmd_resize = "ffmpeg -i %s -vf scale=%s:%s %s" # 缩放转化
cmd_to_rgb = 'ffmpeg -i %s -vf "fps=%s,scale=-1:%s:flags=lanczos,crop=%s:in_h:(in_w-%s)/2:0" -c:v rawvideo -pix_fmt rgb565be %s'
cmd_to_mjpeg = 'ffmpeg -i %s -vf "fps=%s,scale=-1:%s:flags=lanczos,crop=%s:in_h:(in_w-%s)/2:0" -q:v 9 %s'

name_suffix = os.path.basename(param["src_path"]).split(".")
suffix = name_suffix[-1] # 后缀名
Expand All @@ -154,8 +155,17 @@ def trans_format(self):
# 带上路径
video_cache = os.path.join(cur_dir, ROOT_PATH, CACHE_PATH, video_cache_name)
# 最终输出的文件
if param["format"] == 'rgb565be':
out_format_tail = ".rgb"
trans_cmd = cmd_to_rgb # 最后的转换命令
elif param["format"] == 'MJPEG':
out_format_tail = ".mjpeg"
trans_cmd = cmd_to_mjpeg # 最后的转换命令
else:
out_format_tail = ".mjpeg"
trans_cmd = cmd_to_mjpeg # 最后的转换命令
final_out = os.path.join(param["dst_path"],
name_suffix[0] + "_" + param["width"] + "x" + param["height"] + ".rgb")
name_suffix[0] + "_" + param["width"] + "x" + param["height"] + out_format_tail)

# 清理之前的记录
try:
Expand All @@ -165,10 +175,10 @@ def trans_format(self):
pass

middle_cmd = cmd_resize % (param["src_path"], param["width"],
param["width"], video_cache)
param["height"], video_cache)
print(middle_cmd)
out_cmd = cmd_to_rgb % (video_cache, param["width"], param["width"],
param["width"], final_out)
out_cmd = trans_cmd % (video_cache, param["fps"], param["height"],
param["width"], param["width"], final_out)
print(out_cmd)
os.system(middle_cmd)
os.system(out_cmd)
Expand Down Expand Up @@ -198,7 +208,7 @@ def init_options(self, father):

# 分辨率(长宽)
ratio_frame = tk.Frame(father, bg=father["bg"])
self.m_ratio_label = tk.Label(ratio_frame, text="分辨率(长x宽)",
self.m_ratio_label = tk.Label(ratio_frame, text="分辨率(宽x高)",
# font=self.my_ft1,
bg=father['bg'])
self.m_ratio_label.pack(side=tk.LEFT, padx=border_padx)
Expand All @@ -219,7 +229,7 @@ def init_options(self, father):
# 创建输入框
# self.m_fps_entry = tk.Entry(father, font=self.my_ft1, width=5, highlightcolor="LightGrey")
self.m_fps_entry = tk.Entry(fps_frame, width=5, highlightcolor="LightGrey")
self.m_fps_entry.insert(tk.END, '9')
self.m_fps_entry.insert(tk.END, '20')
# self.m_pre_val_text = "1500" # 保存修改前m_val_text输入框中的内容,供错误输入时使用
# self.m_fps_entry.bind("<Return>", self.change_val) # 绑定enter键的触发
self.m_fps_entry.pack(side=tk.RIGHT, padx=border_padx)
Expand All @@ -232,7 +242,7 @@ def init_options(self, father):
bg=father['bg'])
self.m_format_label.pack(side=tk.LEFT, padx=border_padx)
self.m_format_select = ttk.Combobox(format_frame, width=10, state='readonly')
self.m_format_select["value"] = ('rgb565be', 'MJPEG', 'GIF')
self.m_format_select["value"] = ('MJPEG', 'rgb565be') # , 'GIF'
# 设置默认值,即默认下拉框中的内容
self.m_format_select.current(0)
self.m_format_select.pack(side=tk.RIGHT, padx=border_padx)
Expand Down
20 changes: 20 additions & 0 deletions update_log.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
### 版本更新日志
##### HoloCubic_AIO固件_v1.6.x.bin
1. 调整屏幕亮度、wifi的调度控制,降低功耗。
2. 修改TFT_eSpi库消除开机之后的`花屏`

##### HoloCubic_AIO固件_v1.5.x.bin
1. 新增视频播放(持续改进中)。
2. 新增MPU6050校准,实现对带倾角底座的兼容。
3. 相册功能支持jpg、bin双格式。
4. 新增思维动画APP。
5. 加速开机显示。

##### HoloCubic_AIO固件_v1.4.bin
1. 大量修改程序框架。
2. 增加屏幕亮度。
3. 修改原相册切换时"白屏"现象。
##### HoloCubic_AIO固件_v1.3.bin
1. 将wifi配置信息从内存卡移到flash中,实现非相册功能的应用无需依赖内存卡。开机需要使用里面的配置APP在浏览器端配置网络信息。后期升级固件无需重新配置信息。
2. 调整RBG氛围灯。
3. 增加内存卡中的`movie`目录(便于后期拓展)。

0 comments on commit e72c25f

Please sign in to comment.