-
-
Notifications
You must be signed in to change notification settings - Fork 16
Formato del M3U
Este encabezado es obligatorio que sea la primera línea de una lista M3U.
Puede contener una, todas o ninguno de los siguientes tags en la misma línea separados por un espacio.
Este tag es usado para listar las URL de los EPG que van a ser usados para mostrar la programación en la lista de canales.
Puede ser una o múltiples URL separas por una coma.
La URL puede devolver un texto XMLTV o un texto comprimido con gzip de un XMLTV.
Ejemplo: url-tvg="https://domain1.com/epg1.xml,https://domain2.com/epg2.xml.gz"
Esta opción sobreescribe el búfer por defecto de todos los canales de esta lista, aun el buffer configurado dentro del manifiesto del canal.
Es útil para arreglar canales que hacen búfer constante o nunca cargan, o para disminuirlo para que canales carguen más rápido cuando el búfer por defecto es muy grande.
Esta opción también puede ser configurada por canal.
Ejemplo: player-buffer="30"
#EXTM3U player-buffer="20" url-tvg="https://domain1.com/epg1.xml,https://domain2.com/epg2.xml.gz"
#KODIPROP:inputstream.adaptive.license_type=clearkey
#KODIPROP:inputstream.adaptive.license_key=0123456789abcdef0123456789abcdef:fedcba9876543210fedcba9876543210
#EXTINF:-1 tvg-logo="https://dominio1.com/logos/canal1.png" group-title="Noticias",Canal 1
https://dominio1.com/live/canal1/manifest.mpd
#KODIPROP:inputstream.adaptive.license_type=com.widevine.alpha
#KODIPROP:inputstream.adaptive.license_key=https://miserver.com/widevine
#EXTINF:-1 tvg-logo="https://dominio1.com/logos/canal1.png" group-title="Noticias",Canal 1
https://dominio1.com/live/canal1/manifest.mpd
#KODIPROP:inputstream.adaptive.license_type=com.widevine.alpha
#KODIPROP:inputstream.adaptive.license_key=https://miserver.com/widevine
#KODIPROP:inputstream.adaptive.server_certificate=https://miserver.com/widevine/certificate
#EXTINF:-1 tvg-logo="https://dominio1.com/logos/canal1.png" group-title="Noticias",Canal 1
https://dominio1.com/live/canal1/manifest.mpd
#KODIPROP:inputstream.adaptive.stream_headers=origin=https://videoplayer.com
#KODIPROP:inputstream.adaptive.stream_headers=referer=https://videoplayer.com/
#KODIPROP:inputstream.adaptive.stream_headers=user-agent=Mi UserAgent Personalizado/137.0
#EXTINF:-1 tvg-logo="https://dominio1.com/logos/canal1.png" group-title="Noticias",Canal 1
https://dominio1.com/live/canal1/manifest.mpd
#EXTVLCOPT:http-origin=https://videoplayer.com
#EXTVLCOPT:http-referrer=https://videoplayer.com/
#EXTINF:-1 tvg-logo="https://dominio1.com/logos/canal1.png" group-title="Noticias",Canal 1
https://dominio1.com/live/canal1/manifest.mpd
#KODIPROP:inputstream.adaptive.file_type=mpd
#EXTINF:-1 tvg-logo="https://dominio1.com/logos/canal1.png" group-title="Noticias",Canal 1
https://dominio1.com/live/canal1.php
#KODIPROP:inputstream.adaptive.stream_headers=origin=https://videoplayer.com
#KODIPROP:inputstream.adaptive.stream_headers=referer=https://videoplayer.com/
#KODIPROP:inputstream.adaptive.stream_headers=user-agent=Mi UserAgent Personalizado/137.0
#EXTVLCOPT:http-origin=https://videoplayer.com [OPCIONAL]
#EXTVLCOPT:http-referrer=https://videoplayer.com/ [OPCIONAL]
#EXTINF:-1 player-buffer="20" tvg-id="Canal1.ar" tvg-logo="https://dominio1.com/logos/canal1.png" group-title="Noticias",Canal 1
https://dominio1.com/live/canal1/manifest.mpd
Cuando el enlace del video no termina en un formato reconocido, como por ejemplo .php
o carece de extensión, es necesario asignar el formato correcto del contenido.
Valores admitidos: mpd
, m3u8
Utilizado para listar los headers que uno desea modificar. Se puede usar múltiples veces para todos los headers necesarios.
Formato {header}={valor}
Valores admitidos: clearkey
, org.w3.clearkey
, widevine
y com.widevine.alpha
Formatos admitidos:
0123456789abcdef0123456789abcdef:fedcba9876543210fedcba9876543210
"0123456789abcdef0123456789abcdef":"fedcba9876543210fedcba9876543210"
{"0123456789abcdef0123456789abcdef":"fedcba9876543210fedcba9876543210"}
{"keys":[{"kty":"oct","k":"/ty6mHZUMhD+3LqYdlQyEA","kid":"ASNFZ4mrze8BI0VniavN7w"}],"type":"temporary"}
También se soporta keys múltiples:
{
"0123456789abcdef0123456789abcdef":"fedcba9876543210fedcba9876543210",
"fedcba9876543210fedcba9876543210":"0123456789abcdef0123456789abcdef"
}
{"keys":[
{"kty":"oct","k":"/ty6mHZUMhD+3LqYdlQyEA","kid":"ASNFZ4mrze8BI0VniavN7w"},
{"kty":"oct","k":"ASNFZ4mrze8BI0VniavN7w","kid":"/ty6mHZUMhD+3LqYdlQyEA"}
],"type":"temporary"}
URL que devuelve cualquiera de los formatos anteriores:
http://servidor-de-clearkey.com/canal1.php
Si la url no devuelve un formato válido, entonces se realiza un POST
a la misma url con datos de key ids en formato de petición de acuerdo especificación EME:
{"kids":[
"ASNFZ4mrze8BI0VniavN7w",
"/ty6mHZUMhD+3LqYdlQyEA"
],"type":"temporary"}
Que necesitan responder con un formato de licencia de acuerdo especificación EME válido:
{"keys":[
{"kty":"oct","k":"/ty6mHZUMhD+3LqYdlQyEA","kid":"ASNFZ4mrze8BI0VniavN7w"},
{"kty":"oct","k":"ASNFZ4mrze8BI0VniavN7w","kid":"/ty6mHZUMhD+3LqYdlQyEA"}
],"type":"temporary"}
URL del servidor de Widevine
Ejemplo: #KODIPROP:inputstream.adaptive.license_key=https://miserver.com/widevine
Si el servidor de Widevine requiere una URL separada para obtener el certificado de encriptación se puede configurar con esta línea.
Ejemplo: #KODIPROP:inputstream.adaptive.server_certificate=https://miserver.com/widevine/certificate
Solo como compatibilidad. Es preferible usar #KODIPROP:inputstream.adaptive.stream_headers=
Información del canal. Puede contener uno o todos de los siguientes tags en la misma línea separados por una coma.
URL del logo del canal para ser listado.
Nombre del grupo del canal.
ID para vincular el canal con la información del EPG.
Un número en segundos para sobreescribir el búfer por defecto del canal.
#EXTINF:-1 player-buffer="5" tvg-id="Canal1.ar" tvg-logo="https://domain1.com/logos/channel1.png" group-title="Noticias",Canal 1
Si en la URL de la lista .m3u
está presente el parámetro &ordenar
los canales se ordenarán en el siguiente orden:
Alfabéticamente por group-title
y dentro de los mismos alfabéticamente por nombre de canal
Si en la URL de la lista .m3u
está presente el parámetro &epg-disable
no se cargaran los EPG aun cuando la opción global de EPG esté activa en la extensión.
Si en la URL de la lista .m3u
está presente el parámetro &epg-enable
se cargará la programación de los EPG aun cuando la opción global de EPG esté desactivada en la extensión.