Re: Obtener la Lista de Canales y Programación de Movistar T
Hola
AlphaCentaury dijo:
... En cuanto a por qué vmjudiaz no quiere compartir ...
Ni entro ni salgo, cada uno busca las excusas que quiere para hacer lo que quiere. En ningún momento le he criticado de mala manera, la crítica siempre es buena si se hace con educación y criterio. Y como dije antes, está en su derecho, igual que cualquiera que tome esa opción, pero yo no lo entenderé.
AlphaCentaury dijo:
... mantener la cookie de sesión ...
Hombre, no sé, mi nivel de conocimiento en la estructura que usa telefónica para servir esta información es nula, pero que se vea saturada sólo por no mantener la cookie me resulta muy raro. Otra cosa bien distinta es el aumento de peticiones y consumo de ancho de banda de peticiones de los automatismos que se puedan crear, manteniendo cookie o no y los manuales desde el deco.
No me extrañaría que aunque nosotros sólo vemos una ip ellos tienen distribuidores, balanceadores, granjas, etc...
AlphaCentaury dijo:
... yo comparto las reticencias a la hora de compartir los detalles ... para evitar que se vuelvan a escribir scripts o programas "mal" programados ...
Precisamente es todo lo contrario, para que las personas que han creado esos guiones programen mejor necesitan leer mucho más código, y si les interesa para algo, mucho mejor. Es básico.
AlphaCentaury dijo:
... que fuercen a movistar a buscar un formato más complejo y más difícil de desentrañar ...
Éste es el problema, ya que he conseguido abrir lo cerrado, que lo que yo he abierto no se vuelva a cerrar. Esto parte de una premisa falsa, que telefónica no evolucione su sistema. Primero, creo que telefónica
vendió esto, imagenio, a alguien, y éste no sólo se lo vende a telefónica sino a otros muchos, esto implica que otros mercados también pedirán evoluciones y seguramente se apliquen aquí, en telefónica u otros operadores que se lo compren.
AlphaCentaury dijo:
... espero liberar en unas dos/tres semanas la beta 1 de mi programa de código abierto IPTViewr que incorporará el descodificador completo de la EPG, pero del cual no haré público el código ...
Ante todo coherencia.
Bueno, a lo que me interesa.
AlphaCentaury dijo:
... pero estás partiendo de un concepto equivocado, y es que la información siempre sigue la misma estructura. De ahí lo de F1, que "rompe" la aparente estructura fija de la información ...
No sé a qué te refieres, no entiendo lo que dices. De todas formas lo deja bien claro
vmjuidiaz:
vmjuidiaz dijo:
... faltan extracciones de datos y algunos de las soluciones es efectiva (se llega al resultado) ...
se llega al resultado.
Para obtener resultados, por gracia o por desgracia, no hace falta estar en posesión del conocimiento total, e incluso de la forma más adecuada u óptima de llegar al resultado, sólo llegar.
Un simple ejemplo, tomamos la epg de m.series de mañana 15:
Código:
$ ./prueba_epg.pl EPG/0011_2017-01-15_M._Series_HD.bin | head -31
offset size field : value
0 1 ¿? : #f4#
1 2 Segment size : 4274 #10b2#
3 2 serviceId : 0x0af4 #0af4#
5 1 version : 0 #00#
6 1 longitud : 16 #10#
7 16 serviceidref : 2804.imagenio.es #323830342e696d6167656e696f2e6573#
----------------------------------------------------------------------
23 4 productId : 43637410 #0299daa2#
27 4 fecha : 1484438580 Sun Jan 15 01:03:00 2017 #587abc34#
31 2 duración : 1800 Sun Jan 15 01:33:00 2017 #0708#
33 21 ¿? : #0101005b00005400020074550001074d0029000000#
54 1 longitud : 37 #25#
55 37 titulo : Wtyypgf5A'5Pe;5"585Azqz5py5x`{qz5ftwp #577479797067663541273550653b3522353835417a717a3570793578607b717a3566747770#
: Ballers T2 Ep. 7 - Todo el mundo sabe
92 1 ¿? : #f1#
93 4 ¿? : #0011028b#
97 2 serie ID : 27109 #69e5#
99 1 ¿? : #00#
100 1 episodio : 7 #07#
101 2 ¿? : #07e0#
103 1 temporada : 2 #02#
104 1 longitud : 7 #07#
105 7 serie : Wtyypgf #57747979706766#
: Ballers
112 1 ¿? : #f3#
113 2 ¿? : #000f#
115 1 longitud : 14 #0e#
116 14 NetworkRecordOperator : default|STOVER #64656661756c747c53544f564552#
----------------------------------------------------------------------
con esto tengo información más que de sobra para saber qué se emite y cuando, poder programar una grabación del programa o de la serie, y además si tengo dudas o quiero completar la información consultar a telefónica, sin necesidad de terminar la tabla de cifrado, aunque sea sencillo terminarla, puesto que aquí tengo todo:
Código:
$ ./prueba_epg_from_json.sh 0af4 43637410
{"resultCode":0,
"resultText":"Operation successful",
"resultData":{"isPromotional":0,
"productID":43637410,
"startOver":1,
"rating":0,
"episode":7,
"expDate":1485125999000,
"duration":1800,
"cover":"4363/43637410.jpg",
"productionDate":2015,
"wishListEnabled":1,
"genre":"Comedia",
"season":2,
"theme":"Series",
"beginTime":1484438580000,
"productType":24,
"recordingAllowed":1,
"seriesName":"Ballers",
"mainActors":["Troy Garity",
" Rob Corddry",
" Dwayne Johnson",
" Omar Benson Miller"],
"episodeName":"T2 Ep7",
"themeID":112,
"ageRatingID":7,
"serviceUID":2804,
"opvr":1,
"countries":["Estados Unidos"],
"synopsis":"Spencer hace malabares ...
"seriesID":42691045,
"originalTitle":"Everybody Knows",
"hasDolby":0,
"name":"Ballers T2 Ep. 7 - Todo el mundo sabe",
"producer":"Mark Wahlberg",
"channelName":"M. Series",
"endTime":1484440380000,
"serviceID":11},
"hashCode":"ccfe5483d3d631712976234e27257d48"}
Y ya tengo más ;-D. Es más, qué buena forma de terminar de abrir lo que queda.
Otro ejemplo que no es serie:
Código:
./prueba_epg.pl EPG/0031_2017-01-15_M._Estrenos_HD.bin | head -21
offset size field : value
0 1 ¿? : #fc#
1 2 Segment size : 1491 #05d3#
3 2 serviceId : 0x0afc #0afc#
5 1 version : 0 #00#
6 1 longitud : 16 #10#
7 16 serviceidref : 2812.imagenio.es #323831322e696d6167656e696f2e6573#
----------------------------------------------------------------------
23 4 productId : 43637331 #0299da53#
27 4 fecha : 1484441700 Sun Jan 15 01:55:00 2017 #587ac864#
31 2 duración : 6000 Sun Jan 15 03:35:00 2017 #1770#
33 21 ¿? : #0101003400005400020018550001034d0016000000#
54 1 longitud : 18 #12#
55 18 titulo : Fpvgpazf5qp5r`pggt #4670766770617a6635717035726070676774#
: Secretos de guerra
73 1 ¿? : #f3#
74 2 ¿? : #000f#
76 1 longitud : 14 #0e#
77 14 NetworkRecordOperator : default|STOVER #64656661756c747c53544f564552#
----------------------------------------------------------------------
Por cierto, además de consultar con cierta cadencia mantengo las galletitas:
Código:
$ cat prueba_epg_from_json.sh
#!/bin/bash
CHID=$1
PID=$2
BASE="http://www-60.svc.imagenio.telefonica.net:2001/appserver/mvtv.do"
EPGINFO="$BASE?action=epgInfo&extra=1&channelID=%s&productID=%s"
COOKIE="mvtv_cookie.txt"
OPTS="--cookie $COOKIE --cookie-jar $COOKIE"
URL=`printf "$EPGINFO" $CHID $PID`
curl $OPTS "$URL" \
2>/dev/null \
| sed -e 's/, */,\n/g'
echo ""
Espero que sea de utilidad