# Media Coding Web - Configuration & Run Guide To properly test and run this project, you will need to prepare your environment: 1. **Install Node.js & FFmpeg**: - Ensure Node.js (v18+) is installed. - Install **FFmpeg** on your system and make sure it is available in your PATH environment variable. The Node.js library `fluent-ffmpeg` requires it. - If you plan to use Rockchip hardware encoding, make sure your FFmpeg build includes `h264_rkmpp` / `hevc_rkmpp` support and the device has the Rockchip MPP runtime available. - By default, RKMPP mode uses `/usr/lib/jellyfin-ffmpeg/ffmpeg`. You can override that path with `RKMPP_FFMPEG_PATH`. 2. **AWS S3 / MinIO Configuration**: - Modify the `.env` file (copy from `.env.example`). - Add your `AWS_ACCESS_KEY_ID`, `AWS_SECRET_ACCESS_KEY`, `AWS_REGION`, and `S3_BUCKET_NAME`. - If using **MinIO**, ensure you set the `S3_ENDPOINT` (e.g., `http://127.0.0.1:9000`) and set `S3_FORCE_PATH_STYLE=true`. - Ensure your bucket has `.mp4` video files. 3. **Install Dependencies & Start**: ```bash npm install npm start ``` 4. **Test Delivery**: - Open your browser to `http://localhost:3000`. - The application should display available `.mp4` items from your S3 bucket. - Click one video, and the Node server will begin to read the S3 stream and pipe it to FFmpeg, transcoding it into HLS segments inside the `/public/hls/` directory. - The frontend polls via `/api/status`, and once the index playlist is available, HLS playback starts!