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