Go to file
tigeren a22e4a95c5 feat(transcode): improve transcoding logic with request deduplication and stable FFmpeg processes
- Add HEAD request handler to serve video metadata without body
- Replace fluent-ffmpeg with direct spawn for FFmpeg process execution
- Implement active request tracking to prevent duplicate transcoding streams
- Enhance process management by avoiding killing similar seek processes (within 2s)
- Preserve original metadata and apply duration overrides for accurate streaming
- Return full duration metadata and seek time in custom response headers
- Add DELETE endpoint to clean up all transcoding processes for a video
- Update client video player to detect transcoding need and switch source accordingly
- Implement retry logic with capped attempts for both direct and transcoding streams
- Add user-visible transcoding error display with retry button in video viewer
- Optimize transcoding seek requests to avoid duplicate or unnecessary restarts
- Enhance useStableProgress hook to support seek offset from streaming URL
- Adjust progress updates to consider seek time offset for smooth playback progress
- Initialize progress state at seek offset instead of zero on reset to prevent jitter
2025-09-06 18:26:31 +00:00
.cursor/rules feat: enhance UI and functionality for media library management 2025-08-25 16:04:03 +00:00
data feat(api): add FFmpeg process status and management API endpoints 2025-09-06 16:39:00 +00:00
docker refactor: update Dockerfile and docker-compose.yml for improved media handling 2025-09-01 18:08:17 +00:00
docs feat(api): add FFmpeg process status and management API endpoints 2025-09-06 16:39:00 +00:00
public refactor: update Dockerfile and docker-compose.yml for improved media handling 2025-09-01 18:08:17 +00:00
src feat(transcode): improve transcoding logic with request deduplication and stable FFmpeg processes 2025-09-06 18:26:31 +00:00
.dockerignore [!!]refactor: optimize Docker configuration and update .dockerignore 2025-08-30 20:12:15 +00:00
.gitignore feat: add thumbnail API and update Docker configuration 2025-08-30 19:39:51 +00:00
CLAUDE.md feat: add text file support and viewer enhancements 2025-08-31 08:42:30 +00:00
Dockerfile refactor: update Dockerfile and docker-compose.yml for improved media handling 2025-09-01 18:08:17 +00:00
GEMINI.md feat: implement performance optimization plan and pagination for media APIs 2025-08-28 09:10:38 +00:00
PRD.md feat: implement performance optimization plan and pagination for media APIs 2025-08-28 09:10:38 +00:00
README.md Initial commit from Create Next App 2025-08-25 02:22:42 +00:00
TRANSCODING_FIXES.md fix: improve transcoding progress bar and duration handling 2025-08-31 16:36:54 +00:00
components.json feat: Implement file system API and folder viewer 2025-08-25 06:15:49 +00:00
docker-compose.yml feat: add Docker configuration and database initialization 2025-08-30 17:42:26 +00:00
media.db feat: enhance video streaming and transcoding capabilities 2025-08-31 14:56:23 +00:00
next.config.ts feat: enhance video streaming and transcoding capabilities 2025-08-31 14:56:23 +00:00
package-lock.json feat: add text file support and viewer enhancements 2025-08-31 08:42:30 +00:00
package.json feat: add text file support and viewer enhancements 2025-08-31 08:42:30 +00:00
postcss.config.mjs feat: enhance UI and functionality for media library management 2025-08-25 16:04:03 +00:00
tailwind.config.ts feat: enhance UI and functionality for media library management 2025-08-25 16:04:03 +00:00
test-progress-bar.mjs fix: improve transcoding progress bar and duration handling 2025-08-31 16:36:54 +00:00
test-transcoding.mjs feat: enhance video streaming and transcoding capabilities 2025-08-31 14:56:23 +00:00
tsconfig.json Initial commit from Create Next App 2025-08-25 02:22:42 +00:00

README.md

This is a Next.js project bootstrapped with create-next-app.

Getting Started

First, run the development server:

npm run dev
# or
yarn dev
# or
pnpm dev
# or
bun dev

Open http://localhost:3000 with your browser to see the result.

You can start editing the page by modifying app/page.tsx. The page auto-updates as you edit the file.

This project uses next/font to automatically optimize and load Geist, a new font family for Vercel.

Learn More

To learn more about Next.js, take a look at the following resources:

You can check out the Next.js GitHub repository - your feedback and contributions are welcome!

Deploy on Vercel

The easiest way to deploy your Next.js app is to use the Vercel Platform from the creators of Next.js.

Check out our Next.js deployment documentation for more details.