{"id":28959183,"url":"https://github.com/dubisdev/ffmpeg-ts-downloader","last_synced_at":"2026-05-04T23:33:47.752Z","repository":{"id":300552401,"uuid":"1006455208","full_name":"dubisdev/ffmpeg-ts-downloader","owner":"dubisdev","description":"Node JS script to download FFMPEG ts files","archived":false,"fork":false,"pushed_at":"2025-06-22T10:09:21.000Z","size":10,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-06-22T11:19:27.235Z","etag":null,"topics":["ffmpeg","ffmpeg-stream","nodejs"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dubisdev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-06-22T10:05:33.000Z","updated_at":"2025-06-22T10:09:23.000Z","dependencies_parsed_at":"2025-06-22T11:19:36.194Z","dependency_job_id":"8d332770-1e1e-4598-8125-5dc7536672c4","html_url":"https://github.com/dubisdev/ffmpeg-ts-downloader","commit_stats":null,"previous_names":["dubisdev/ffmpeg-ts-downloader"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/dubisdev/ffmpeg-ts-downloader","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dubisdev%2Fffmpeg-ts-downloader","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dubisdev%2Fffmpeg-ts-downloader/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dubisdev%2Fffmpeg-ts-downloader/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dubisdev%2Fffmpeg-ts-downloader/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dubisdev","download_url":"https://codeload.github.com/dubisdev/ffmpeg-ts-downloader/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dubisdev%2Fffmpeg-ts-downloader/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32628830,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-04T10:08:07.713Z","status":"ssl_error","status_checked_at":"2026-05-04T10:08:02.005Z","response_time":58,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ffmpeg","ffmpeg-stream","nodejs"],"created_at":"2025-06-24T00:01:16.314Z","updated_at":"2026-05-04T23:33:47.734Z","avatar_url":"https://github.com/dubisdev.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# TS Video Downloader and Joiner\n\nA simple Node.js utility to download and join Transport Stream (TS) video files from an M3U8 playlist. This tool downloads individual TS segments and combines them into a single file using FFmpeg.\n\n\u003e [!WARNING]\n\u003e This project is intended for educational purposes only. Ensure you have the right to download and use the content from the M3U8 playlist.\n\n## 🚀 Features\n\n- Downloads TS segments from an M3U8 playlist\n- Handles both HTTP and HTTPS URLs\n- Parallel downloading with concurrency control\n- Automatic cleanup after processing\n- TLS bypass for self-signed certificates\n\n## ⚙️ Requirements\n\n- [Node.js](https://nodejs.org/) (v22 or later recommended)\n- [FFmpeg](https://ffmpeg.org/download.html) installed and available in your PATH\n\n### Installing FFmpeg\n\n#### Windows\n\n1. Download from [FFmpeg official website](https://ffmpeg.org/download.html) or install using [Chocolatey](https://chocolatey.org/):\n\n```powershell\nchoco install ffmpeg\n```\n\n#### macOS\n\n```bash\nbrew install ffmpeg\n```\n\n#### Linux (Ubuntu/Debian)\n\n```bash\nsudo apt update\nsudo apt install ffmpeg\n```\n\n## 📂 Project Structure\n\n```plaintext\nts-joiner/\n├── index.js           # Main script\n├── playlist.m3u8      # M3U8 playlist file (must be updated)\n├── ts-files/          # Temporary folder for downloaded segments\n└── ts-videos/         # Output folder for joined TS files\n```\n\n## 🔧 Usage\n\n1. Update the `playlist.m3u8` file with your TS segment URLs\n2. Open `index.js` and set the `baseUrl` variable to your base URL (if segments use relative paths)\n3. Run the script:\n\n```powershell\nnode index.js\n```\n\nThe joined video file will be saved to `./ts-videos/` with a unique filename\n\n## 💻 How it Works\n\n1. The script parses the M3U8 playlist file to extract TS segment URLs\n2. It downloads each segment in parallel (with a concurrency limit of 10)\n3. It creates a filelist for FFmpeg\n4. FFmpeg joins all segments into a single TS file\n5. The script moves the joined file to the output directory\n6. Temporary files are cleaned up automatically\n\n## 🔍 Development\n\nThis project uses standard Node.js libraries with no external dependencies:\n\n- `fs` - File system operations\n- `https/http` - Network requests\n- `child_process` - For executing FFmpeg\n- `path` - Path manipulation\n- `url` - URL resolution\n\nTo modify the concurrency limit, change the `CONCURRENCY_LIMIT` constant in `index.js`.\n\n## 📝 License\n\n[MIT](./LICENSE.md) © [David Jimenez](https://dubis.dev)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdubisdev%2Fffmpeg-ts-downloader","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdubisdev%2Fffmpeg-ts-downloader","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdubisdev%2Fffmpeg-ts-downloader/lists"}