Am tot cautat ceva de genul dar nu am gasit exact ce cautam si ar ajuta multi.
Cine se pricepe si stiu ca sunt cativa pe aici, sa faca un mic script .sh pentru linux cu datele de mai jos. Daca e posibil si pentru windows ca sunt destui care folosesc ffmpeg si pe acesta.
1. am doua foldere
2. unul este de filme care N filme in format mkv sau mp4
3. al doilea este de subtitrare unde include toate subtitrarile de la filme si care au acelasi nume ca filmul
Ce trebuie sa faca scriptul?
La rulare sa faca convert sau copy + adaugare subtitrare la toate filmele din folderul Filme.
1. verifica folderul filme pentru a vedea cate sunt
2. verifica folderul subtitrare pentru a vedea cate filme au sub si daca unul nu are, este scos din lista pentru convert
3. daca filmul este in format mp4, atunci se va rula cu comanda copy pentru ca nu este nevoie de conversie + arsa subtitrare pe film
4. daca filmul este in format mkv sau alt format, mai putin mp4 se executa convert fast fara a se modifica rezolutia sau alte detalii din video
5. cand termina de convert, muta filmul cu sub arsa in folderul x
6. daca un film nu are sub adaugat in folderul subtitrare sa nu fie procesat
7. la alegere se poate adauga un folder sau regula pentru logo pe film/fisier video. Asta fie citeste un folder /logo unde este fisierul logo.png sau cauta in folderul filme fisierul logo.png si-l arde pe film.
Sursa adica filmele din folderul Filme sa ramana si sa nu fie sterese dupa procesare.
La rula exista doua solutii:
1. salvare si rulare fisierul convert.sh de oriude. Asta inseama ca pot edita fisierul convert.sh unde pun calea la fisiere si care vor fi citite
2. salvare si rulare fisier in folderul unde am filmele. Asta inseamna ca fisierul va citi automat folderul in care sunt si va rula comanda
Aceasta este comanda ffmpeg care o folosesc la conversie
La aceasta trebuie adaugat comanda copy daca formatul la sursa este mp4 si comanda pentru a arde subtitrare pe film.
La threads daca e posibil ca scriptul sa vada automat ce resurse are serverul si sa aloce cate mai multe threads ca procesul sa se termine cat mai repede. Sau se mai poate face prin metoda asta.
1. ./convert.sh --f adica se face fast si aloca maxim de threads
2. ./convert.sh - se face slow, normal pentru a nu ucide serverul.
Ar ajuta multa lume acest script.
Multumesc.
Cu un astfel de fiser ai putea face automat 5000 de filme pe un server fara sa stai langa el, un lucru foarte bun.
Cine se pricepe si stiu ca sunt cativa pe aici, sa faca un mic script .sh pentru linux cu datele de mai jos. Daca e posibil si pentru windows ca sunt destui care folosesc ffmpeg si pe acesta.
1. am doua foldere
2. unul este de filme care N filme in format mkv sau mp4
3. al doilea este de subtitrare unde include toate subtitrarile de la filme si care au acelasi nume ca filmul
Ce trebuie sa faca scriptul?
La rulare sa faca convert sau copy + adaugare subtitrare la toate filmele din folderul Filme.
1. verifica folderul filme pentru a vedea cate sunt
2. verifica folderul subtitrare pentru a vedea cate filme au sub si daca unul nu are, este scos din lista pentru convert
3. daca filmul este in format mp4, atunci se va rula cu comanda copy pentru ca nu este nevoie de conversie + arsa subtitrare pe film
4. daca filmul este in format mkv sau alt format, mai putin mp4 se executa convert fast fara a se modifica rezolutia sau alte detalii din video
5. cand termina de convert, muta filmul cu sub arsa in folderul x
6. daca un film nu are sub adaugat in folderul subtitrare sa nu fie procesat
7. la alegere se poate adauga un folder sau regula pentru logo pe film/fisier video. Asta fie citeste un folder /logo unde este fisierul logo.png sau cauta in folderul filme fisierul logo.png si-l arde pe film.
Sursa adica filmele din folderul Filme sa ramana si sa nu fie sterese dupa procesare.
La rula exista doua solutii:
1. salvare si rulare fisierul convert.sh de oriude. Asta inseama ca pot edita fisierul convert.sh unde pun calea la fisiere si care vor fi citite
2. salvare si rulare fisier in folderul unde am filmele. Asta inseamna ca fisierul va citi automat folderul in care sunt si va rula comanda
Aceasta este comanda ffmpeg care o folosesc la conversie
Cod:
-vcodec libx264 -movflags +faststart -threads 0 -r 25 -g 50 -crf 28 -me_method hex -trellis 0 -bf 8 -acodec aac -strict -2 -ar 44100 -ab 128k -f mp4
La aceasta trebuie adaugat comanda copy daca formatul la sursa este mp4 si comanda pentru a arde subtitrare pe film.
La threads daca e posibil ca scriptul sa vada automat ce resurse are serverul si sa aloce cate mai multe threads ca procesul sa se termine cat mai repede. Sau se mai poate face prin metoda asta.
1. ./convert.sh --f adica se face fast si aloca maxim de threads
2. ./convert.sh - se face slow, normal pentru a nu ucide serverul.
Ar ajuta multa lume acest script.
Multumesc.
Cu un astfel de fiser ai putea face automat 5000 de filme pe un server fara sa stai langa el, un lucru foarte bun.