{"id":15034165,"url":"https://github.com/erickwendel/semana-javascript-expert08","last_synced_at":"2025-05-14T01:10:33.720Z","repository":{"id":203038058,"uuid":"705820999","full_name":"ErickWendel/semana-javascript-expert08","owner":"ErickWendel","description":"JS Expert Week 8.0 - 🎥Pre processing videos before uploading in the browser 😏","archived":false,"fork":false,"pushed_at":"2025-01-07T14:32:57.000Z","size":29179,"stargazers_count":2487,"open_issues_count":0,"forks_count":1584,"subscribers_count":30,"default_branch":"main","last_synced_at":"2025-04-05T15:00:40.769Z","etag":null,"topics":["demuxer","javascript","mp4","mp4box","muxer","video-processing","video-streaming","webcodecs","webm","webstream","webworker","workers"],"latest_commit_sha":null,"homepage":"https://bit.ly/semanajsexpert08","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ErickWendel.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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}},"created_at":"2023-10-16T18:52:12.000Z","updated_at":"2025-03-27T18:15:40.000Z","dependencies_parsed_at":"2025-01-24T10:10:25.725Z","dependency_job_id":null,"html_url":"https://github.com/ErickWendel/semana-javascript-expert08","commit_stats":null,"previous_names":["erickwendel/semana-javascript-expert08"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ErickWendel%2Fsemana-javascript-expert08","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ErickWendel%2Fsemana-javascript-expert08/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ErickWendel%2Fsemana-javascript-expert08/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ErickWendel%2Fsemana-javascript-expert08/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ErickWendel","download_url":"https://codeload.github.com/ErickWendel/semana-javascript-expert08/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248596515,"owners_count":21130715,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["demuxer","javascript","mp4","mp4box","muxer","video-processing","video-streaming","webcodecs","webm","webstream","webworker","workers"],"created_at":"2024-09-24T20:24:07.771Z","updated_at":"2025-04-12T16:31:30.730Z","avatar_url":"https://github.com/ErickWendel.png","language":"JavaScript","readme":"# JSExpertHub Pre-processing videos on browsers - Semana JS Expert 8.0\n\nSeja bem vindo(a) à oitava Semana Javascript Expert. Este é o código inicial para iniciar nossa jornada.\n\nMarque esse projeto com uma estrela 🌟 \n## Preview\n\u003cimg width=100% src=\"./initial-template/demo.gif\"\u003e\n\n## Pre-reqs\n\n- Este projeto foi criado usando Node.js v18.17.0\n- O ideal é que você use o projeto em ambiente Unix (Linux). Se você estiver no Windows, é recomendado que use o [Windows Subsystem Linux](https://www.omgubuntu.co.uk/how-to-install-wsl2-on-windows-10) pois nas aulas são mostrados comandos Linux que possam não existir no Windows.\n\n## Importante\n\n- Todo dia às 18hrs estou subindo o código das aulas do dia corrente aqui no repositório. Se você for iniciar o projeto, remova as pastas das aulas anteriores para iniciar do zero!\n\n## Running\n- Execute `npm ci` na pasta que contém o arquivo `package.json` para restaurar os pacotes\n- Execute `npm start` e em seguida vá para o seu navegador em [http://localhost:3000](http://localhost:3000) para visualizar a página acima\n\n## Checklist Features\n\n- Video Uploader\n  - [ ] - Deve entender videos em formato MP4 mesmo se não estiverem fragmentados\n  - [ ] - Deve processar itens em threads isoladas com Web Workers\n  - [ ] - Deve converter fragmentos de videos em formato `144p`\n  - [ ] - Deve renderizar frames em tempo real em elemento canvas\n  - [ ] - Deve gerar arquivos WebM a partir de fragmentos\n\n### Desafios\n- [ ] - Encodar em 360p e 720p\n- [ ] - Fazer encoding/decoding track de áudio\n- [ ] - Fazer também upload de track de áudio\n- [ ] - Concatenar o arquivo final no servidor em um arquivo só\n- [ ] - Corrigir problema do Webm de não mostrar a duração do video\n- [ ] - Corrigir a responsividade do site\n- [ ] - Tentar usar outros muxers\n  - https://github.com/Vanilagy/webm-muxer\n  - https://github.com/Vanilagy/mp4-muxer\n\n\n\n### Links mostrados nos aulas:\n- Reuni todos os links em [referências](./referencias.md)\n### Considerações\n- Tire suas dúvidas sobre os desafios em nossa comunidade, o objetivo é você aprender de forma divertida. Surgiu dúvidas? Pergunte por lá!\n\n- Ao completar qualquer um dos desafios, envie no canal **#desafios** da comunidade no **Discord**\n### FAQ\n- browser-sync está lançando erros no Windows e nunca inicializa:\n  - Solução: Trocar o browser-sync pelo http-server.\n    1. instale o **http-server**  com `npm i -D http-server`\n    2. no package.json apague todo o comando do `browser-sync` e substitua por `npx http-server .`\n    3. agora o projeto vai estar executando na :8080 então vá no navegador e tente acessar o http://localhost:8080/\n  A unica coisa, é que o projeto não vai reiniciar quando voce alterar algum código, vai precisar dar um F5 na página toda vez que alterar algo\n\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ferickwendel%2Fsemana-javascript-expert08","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ferickwendel%2Fsemana-javascript-expert08","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ferickwendel%2Fsemana-javascript-expert08/lists"}