{"id":300,"date":"2021-02-13T23:34:06","date_gmt":"2021-02-13T22:34:06","guid":{"rendered":"https:\/\/www.davidestebanmunoz.com\/?p=300"},"modified":"2023-11-19T23:45:50","modified_gmt":"2023-11-19T22:45:50","slug":"codificador-de-capturadora-hdmi-para-visualizarla-en-alexa-echo-show-y-dispositivos-moviles","status":"publish","type":"post","link":"https:\/\/www.davidestebanmunoz.com\/?p=300&lang=es","title":{"rendered":"Codificador de capturadora HDMI para visualizarla en Alexa echo show y dispositivos m\u00f3viles"},"content":{"rendered":"\n<p><a href=\"https:\/\/www.davidestebanmunoz.com\/?p=313\">This article can be read in english here<\/a><\/p>\n\n\n\n<p>Este proyecto, que es doble, por un lado involucra 2 skills diferentes de Alexa, que he llamado \u00abcontrol de pantalla\u00bb y \u00abla pantalla\u00bb, una de las cuales est\u00e1 alojada en los propios servidores de Amazon, escrita en node.js y la otra, escrita en python est\u00e1 alojada en mi raspberry pi.<\/p>\n\n\n\n<p>Por otro lado, involucra un bot de telegram, escrito en python, alojado en mi raspberry pi.<\/p>\n\n\n\n<p>Echando un vistazo a la parte de cableado tuve que comprar un divisor de HDMI como \u00e9ste:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"529\" height=\"521\" src=\"https:\/\/www.davidestebanmunoz.com\/wp-content\/uploads\/2023\/11\/imagen.png\" alt=\"\" class=\"wp-image-301\" style=\"width:230px;height:auto\" srcset=\"https:\/\/www.davidestebanmunoz.com\/wp-content\/uploads\/2023\/11\/imagen.png 529w, https:\/\/www.davidestebanmunoz.com\/wp-content\/uploads\/2023\/11\/imagen-300x295.png 300w\" sizes=\"auto, (max-width: 529px) 100vw, 529px\" \/><\/figure>\n\n\n\n<p><a href=\"https:\/\/es.aliexpress.com\/item\/1005001577128634.html\">https:\/\/es.aliexpress.com\/item\/1005001577128634.htm<\/a><\/p>\n\n\n\n<p>Y una capturadora HDMI como \u00e9sta :<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"514\" height=\"509\" src=\"https:\/\/www.davidestebanmunoz.com\/wp-content\/uploads\/2023\/11\/imagen-1.png\" alt=\"\" class=\"wp-image-302\" style=\"width:285px;height:auto\" srcset=\"https:\/\/www.davidestebanmunoz.com\/wp-content\/uploads\/2023\/11\/imagen-1.png 514w, https:\/\/www.davidestebanmunoz.com\/wp-content\/uploads\/2023\/11\/imagen-1-300x297.png 300w, https:\/\/www.davidestebanmunoz.com\/wp-content\/uploads\/2023\/11\/imagen-1-150x150.png 150w\" sizes=\"auto, (max-width: 514px) 100vw, 514px\" \/><\/figure>\n\n\n\n<p><a href=\"https:\/\/es.aliexpress.com\/item\/1005004990708725.html\">https:\/\/es.aliexpress.com\/item\/1005004990708725.html<\/a><\/p>\n\n\n\n<p>De esta manera es posible conectar un decodificador de TV tanto a la TV como a la capturadora HDMI<\/p>\n\n\n\n<p>El c\u00f3digo de la skill \u00abla pantalla\u00bb puede observarse aqu\u00ed y simplemente ante la orden : \u00abAlexa abre la pantalla\u00bb abre un reproductor de video apuntando a la URL especificada. Como nota, es CR\u00cdTICO que dicha URL sea HTTPS , esto se consigue mediante una configuraci\u00f3n de nginx adecuada, un nombre din\u00e1mico DDNS y Letsencrypt para firmar los certificados necesarios.<\/p>\n\n\n\n<p>La skill \u00abcontrol de pantalla\u00bb en cambio, hace uso de una API basada en HTTP , similar a la que se us\u00f3 en <a href=\"https:\/\/www.davidestebanmunoz.com\/?p=225&amp;lang=es\">este proyecto<\/a> para controlar lo que dicho codificador est\u00e1 reproduciendo y mediante la voz, cambiar el canal al deseado.<\/p>\n\n\n\n<p>Por otro lado, ejecuta el comando:<\/p>\n\n\n\n<p><code>ffmpeg -f video4linux2 -input_format yuyv422 -s 1280x720 -i \/dev\/video2 -f alsa -i plughw:CARD=UHD,DEV=0 -vcodec h264_omx -b:v 2M -c:a aac -b:a 64k -f mpegts -loglevel error -filter:v fps=30 - | \/usr\/bin\/vlc -I dummy - --sout \"#duplicate{dst=std{access=http,mux=mkv,dst=:8950\/stream}}\" <\/code><\/p>\n\n\n\n<p>Para codificar el video capturado en un codec y resoluci\u00f3n aptos para el Alexa echo show en la url 127.0.0.1:8950\/stream, por \u00faltimo nginx convierte esa URL de loopback en una URL p\u00fablica bajo HTTPS.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<p>El bot de telegram se utiliza para ofrecer una interacci\u00f3n c\u00f3moda, tambi\u00e9n haciendo uso de la API HTTP para controlar lo que el codificador est\u00e1 reproduciendo y ofreciendo 3 calidades diferentes de v\u00eddeo para elegir la adecuada al consumo de datos que se desee o el ancho de banda que se disponga en ese momento.<\/p>\n\n\n\n<p> <\/p>\n","protected":false},"excerpt":{"rendered":"<div class=\"more-link-wrapper\"><a class=\"more-link\" href=\"https:\/\/www.davidestebanmunoz.com\/?p=300&#038;lang=es\">Read More<span class=\"screen-reader-text\">Codificador de capturadora HDMI para visualizarla en Alexa echo show y dispositivos m\u00f3viles<\/span><\/a><\/div>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[21],"tags":[88,67,119,84],"class_list":["post-300","post","type-post","status-publish","format-standard","hentry","category-proyectos-personales","tag-alexa-es","tag-python-es","tag-raspberry","tag-telegram-es","excerpt"],"_links":{"self":[{"href":"https:\/\/www.davidestebanmunoz.com\/index.php?rest_route=\/wp\/v2\/posts\/300","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.davidestebanmunoz.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.davidestebanmunoz.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.davidestebanmunoz.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.davidestebanmunoz.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=300"}],"version-history":[{"count":2,"href":"https:\/\/www.davidestebanmunoz.com\/index.php?rest_route=\/wp\/v2\/posts\/300\/revisions"}],"predecessor-version":[{"id":320,"href":"https:\/\/www.davidestebanmunoz.com\/index.php?rest_route=\/wp\/v2\/posts\/300\/revisions\/320"}],"wp:attachment":[{"href":"https:\/\/www.davidestebanmunoz.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=300"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.davidestebanmunoz.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=300"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.davidestebanmunoz.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=300"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}