halib 0.2.15__tar.gz → 0.2.17__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {halib-0.2.15 → halib-0.2.17}/PKG-INFO +2 -2
- {halib-0.2.15 → halib-0.2.17}/README.md +1 -1
- {halib-0.2.15 → halib-0.2.17}/halib/filetype/videofile.py +28 -1
- {halib-0.2.15 → halib-0.2.17}/halib.egg-info/PKG-INFO +2 -2
- {halib-0.2.15 → halib-0.2.17}/setup.py +1 -1
- {halib-0.2.15 → halib-0.2.17}/.gitignore +0 -0
- {halib-0.2.15 → halib-0.2.17}/GDriveFolder.txt +0 -0
- {halib-0.2.15 → halib-0.2.17}/LICENSE.txt +0 -0
- {halib-0.2.15 → halib-0.2.17}/MANIFEST.in +0 -0
- {halib-0.2.15 → halib-0.2.17}/halib/__init__.py +0 -0
- {halib-0.2.15 → halib-0.2.17}/halib/common/__init__.py +0 -0
- {halib-0.2.15 → halib-0.2.17}/halib/common/common.py +0 -0
- {halib-0.2.15 → halib-0.2.17}/halib/common/rich_color.py +0 -0
- {halib-0.2.15 → halib-0.2.17}/halib/exp/__init__.py +0 -0
- {halib-0.2.15 → halib-0.2.17}/halib/exp/core/__init__.py +0 -0
- {halib-0.2.15 → halib-0.2.17}/halib/exp/core/base_config.py +0 -0
- {halib-0.2.15 → halib-0.2.17}/halib/exp/core/base_exp.py +0 -0
- {halib-0.2.15 → halib-0.2.17}/halib/exp/core/param_gen.py +0 -0
- {halib-0.2.15 → halib-0.2.17}/halib/exp/core/wandb_op.py +0 -0
- {halib-0.2.15 → halib-0.2.17}/halib/exp/data/__init__.py +0 -0
- {halib-0.2.15 → halib-0.2.17}/halib/exp/data/dataclass_util.py +0 -0
- {halib-0.2.15 → halib-0.2.17}/halib/exp/data/dataset.py +0 -0
- {halib-0.2.15 → halib-0.2.17}/halib/exp/data/torchloader.py +0 -0
- {halib-0.2.15 → halib-0.2.17}/halib/exp/perf/__init__.py +0 -0
- {halib-0.2.15 → halib-0.2.17}/halib/exp/perf/flop_calc.py +0 -0
- {halib-0.2.15 → halib-0.2.17}/halib/exp/perf/gpu_mon.py +0 -0
- {halib-0.2.15 → halib-0.2.17}/halib/exp/perf/perfcalc.py +0 -0
- {halib-0.2.15 → halib-0.2.17}/halib/exp/perf/perfmetrics.py +0 -0
- {halib-0.2.15 → halib-0.2.17}/halib/exp/perf/perftb.py +0 -0
- {halib-0.2.15 → halib-0.2.17}/halib/exp/perf/profiler.py +0 -0
- {halib-0.2.15 → halib-0.2.17}/halib/exp/viz/__init__.py +0 -0
- {halib-0.2.15 → halib-0.2.17}/halib/exp/viz/plot.py +0 -0
- {halib-0.2.15 → halib-0.2.17}/halib/filetype/__init__.py +0 -0
- {halib-0.2.15 → halib-0.2.17}/halib/filetype/csvfile.py +0 -0
- {halib-0.2.15 → halib-0.2.17}/halib/filetype/ipynb.py +0 -0
- {halib-0.2.15 → halib-0.2.17}/halib/filetype/jsonfile.py +0 -0
- {halib-0.2.15 → halib-0.2.17}/halib/filetype/textfile.py +0 -0
- {halib-0.2.15 → halib-0.2.17}/halib/filetype/yamlfile.py +0 -0
- {halib-0.2.15 → halib-0.2.17}/halib/online/__init__.py +0 -0
- {halib-0.2.15 → halib-0.2.17}/halib/online/gdrive.py +0 -0
- {halib-0.2.15 → halib-0.2.17}/halib/online/gdrive_mkdir.py +0 -0
- {halib-0.2.15 → halib-0.2.17}/halib/online/projectmake.py +0 -0
- {halib-0.2.15 → halib-0.2.17}/halib/online/tele_noti.py +0 -0
- {halib-0.2.15 → halib-0.2.17}/halib/system/__init__.py +0 -0
- {halib-0.2.15 → halib-0.2.17}/halib/system/_list_pc.csv +0 -0
- {halib-0.2.15 → halib-0.2.17}/halib/system/cmd.py +0 -0
- {halib-0.2.15 → halib-0.2.17}/halib/system/filesys.py +0 -0
- {halib-0.2.15 → halib-0.2.17}/halib/system/path.py +0 -0
- {halib-0.2.15 → halib-0.2.17}/halib/utils/__init__.py +0 -0
- {halib-0.2.15 → halib-0.2.17}/halib/utils/dict.py +0 -0
- {halib-0.2.15 → halib-0.2.17}/halib/utils/list.py +0 -0
- {halib-0.2.15 → halib-0.2.17}/halib.egg-info/SOURCES.txt +0 -0
- {halib-0.2.15 → halib-0.2.17}/halib.egg-info/dependency_links.txt +0 -0
- {halib-0.2.15 → halib-0.2.17}/halib.egg-info/requires.txt +0 -0
- {halib-0.2.15 → halib-0.2.17}/halib.egg-info/top_level.txt +0 -0
- {halib-0.2.15 → halib-0.2.17}/setup.cfg +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: halib
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.17
|
|
4
4
|
Summary: Small library for common tasks
|
|
5
5
|
Author: Hoang Van Ha
|
|
6
6
|
Author-email: hoangvanhauit@gmail.com
|
|
@@ -54,7 +54,7 @@ Dynamic: summary
|
|
|
54
54
|
|
|
55
55
|
# Helper package for coding and automation
|
|
56
56
|
|
|
57
|
-
**Version 0.2.
|
|
57
|
+
**Version 0.2.17**
|
|
58
58
|
+ update `exp.perf.profiler`: add `enabled` flag to enable/disable profiling dynamically, also add `measure` context manager to simplify measuring code blocks.
|
|
59
59
|
|
|
60
60
|
**Version 0.2.13**
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Helper package for coding and automation
|
|
2
2
|
|
|
3
|
-
**Version 0.2.
|
|
3
|
+
**Version 0.2.17**
|
|
4
4
|
+ update `exp.perf.profiler`: add `enabled` flag to enable/disable profiling dynamically, also add `measure` context manager to simplify measuring code blocks.
|
|
5
5
|
|
|
6
6
|
**Version 0.2.13**
|
|
@@ -96,6 +96,34 @@ class VideoUtils:
|
|
|
96
96
|
return dfmk["video_meta"].copy()
|
|
97
97
|
|
|
98
98
|
|
|
99
|
+
# -----------------------------
|
|
100
|
+
# FFmpeg Horizontal Stack
|
|
101
|
+
# -----------------------------
|
|
102
|
+
@staticmethod
|
|
103
|
+
def hstack(video_files, output_file):
|
|
104
|
+
"""Horizontally stack multiple videos using FFmpeg."""
|
|
105
|
+
tmp_file = "video_list.txt"
|
|
106
|
+
try:
|
|
107
|
+
with open(tmp_file, "w") as f:
|
|
108
|
+
for video in video_files:
|
|
109
|
+
f.write(f"file '{video}'\n")
|
|
110
|
+
|
|
111
|
+
ffmpeg_cmd = (
|
|
112
|
+
f"ffmpeg -f concat -safe 0 -i {tmp_file} "
|
|
113
|
+
f'-filter_complex "[0:v][1:v][2:v]hstack=inputs={len(video_files)}[v]" '
|
|
114
|
+
f'-map "[v]" -c:v libx264 -preset fast -crf 22 {output_file}'
|
|
115
|
+
)
|
|
116
|
+
|
|
117
|
+
os.system(ffmpeg_cmd)
|
|
118
|
+
print(f"[INFO] Video stacked successfully: {output_file}")
|
|
119
|
+
|
|
120
|
+
except Exception as e:
|
|
121
|
+
print(f"[ERROR] Video stacking failed: {e}")
|
|
122
|
+
finally:
|
|
123
|
+
if os.path.exists(tmp_file):
|
|
124
|
+
os.remove(tmp_file)
|
|
125
|
+
|
|
126
|
+
|
|
99
127
|
class VideoResolution(Enum):
|
|
100
128
|
VR480p = "720x480"
|
|
101
129
|
VR576p = "1280x720"
|
|
@@ -146,7 +174,6 @@ def trim_video(source, destination, start_time, end_time):
|
|
|
146
174
|
|
|
147
175
|
progress_bar = None
|
|
148
176
|
|
|
149
|
-
|
|
150
177
|
def on_progress(bytes_done, total_bytes):
|
|
151
178
|
global progress_bar
|
|
152
179
|
if progress_bar is None:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: halib
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.17
|
|
4
4
|
Summary: Small library for common tasks
|
|
5
5
|
Author: Hoang Van Ha
|
|
6
6
|
Author-email: hoangvanhauit@gmail.com
|
|
@@ -54,7 +54,7 @@ Dynamic: summary
|
|
|
54
54
|
|
|
55
55
|
# Helper package for coding and automation
|
|
56
56
|
|
|
57
|
-
**Version 0.2.
|
|
57
|
+
**Version 0.2.17**
|
|
58
58
|
+ update `exp.perf.profiler`: add `enabled` flag to enable/disable profiling dynamically, also add `measure` context manager to simplify measuring code blocks.
|
|
59
59
|
|
|
60
60
|
**Version 0.2.13**
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|