https://github.com/erickwendel/semana-javascript-expert08
JS Expert Week 8.0 - đ„Pre processing videos before uploading in the browser đ
https://github.com/erickwendel/semana-javascript-expert08
demuxer javascript mp4 mp4box muxer video-processing video-streaming webcodecs webm webstream webworker workers
Last synced: 5 months ago
JSON representation
JS Expert Week 8.0 - đ„Pre processing videos before uploading in the browser đ
- Host: GitHub
- URL: https://github.com/erickwendel/semana-javascript-expert08
- Owner: ErickWendel
- Created: 2023-10-16T18:52:12.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2025-01-07T14:32:57.000Z (9 months ago)
- Last Synced: 2025-04-05T15:00:40.769Z (6 months ago)
- Topics: demuxer, javascript, mp4, mp4box, muxer, video-processing, video-streaming, webcodecs, webm, webstream, webworker, workers
- Language: JavaScript
- Homepage: https://bit.ly/semanajsexpert08
- Size: 27.8 MB
- Stars: 2,487
- Watchers: 30
- Forks: 1,584
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# JSExpertHub Pre-processing videos on browsers - Semana JS Expert 8.0
Seja bem vindo(a) Ă oitava Semana Javascript Expert. Este Ă© o cĂłdigo inicial para iniciar nossa jornada.
Marque esse projeto com uma estrela đ
## Preview## Pre-reqs
- Este projeto foi criado usando Node.js v18.17.0
- 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.## Importante
- 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!
## Running
- Execute `npm ci` na pasta que contém o arquivo `package.json` para restaurar os pacotes
- Execute `npm start` e em seguida vĂĄ para o seu navegador em [http://localhost:3000](http://localhost:3000) para visualizar a pĂĄgina acima## Checklist Features
- Video Uploader
- [ ] - Deve entender videos em formato MP4 mesmo se nĂŁo estiverem fragmentados
- [ ] - Deve processar itens em threads isoladas com Web Workers
- [ ] - Deve converter fragmentos de videos em formato `144p`
- [ ] - Deve renderizar frames em tempo real em elemento canvas
- [ ] - Deve gerar arquivos WebM a partir de fragmentos### Desafios
- [ ] - Encodar em 360p e 720p
- [ ] - Fazer encoding/decoding track de ĂĄudio
- [ ] - Fazer também upload de track de åudio
- [ ] - Concatenar o arquivo final no servidor em um arquivo sĂł
- [ ] - Corrigir problema do Webm de não mostrar a duração do video
- [ ] - Corrigir a responsividade do site
- [ ] - Tentar usar outros muxers
- https://github.com/Vanilagy/webm-muxer
- https://github.com/Vanilagy/mp4-muxer### Links mostrados nos aulas:
- Reuni todos os links em [referĂȘncias](./referencias.md)
### ConsideraçÔes
- Tire suas dĂșvidas sobre os desafios em nossa comunidade, o objetivo Ă© vocĂȘ aprender de forma divertida. Surgiu dĂșvidas? Pergunte por lĂĄ!- Ao completar qualquer um dos desafios, envie no canal **#desafios** da comunidade no **Discord**
### FAQ
- browser-sync estå lançando erros no Windows e nunca inicializa:
- Solução: Trocar o browser-sync pelo http-server.
1. instale o **http-server** com `npm i -D http-server`
2. no package.json apague todo o comando do `browser-sync` e substitua por `npx http-server .`
3. agora o projeto vai estar executando na :8080 entĂŁo vĂĄ no navegador e tente acessar o http://localhost:8080/
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