Stevan Freeborn
e611522c7b
feat: enable processing of large video files over 2GB
...
Update audio extraction to use file-based streaming
instead of in-memory buffers to support processing
video files larger than 2GB.
**Changes:**
- Modified `IAudioExtractor.ExtractMp3FromMp4Async()`
to accept an output audio stream parameter instead
of creating a MemoryStream internally
- Updated `AudioExtractor` to write directly to the
provided audio stream, eliminating the need to load
entire video into memory
- Enhanced `FFMpegService` to detect FileStream inputs
and use direct file-to-file processing when possible,
falling back to pipe-based streaming for other stream types
- Refactored `DefaultCommand` to create output directory
and audio file stream before extraction, enabling direct
file-based audio extraction
- Updated all unit and integration tests to accommodate the
new audio stream parameter
This change prevents `OutOfMemoryException` errors when processing
large video files by streaming data directly to disk rather than
buffering in memory. Additionally, it removes the possibility of
overflowing the 2GB size limit that `MemoryStream` has, which
would result in `IOException` errors when trying to write or
copy to it.
2025-10-10 16:23:02 -05:00
Stevan Freeborn
6dcffa6b75
format: remove unnecessary whitespace
2025-10-10 15:40:10 -05:00
Stevan Freeborn
f5e33d80cd
chore: add debugger config for vscode
2025-10-10 15:38:19 -05:00
Stevan Freeborn
ff81c9ca43
chore: identify binary files to git
2025-10-10 15:38:06 -05:00
Stevan Freeborn
3f7d68ffb5
Merge pull request #15 from StevanFreeborn/copilot/fix-escape-markup-console
2025-10-09 19:09:25 -05:00
Stevan Freeborn
34b1a17f9f
chore(release): 0.3.0 [skip ci]
2025-10-09 21:14:51 +00:00
Stevan Freeborn
4277ea1283
Merge pull request #14 from StevanFreeborn/stevanfreeborn/feat/add-output-directory-config-setting
...
feat: add configurable output directory with validation
2025-10-09 16:14:33 -05:00
Stevan Freeborn
6ebec7c285
fix: use file system abstraction in base directory method. thanks copilot 🤖
2025-10-09 16:14:10 -05:00
Stevan Freeborn
8632f88817
feat: add configurable output directory with validation
...
- Add support for OutputDirectory configuration setting.
- The command now validates the configured directory path,
creates it if needed, and falls back to the application
base directory if invalid. Includes error handling for
path-related exceptions.
2025-10-09 16:08:56 -05:00
Stevan Freeborn
487183ef1f
chore(release): 0.2.0 [skip ci]
2025-08-21 03:18:07 +00:00
Stevan Freeborn
708b97a5c0
Merge pull request #8 from StevanFreeborn/stevanfreeborn/feat/5-display-location-of-shorts
...
feat: display location of output with link inside panel
2025-08-20 22:17:47 -05:00
Stevan Freeborn
57e95b2ea1
feat: display location of output with link inside panel
2025-08-20 22:17:06 -05:00
Stevan Freeborn
9b5a65fc92
chore(release): 0.1.0 [skip ci]
2025-08-21 02:43:39 +00:00
Stevan Freeborn
ecc676bff1
Merge pull request #7 from StevanFreeborn/stevanfreeborn/feat/6-throw-error-if-appsettings-not-present
...
feat: make sure error is shown to user if appsettings.json file is not present
2025-08-20 21:43:16 -05:00
Stevan Freeborn
d560909f16
feat: fallback to static AnsiConsole if exception occurs before registered in DI container
2025-08-20 21:42:19 -05:00
Stevan Freeborn
51f5359202
Merge branch 'main' of github.com:StevanFreeborn/stream-shorts
2025-08-20 16:32:21 -05:00
Stevan Freeborn
022798d11b
chore: update gitignore
2025-08-20 16:32:15 -05:00
Stevan Freeborn
1927d0ad49
chore(release): 0.0.0 [skip ci]
2025-08-20 21:22:43 +00:00
Stevan Freeborn
185619b28e
chore: fix workflow [skip ci]
2025-08-20 16:22:06 -05:00
Stevan Freeborn
690e6d00a9
chore(release): 0.0.0 [skip ci]
2025-08-20 21:11:01 +00:00
Stevan Freeborn
ba8a1dc7c7
chore: correct workflow
2025-08-20 16:10:31 -05:00
Stevan Freeborn
624ebb834f
chore: fix changlog [skip ci]
2025-08-20 16:02:47 -05:00
Stevan Freeborn
6959573964
chore: fix changlog [skip ci]
2025-08-20 16:02:14 -05:00
Stevan Freeborn
7afc3f12ac
chore(release): 0.0.0 [skip ci]
2025-08-20 20:59:41 +00:00
Stevan Freeborn
d09c4a3d71
chore: correct workflow
2025-08-20 15:59:13 -05:00
Stevan Freeborn
7d1a041068
chore(release): 0.0.0 [skip ci]
2025-08-20 20:21:52 +00:00
Stevan Freeborn
6b3450a81a
chore: fix workflow
2025-08-20 15:21:09 -05:00
Stevan Freeborn
83e0f06c19
chore(release): 0.0.0 [skip ci]
2025-08-20 20:18:58 +00:00
Stevan Freeborn
49d3bb88e3
chore: rename file
2025-08-20 15:18:09 -05:00
Stevan Freeborn
3e42d79f04
chore(release): 0.0.0 [skip ci]
2025-08-20 20:02:17 +00:00
Stevan Freeborn
67247f67f9
Merge pull request #2 from StevanFreeborn/stevanfreeborn/fix/build-errors
...
tests: make test classes public
2025-08-20 15:01:02 -05:00
Stevan Freeborn
6e890b2e4e
tests: make test classes public
2025-08-20 15:00:32 -05:00
Stevan Freeborn
9739fa0163
chore(release): 0.0.0 [skip ci]
2025-08-20 19:51:13 +00:00
Stevan Freeborn
8fc4d438e1
Merge branch 'main' of github.com:StevanFreeborn/stream-shorts
2025-08-20 14:44:50 -05:00
Stevan Freeborn
9dff43b886
chore: fix workflow
2025-08-20 14:44:42 -05:00
Stevan Freeborn
9c02ed6a23
chore(release): 0.0.0 [skip ci]
2025-08-20 19:41:59 +00:00
Stevan Freeborn
5d582ec3c5
Merge pull request #1 from StevanFreeborn/stevanfreeborn/feat/initial-console-poc
...
feat: initial console app
2025-08-20 14:41:33 -05:00
Stevan Freeborn
bd0a7fe3cd
chore: lots of chores
2025-08-19 16:25:15 -05:00
Stevan Freeborn
3752e9dfa0
chore: add console publish github action workflow
2025-08-19 15:12:12 -05:00
Stevan Freeborn
d470574b99
feat: complete implementation using gemini as analyzer
2025-08-19 12:43:34 -05:00
Stevan Freeborn
85304eadd1
feat: trying to create clips...probs a waste of time grrrrrrr
2025-08-12 00:17:37 -05:00
Stevan Freeborn
8feadcf23c
chore: stub out shorts creator class
2025-08-03 22:50:30 -05:00
Stevan Freeborn
1b2e687034
docs: add missing xml comments
2025-08-03 22:15:07 -05:00
Stevan Freeborn
ff423db5fe
feat: add specific domain exceptions
2025-08-03 22:09:35 -05:00
Stevan Freeborn
f96644e029
feat: implement default prompt for analysis
2025-08-03 22:06:16 -05:00
Stevan Freeborn
d7a953f187
feat: wip on implementing gemini analyzer
2025-07-31 00:10:27 -05:00
Stevan Freeborn
f6773cb64e
fix: practice defense driving...seal it all
2025-07-29 18:26:22 -05:00
Stevan Freeborn
07190acb65
fix: maintain passed in streams position
2025-07-29 18:21:17 -05:00
Stevan Freeborn
ef45a4098a
feat: initial whipser transcriber implementation
2025-07-29 18:00:09 -05:00
Stevan Freeborn
5ee040f2d0
tests: add integration test for audio extractor
2025-07-28 17:59:27 -05:00
Stevan Freeborn
30f2032cef
tests: setup test coverage
2025-07-28 17:26:54 -05:00
Stevan Freeborn
d5f1347587
feat: wip on extracting whisper transcription logic to separate class
2025-07-27 23:33:45 -05:00
Stevan Freeborn
76667f01d6
chore: delete unused template file
2025-07-27 23:33:16 -05:00
Stevan Freeborn
a1864371dd
feat: extract audio conversion to separate class and refine audio extraction
2025-07-27 23:33:05 -05:00
Stevan Freeborn
a53b3893ad
chore: update editorconfig preferences for tests
2025-07-27 23:32:07 -05:00
Stevan Freeborn
1765a730a7
chore: whitelist a word
2025-07-27 23:31:47 -05:00
Stevan Freeborn
0a661d6970
feat: refactor audio extraction to reusable class
2025-07-24 11:22:15 -05:00
Stevan Freeborn
310f56fb84
feat: wip...migrating to proper app
2025-07-23 23:55:56 -05:00
Stevan Freeborn
439cd6a310
Merge branch 'main' into stevanfreeborn/feat/initial-console-poc
2025-07-23 02:21:52 -05:00
Stevan Freeborn
4b495e5f17
chore: add license
2025-07-23 02:21:38 -05:00
Stevan Freeborn
cd94b703bb
fix: it works, but needed to switch local LLM for hosted one.
2025-07-23 02:16:48 -05:00
Stevan Freeborn
da5134bad0
feat: it works 🥳
2025-07-21 23:51:59 -05:00
Stevan Freeborn
75bb571b6b
feat: wip...got full transcription all in memory
2025-07-21 01:01:09 -05:00
Stevan Freeborn
a8e4f669e5
docs: fix typo
2025-07-16 12:43:44 -05:00
Stevan Freeborn
2733fb20dd
chore: initial project setup
2025-07-16 12:43:09 -05:00