An open API service indexing awesome lists of open source software.

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 😏

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