Tallant videos mitjançant Python, yt-dlp i videogrep per a trobar cadenes de text concretes

yt-dlp i videogrep per a descarregar i tallar videos

En aquest article explique com podem tallar al vol videos de Youtube on agafarem paraules o frases concretes dels videos que volem gràcies a videogrep, una utilitat desenvolupada amb Python molt espectacular.

Feia temps que pensava si aquesta tecnologia existiria i possiblement la farien servir les productores de televisió i ràdio, però era algo que tenia en la meua llista de tasques a investigar i res més. Però resulta que sí existeix i que és més senzill d'usar del que sembla, per tant és una ferramenta molt potent. Et sona el programa APM? de TV3, veritat? doncs aquesta ferramenta els aniria molt bé per a trobar expressions concretes en videos de gent real i després anar ficant els clips de vídeo.

Nomès caldrà tenir instal·lat Python, yt-dlp i videogrep. I podrem crear un video (per exemple podria ser una xarrada en anglès de Tim Berners-Lee o una entrevista en valencià al President de la Generalitat Valenciana, Ximo Puig, per exemple, i descarregar el video i la transcripció automàtica que fa Youtube. I una vegada tenim el video i la transcripció, llançarem videogrep buscan una paraula, vàries paraules o una frase concreta, i obtindrem un video final resultant on la persona que parla acabarà parlant eixa paraula/paraules, sempre, clar, que existisquen en la transcripció.

Per exemple, i ja per donar un exemple més concret, descarregarem un video de Ximo Puig on va parlar de les festes de la Magdalena de Castelló, i tallarem el video sempre que diga "festes de la Magdalena", configurant un espai de 5 segons cada vegada que mencione aquestes quatre paraules. Total, que si al video ho diu dues vegades, obtindrem un video aproximadament de 10 segons on apareixerà Ximo Puig dient eixa frase dues vegades.

Xulo, veritat? Doncs és més senzill del que sembla.

A més a més, també podem buscar la transcripció automàtica en altres llengües, ja que Youtube fa una traducció moltes vegades. I a més, si un video no tinguera transcripció automàtica, la podem crear al vol amb el programari vosk, però açò de moment no ho explicaré en aquest article per a no fer-ho masssa llarg.

INSTAL·LEM LES FERRAMENTES

Començarem instal·lant Python 3 amb:

sudo apt-get install python3Instal·lem

Instal·larem yt-dlp amb:

pip3 install yt-dlp

I instal·larem també videogrep, encara que ho farem servir més tard, amb:

pip3 install videogrep

OBTENCIÓ DE VIDEOS DE YOUTUBE

Descarregarem un video amb:

yt-dlp https://www.youtube.com/watch?v=lqbJOnqIueg

Podem també descarregar tots els videos d'una playlist o d'un canal (açò tardarà un temps, però els anirà descarregant un a un):

yt-dlp "https://www.youtube.com/user/prensadipcas/"

O així descarregarem els videos d'una cerca (per exemple: Dia de les paelles a Benicàssim)

yt-dlp "https://www.youtube.com/results?search_query=Dia+de+les+paelles+a+Benic%C3%A0ssim"

Podem descarregar un video i canviar-li el nom de la següent manera:

yt-dlp "https://www.youtube.com/watch?v=lqbJOnqIueg" -o el_meu_video.mp4

Amb el paràmetre --list-subs podem veure en quins idiomes tenim la transcripció automàtica disponible:

yt-dlp "https://www.youtube.com/watch?v=lqbJOnqIueg" --list-subs

I ara si volem descarregar la transcripció automàtica en castellà ('es', en el llistat anterior) farem:

yt-dlp https://www.youtube.com/watch?v=lqbJOnqIueg --sub-langs 'es.*' --write-auto-subs

GENERACIÓ DE VIDEOS

Ara generarem un video amb la paraula "Castelló" amb:

videogrep --input *webm --search "castello" --output VIDEO_FINAL.mp4

Si volem deixar un poc d'espai (padding) entre les captures tallades del video, afegirem --padding i el número de segons:

videogrep --input *webm --search "castello" --padding 2 --output VIDEO_FINAL.mp4

Si volem capturar nomès eixa paraula i tallar automàticament, afegirem el paràmetre --search-type fragment així:

videogrep --input *webm --search "castello" --search-type fragment --output VIDEO_FINAL.mp4

També podem saber les paraules més utilitzades en el video amb:

videogrep --input meta.mp4 --ngrams 1

O podem saber les dos paraules juntes més utilitzades:

videogrep --input meta.mp4 --ngrams 2

Per últim, abans d'acabar l'article, per a no fer-ho massa llarg, que sàpigues que videogrep pot també treballar a molts videos a l'hora. Per exemple, podem descarregar tots els videos d'una cerca o tots els videos d'un compte, i després cercar la paraula "Benicàssim" així:

videogrep --input *.mp4 --search "Benicàssim"

CONFUCI: “EL QUE SENTO, HO OBLIDO; EL QUE VEIG, HO RECORDO; EL QUE FAIG, HO APRENC”

Anem a uns exemples que m'he fet per a provar aquest progrmari. M'he descarregat aquest video de Youtube on hi ha una entrevista de Joan Monleón a TV3 de l'any 1988, i m'he creat diversos videos on Joan Monleón pronuncia certes paraules. Aquest és el video original:

Ací un video on Joan Monleón diu la paraula "també" creat amb videogrep --input *webm --search "també" --output tot.mp4

Ací un video on Joan Monleón diu la paraula "identitat" creat amb videogrep --input *webm --search "identitat" --output tot.mp4

Ací un video on Joan Monleón diu la paraula "també, coses i València" creat amb videogrep --input *webm --search "coses|també|valència" --output tot.mp4

MÉS OPCIONS ALS TUTORIALS OFICIALS

Tens el tutorial a https://lav.io/notes/videogrep-tutorial/ editat per l'autor del codi de videogrep, Sam Lavigne, que l'ha publicat al seu blog personal.

Tens també un tutorial al repositori GitHub de videogrep https://github.com/antiboredom/videogrep

Doncs bé això és tot, espere que trobes útil aquest article i que et motive a compartir els teus trucs, els teus coneixements i els teus experiments amb el Programari Lliure. Pensa-ho, va, que la Comunitat del Programari Lliure va creixent gràcies a la documentació, el disseny, la formació o la programació, sigues part de la Comunitat :-)

La cultura i la lliure circulació de les idees és l'arma més efectiva contra les dictadures del pensament i contra la ignorància.

Utilitats

NAVEGACIÓ SENSE RATOLÍ

- Tab següent enllaç.
- Shift+Tab anterior enllaç.
- Enter activa l'enllaç.
- Alt+esquerra anar arrere.

CONTRAST DE COLORS

Accessibilitat - Color Negre
Accessibilitat - Color Groc
Accessibilitat - Color Verd

Accessibilitat - Color Blau
Accessibilitat - Color Crema
Accessibilitat - Color Blanc

 

PORTADES ALTERNATIVES