Gràcies a l’empenta i iniciativa d’aseques, us presentem la nova versió del programa per descarregar videos de tv3, la 0.73! Com sempre permet descarregar de manera fàcil els videos que tv3 posa a tv3 a la carta. En aquesta versió les novetats són.
- Afegit suport per mac osx (només sense interfície gràfica)
- Afegit un també un desinstal·lador (uninstall)
- Més informació de funcionament amb el paràmetre -v
Podeu descarregar l’última versió des de sourceforge directament en aquesta direcció
La pàgina amb la versió més recent del codi i més informació sobre el codi del projecte és a sourceforge, d’on us animem a participar-hi contribuint al seu desenvolupament i afegint-hi les funcionalitats que desitgeu.
I per descomptat, la captura de pantalla de rigor baixant un dels últims videos del Polònia.
Que el disfruteu!
18 comments
Skip to comment form
El sh em dóna aquest error:
install: 8: install: Syntax error: “(” unexpected
Pau.
Això és perquè les instruccions són d’abans del pas que va fer debian de bash a dash. S’ha d’actualitzar les instruccions. Simplement enlloc de fer:
sh install
Cal fer:
bash install
Gràcies, així ja funciona!
A la versió del repositori de control he pujat un canvi que evita aquest problema, a la pròxima versió ja no hauria de passar.
Quan l’he executat em deia que no trobava WGET. L’he buscat per internet i l’he trobat a la següent adreça:
http://www.merenbach.com/software/wget/
Funciona 🙂
Hola,
He intentat provar el programa en Mac OSX i he trobat dos errors:
1.- intenta copiar el executable a /usr/local/bin fitxer que no existeix, però es pot possar igualment que un linux a /usr/bin, això si executant com root per poder copiar.
2.- Respecte al ús de wget, aquest per defecte no està instalat a OSX però es pot fer servir curl, així si es substitueix les línies d’alguna manera similar a la següent funciona en MAC sense instalar res mes que el VLC.
eval wget -c -O “‘$DIRECTORI/$FITXER'” “‘$URL'”; –> eval curl “‘$URL'” -o “‘$DIRECTORI/$FITXER'” ;
I les linies vid* , on evidentment s’ha de canviar el format:
wget -q “http://www.tv3.cat/su/tvc/tvcConditionalAccess.jsp?ID=$vID&QUALITY=H&FORMAT=******” -O $TMP;
curl -s “http://www.tv3.cat/su/tvc/tvcConditionalAccess.jsp?ID=$vID&QUALITY=H&FORMAT=******” -o $TMP;
Salut.
Joan
Bones, he actualtizat la versió del codi amb un parell de millores que haurien de solucionar els problemes que comentava en Joan, de moment només està al sourceforge perquè s’ha d’acabar de provar en tots els casos, si voleu la trobareu allà.
Hola, crec que en el seu moment vaig descarregar la versió de linux i la vaig fer funcionar a mac, sols em faltava el wget i prou, però bé…
Per si hi ha algú interessat, aquests dies he estat fent uns scripts per scrappejar les pagines de series de super3 (tinc un peque que li encanten algunes series que no es poden trobar en DVD i menys en català)
Us poso un exemple, la serie Gasp! (la del peix pel meu petit) té la següent direcció:
http://www.super3.cat/psuper3/sp3Item.jsp?idint=4170&item=programa&seccio=serie
El número que ens interessa és 4170
El primer script ens passa el numero i títol de cada capítol a un fitxer en format
numero/titol
Filtrant alguns caràcters (sembla que Lion i Mountain lion tenen un liu impressionant amb la codificació de caràcters i el sed o tr no funcionen correctament)
perquè aquest ordre? perquè és amb el que apareix a la web quan es visualitza el capítol concret:
http://www.super3.cat/psuper3/sp3Item.jsp?item=video_mm&seccio=video&idint=/4247350/Actualitzacio-Son-Goku
i aixi és com ho feia jo manualment, hahaha
passem també un nom de fitxer a ón guardarà la llista amb els capítols (16) disponibles a cada pàgina.
Amb un altre script (per no fer-ho tot en un de sol) llegeix el fitxer resultant i va descarregant un per un els capítols.
Per últim , cada número de capítol és afegit a un fitxer per verificar si s’ha descarregat o no i si mai es duplica, no tenir que descarregar-lo.
Si a algú li interessa, penjo els 2 scripts o enganxo aquí el codi.
Hola kamencesc
t’agrairia que pengessis els scripts 🙂
Aqui deixo els scripts, son 3 (perque es van fer així i es va quedar així xD)
scrap_new: simplement és per fer un batch de les series, el que fa es cridar scrap i tv3_batch_new.
scrap: simplement extreu els capitols de la web que s’indica pel número, tal com explico en la meva entrada anterior i seguit d’un nom de fitxer, a ón anirà desant tots els codis de capítol.
tv3_batch_new: simplement va recorrent el fitxer creat amb scrap per anar descarregant cada fitxer, un finalitzat un capítol (SURTI O NO SURTI ERROR, això no ho he solucionat) es desa el número de capítol en un fitxer que es comproba cada cop si ja existeix el número, així evitem duplicitats, tot i que capítols reemesos un temps després poden tenir un número diferent. ¡¡¡ ULL QUE EL FITXER QUE CRIDA ES DIU tv3new QUE JO ELS TINC RENOMBRATS JA QUE FAIG SERVIR TAMBÉ UNA VERSIO ANTERIOR OIGA !!!
https://www.dropbox.com/sh/ylt0muvki534idh/FZhkPD5E-V
Fa un parell de dies que no em funciona. Em dona això:
joan@joan-laptop:~$ tv3 4721653
Detectant el format del vídeo…
Format MP4, usar opció -3
Mètode per baixar vídeos amb el nou format MP4
FLVStreamer v2.1c1
(c) 2010 Andrej Stepanchuk, Howard Chu, The Flvstreamer Team; license: GPL
Connecting …
ERROR: Closing connection: NetStream.Play.StreamNotFound
FLVStreamer v2.1c1
(c) 2010 Andrej Stepanchuk, Howard Chu, The Flvstreamer Team; license: GPL
FLVStreamer v2.1c1
(c) 2010 Andrej Stepanchuk, Howard Chu, The Flvstreamer Team; license: GPL
FLVStreamer v2.1c1
(c) 2010 Andrej Stepanchuk, Howard Chu, The Flvstreamer Team; license: GPL
FLVStreamer v2.1c1
(c) 2010 Andrej Stepanchuk, Howard Chu, The Flvstreamer Team; license: GPL
Després de 5 reintents, no s’ha pogut acabar de baixar el vídeo. El teniu parcialment a: /home/joan/tv3-4721653.mp4
———
El fitxer parcial té 0 bytes.
Perdoneu. No m’havia adonat que era la pàgina del mac.
Hola, he solucionat un problema que donava amb uns quants vídeos, el problema ja m’el vaig trobar quan amb els scripts que he pujat mes amunt per posar els títols automàticament als capítols del super3.
El problema vé donat amb el grep en fitxers que no estan correctament en format UTF8, per sol·lucionar això, he afegit aquestes línies abans de les comprovacions amb egrep/grep
cp $TMP /tmp/v2
iconv -f ISO-8859-15 -t UTF8 /tmp/v2 > $TMP
rm /tmp/v2
Això ens converteix el fitxer temporal a format UTF8 (copiant-lo i posteriorment eliminant el temporal) i el grep el pot processar sense problemes, això em donava problemes per exemple “Fotografies – Fotocol·leccionisme” no el podia descarregar, o un capítol de Sailormoon “For?a i bellesa per noies” que al convertir a UTF8 ens apareix “Força i bellesa per noies”, per culpa del ? l’egrep “egrep -o ‘:g/.*?’ $TMP | tail -c+2 | rev | tail -c+2 | rev” ens dona un valor invàlid.
Aquesta línia es tindria que posar després dels eval que descarreguen l’XML com:
eval “$CMD_DESCQ $TMP “http://www.tv3.cat/su/tvc/tvcConditionalAccess.jsp?ID=$vID&QUALITY=H&FORMAT=MP4GES””;
Espero que us pugui servir per millorar la pròxima versió.
us deixo un link am b una versió actualitzada per mi, sembla que fa uns dies han cambiat alguna cosa per els servidors i l’script ja s’ho mira i en principi compatible tant amb wget i curl
https://www.dropbox.com/s/1uk4g5n099fh30z/tv3new
també hi ha un parell de funcions que segons la sèrie ens retorna el nom i el titol del capitol, però en cap moment en fa ús, per si interessa…
salutacions!
Bones!
Hi ha videos que tenen la opcio de posar subtitols. Estic intentant de desxifrar del codi on caram son. Algu ha mirat de fer aixo abans i de baixar-se e lfitxer de subtitols?
No aconsegueixo descarregar res.
Em dona un error 404 (tant la versió original del post com la versó modificada d’en kamencesc):
tv3new http://www.tv3.cat/3alacarta/#/videos/5245574
wget -q -O /tmp/v “http://www.tv3.cat/su/tvc/tvcConditionalAccess.jsp?ID=5245574&QUALITY=H&FORMAT=MP4GES”
Detectat format MP4GES
http://mp4-medium-dwn.media.tv3.cat/g/tvcatalunya/1/5/1411009040851.mp4
–00:51:41– http://mp4-medium-dwn.media.tv3.cat/g/tvcatalunya/1/5/1411009040851.mp4
=> `/Users/alex/Downloads/tv3/gnulinuxcattv3-code/tv3-5245574.mp4′
Resolving mp4-medium-dwn.media.tv3.cat… 8.12.195.126
Connecting to mp4-medium-dwn.media.tv3.cat[8.12.195.126]:80… connected.
HTTP request sent, awaiting response… 404 Not Found
00:51:41 ERROR 404: Not Found.
El vídeo s’ha descarregat a /Users/alex/Downloads/tv3/gnulinuxcattv3-code/tv3-5245574.mp4
Tampoc aconsegueixo descarregar res amb la eina de http://blog.tvalacarta.info/herramientas/descargar-de-tv3/
I això que he instal·lat el wget i el rtmpdump.
Actualització:
He provat amb el vídeo de Polonia que apareix a la captura de pantalla i si que se’m descarrega. Però el video que indico jo no puc. Es un vídeo de Super 3. És possible que només sigui compatible amb segons quins videos?
alex, des de fa uns mesos TV3 utilitza un nou servidor per Super3 en alguns videos nous (o això crec) la direcció canvia i l’script no ho detecta, en algun altre dels fils d’aquets blog vaig posar la descarrega a la versió modificada per mi, en tot cas la torno a deixar:
https://www.dropbox.com/s/1uk4g5n099fh30z/tv3new?dl=0
entre alguna altre cosa modificada que al final no l’he implementat (obtenir nom de la serie i del capitol), el que es modifica és a vid_mp4ges que fa una comprobació en l’adreça tipus “http://mp4-medium-dwn.media.tv3.cat/” i si retorna un 404 reintenta amb “http://mp4-medium-dwn-es.media.tv3.cat/”
--------
local BASE="http://mp4-medium-dwn.media.tv3.cat/";
# http://mp4-medium-dwn.media.tv3.cat/
# URL base on es guarden els fitxers; veure qualsevol xml de podcast:
# http://www.tv3.cat/3alacarta/podcast/xml/apm.xml
cp $TMP /tmp/v2
iconv -f ISO-8859-15 -t UTF8 /tmp/v2 > $TMP
rm /tmp/v2
URL=$(echo "$BASE$(egrep -o ':g/.*?' $TMP | tail -c+2 | rev | tail -c+2 | rev)");
echo $URL;
GET_STATUS="$CMD_404_I "$URL" $CMD_404_F";
verb "STATUS $GET_STATUS"
HTML_STATUS=$(eval $GET_STATUS)
verb "Detectat STATUS: $HTML_STATUS";
if [[ "$HTML_STATUS" == "404" ]]; then
echo "Error URL probant un URL BASE secundària";
local BASE="http://mp4-medium-dwn-es.media.tv3.cat/";
URL=$(echo "$BASE$(egrep -o ':g/.*?' $TMP | tail -c+2 | rev | tail -c+2 | rev)");
echo $URL;
fi
---------