{"id":89951,"date":"2026-09-16T14:39:08","date_gmt":"2026-09-16T12:39:08","guid":{"rendered":"https:\/\/playdeck.tv\/?p=89951"},"modified":"2026-09-16T15:11:04","modified_gmt":"2026-09-16T13:11:04","slug":"custom-remote","status":"publish","type":"post","link":"https:\/\/playdeck.tv\/pt\/custom-remote\/","title":{"rendered":"Build: um controle remoto personalizado com IA"},"content":{"rendered":"<p class=\"wp-block-paragraph\">O PLAYDECK j\u00e1 vem com dois controles remotos confort\u00e1veis:&nbsp;<strong>Bitfocus Companion<\/strong>&nbsp;Se voc\u00ea tiver um Deck Stream ou um ATEM, e o recurso integrado&nbsp;<strong>Controle Remoto pela Web<\/strong>&nbsp;se voc\u00ea quiser apenas um navegador conectado \u00e0 mesma rede Wi-Fi.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">O \u201cControle Remoto Personalizado\u201d \u00e9 a terceira op\u00e7\u00e3o. Voc\u00ea cola&nbsp;<strong>um arquivo HTML<\/strong>, o PLAYDECK o exibe neste PC, e seu celular o abre por meio de um c\u00f3digo QR. O ChatGPT, o Gemini ou o Claude apenas reescrevem esse arquivo. O PLAYDECK nunca se comunica com a IA, e voc\u00ea nunca instala um chatbot dentro do equipamento de exibi\u00e7\u00e3o.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Isso serve para as fun\u00e7\u00f5es para as quais o Web Remote n\u00e3o foi projetado: um gerente de est\u00fadio que precisa apenas de tr\u00eas bot\u00f5es enormes, um produtor que quer um contador de tempo do tamanho de um caminh\u00e3o, um programa que precisa de um comando a mais que a interface padr\u00e3o n\u00e3o exibe. Voc\u00ea descreve a fun\u00e7\u00e3o em linguagem simples. A IA retorna o c\u00f3digo HTML. Voc\u00ea o cola de volta.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">N\u00e3o edite os arquivos dentro da pasta do programa PLAYDECK. As atualiza\u00e7\u00f5es os sobrescrevem. O Custom Remote \u00e9 o fork que sobrevive \u00e0 atualiza\u00e7\u00e3o.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Neste artigo:<\/strong><br>\u2192 <a href=\"#what\" data-type=\"internal\" data-id=\"#what\">O que voc\u00ea recebe<\/a><br>\u2192 <a href=\"#sample\" data-type=\"internal\" data-id=\"#sample\">Use o exemplo (comece por aqui)<\/a><br>\u2192 <a href=\"#letai\">Deixemos que a IA mude isso<\/a><br>\u2192 <a href=\"#commands\">Comandos e status em tempo real<\/a><br>\u2192 <a href=\"#webremote\">Usando o Web Remote como base<\/a><br>\u2192 <a href=\"#notwork\">Se algo n\u00e3o funcionar<\/a><\/p>\n\n\n<style>.wp-block-kadence-spacer.kt-block-spacer-89951_21bb49-67 .kt-block-spacer{height:60px;}.wp-block-kadence-spacer.kt-block-spacer-89951_21bb49-67 .kt-divider{border-top-width:1px;height:1px;border-top-color:#eee;width:100%;border-top-style:solid;}<\/style>\n<div class=\"wp-block-kadence-spacer aligncenter kt-block-spacer-89951_21bb49-67\" id=\"what\"><div class=\"kt-block-spacer kt-block-spacer-halign-center\"><hr class=\"kt-divider\"\/><\/div><\/div>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\"><strong>O que voc\u00ea recebe<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Configura\u00e7\u00f5es \u2192 Controle remoto \u2192 Controle remoto personalizado.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">O PLAYDECK armazena seu c\u00f3digo HTML e o disponibiliza em um endere\u00e7o est\u00e1vel:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code><span data-no-translation>http:\/\/YOUR-PC:11411\/custom<\/span><\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A URL n\u00e3o muda quando voc\u00ea cola um novo layout. O c\u00f3digo QR ao lado da caixa cont\u00e9m esse mesmo endere\u00e7o. O celular e o PC com o PLAYDECK devem estar conectados \u00e0 mesma rede Wi-Fi. Se a p\u00e1gina permanecer em branco, permita a porta TCP&nbsp;<strong>11411&nbsp;<\/strong>no firewall (a mesma porta que o Companion e o Web Remote j\u00e1 utilizam).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">H\u00e1 sempre apenas&nbsp;<strong>um<\/strong>&nbsp;Controle remoto personalizado. Uma caixa, um arquivo, um QR. Isso \u00e9 proposital. Voc\u00ea n\u00e3o est\u00e1 criando um servi\u00e7o de hospedagem de sites. Voc\u00ea est\u00e1 criando o controle remoto para esse programa.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">O Web Remote integrado permanece em&nbsp;<code>\/<\/code>&nbsp;(a raiz da porta 11411). O Companion continua sendo o Companion. O Overlays e o Director View continuam sendo seus pr\u00f3prios modelos. O Custom Remote n\u00e3o os substitui.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img decoding=\"async\" width=\"1202\" height=\"704\" src=\"https:\/\/playdeck.tv\/wp-content\/uploads\/image-588.png\" alt=\"\" class=\"wp-image-89953\" style=\"aspect-ratio:1.7074255224544241;width:716px;height:auto\" srcset=\"https:\/\/playdeck.tv\/wp-content\/uploads\/image-588.png 1202w, https:\/\/playdeck.tv\/wp-content\/uploads\/image-588-300x176.png 300w, https:\/\/playdeck.tv\/wp-content\/uploads\/image-588-768x450.png 768w, https:\/\/playdeck.tv\/wp-content\/uploads\/image-588-18x12.png 18w, https:\/\/playdeck.tv\/wp-content\/uploads\/image-588-600x351.png 600w, https:\/\/playdeck.tv\/wp-content\/uploads\/image-588-102x60.png 102w, https:\/\/playdeck.tv\/wp-content\/uploads\/image-588-154x90.png 154w\" sizes=\"(max-width: 1202px) 100vw, 1202px\" \/><\/figure>\n\n\n<style>.wp-block-kadence-spacer.kt-block-spacer-89951_b7665a-42 .kt-block-spacer{height:60px;}.wp-block-kadence-spacer.kt-block-spacer-89951_b7665a-42 .kt-divider{border-top-width:1px;height:1px;border-top-color:#eee;width:100%;border-top-style:solid;}<\/style>\n<div class=\"wp-block-kadence-spacer aligncenter kt-block-spacer-89951_b7665a-42\" id=\"sample\"><div class=\"kt-block-spacer kt-block-spacer-halign-center\"><hr class=\"kt-divider\"\/><\/div><\/div>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\"><strong>Use o exemplo (comece por aqui)<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Se voc\u00ea nunca fez isso, n\u00e3o comece de uma p\u00e1gina em branco e n\u00e3o comece pelo Web Remote. Comece pelo Exemplo. Trata-se de um painel de bot\u00f5es voltado para o celular: dois canais, teclas de transporte grandes, pr\u00f3ximo clipe\/pr\u00f3ximo bloco nos mesmos modos que o Companion usa (Cue, Play, Cue+Play, Fade). Ele exibe o nome do clipe,&nbsp;<strong>transcorrido, restante<\/strong>, e&nbsp;<strong>bloco restante<\/strong>. Clipes e blocos infinitos exibem \u221e (\u00e0s vezes&nbsp;<code>\u221e<\/code>&nbsp;mais o tempo de repeti\u00e7\u00e3o). Esse \u00e9 o mesmo texto que o PLAYDECK exibe na barra de progresso. N\u00e3o criamos uma contagem regressiva falsa.<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Configura\u00e7\u00f5es \u2192 Controle remoto \u2192 Controle remoto personalizado.<\/li>\n\n\n\n<li>Clique&nbsp;<strong>Carregar amostra<\/strong>.<\/li>\n\n\n\n<li>Clique&nbsp;<strong>Salvar e abrir controle remoto personalizado<\/strong>.<\/li>\n\n\n\n<li>Escaneie o QR com a c\u00e2mera do seu celular ou abra o endere\u00e7o no navegador do celular.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">Voc\u00ea deve conseguir avan\u00e7ar para um ponto espec\u00edfico, reproduzir, pausar, parar, voltar ao in\u00edcio da lista de reprodu\u00e7\u00e3o e avan\u00e7ar clipe por clipe ou bloco por bloco \u2014 sem precisar ler uma lista de comandos primeiro.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Esse \u201cSample\u201d \u00e9 tamb\u00e9m o arquivo que voc\u00ea entrega \u00e0 IA. Ele j\u00e1 cont\u00e9m o \u00fanico contrato t\u00e9cnico que importa: uma tag de script e os comandos do PLAYDECK escritos nos bot\u00f5es.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img decoding=\"async\" width=\"1448\" height=\"1041\" src=\"https:\/\/playdeck.tv\/wp-content\/uploads\/image-587.png\" alt=\"\" class=\"wp-image-89952\" style=\"aspect-ratio:1.3910163527220036;width:732px;height:auto\" srcset=\"https:\/\/playdeck.tv\/wp-content\/uploads\/image-587.png 1448w, https:\/\/playdeck.tv\/wp-content\/uploads\/image-587-300x216.png 300w, https:\/\/playdeck.tv\/wp-content\/uploads\/image-587-768x552.png 768w, https:\/\/playdeck.tv\/wp-content\/uploads\/image-587-18x12.png 18w, https:\/\/playdeck.tv\/wp-content\/uploads\/image-587-600x431.png 600w, https:\/\/playdeck.tv\/wp-content\/uploads\/image-587-83x60.png 83w, https:\/\/playdeck.tv\/wp-content\/uploads\/image-587-125x90.png 125w\" sizes=\"(max-width: 1448px) 100vw, 1448px\" \/><\/figure>\n\n\n<style>.wp-block-kadence-spacer.kt-block-spacer-89951_d1119c-62 .kt-block-spacer{height:60px;}.wp-block-kadence-spacer.kt-block-spacer-89951_d1119c-62 .kt-divider{border-top-width:1px;height:1px;border-top-color:#eee;width:100%;border-top-style:solid;}<\/style>\n<div class=\"wp-block-kadence-spacer aligncenter kt-block-spacer-89951_d1119c-62\" id=\"letai\"><div class=\"kt-block-spacer kt-block-spacer-halign-center\"><hr class=\"kt-divider\"\/><\/div><\/div>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\"><strong>Deixemos que a IA mude isso<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Copie todo o conte\u00fado da caixa de HTML. Cole no ChatGPT (ou no Gemini \/ Claude). Explique para que serve o controle remoto, e n\u00e3o qual biblioteca JavaScript usar.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Lembre-se disso em todas as instru\u00e7\u00f5es:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><em>Mantenha a linha&nbsp;<code>&lt;script src=\"\/playdeck-remote.js\"&gt;&lt;\/script&gt;<\/code>. N\u00e3o abra seu pr\u00f3prio WebSocket. N\u00e3o modifique o arquivo playdeck-remote.js.&nbsp;<code>data-cmd<\/code>&nbsp;\u00e9 um comando do PLAYDECK presente na Lista de Comandos.&nbsp;<code>data-bind<\/code>&nbsp;mostra o status em tempo real.<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Em seguida, adicione a tarefa, por exemplo:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Gerente de piso, apenas Canal 1<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><em>Configure este iPad para ser usado pelo gerente de pista. Apenas o Canal 1. Tempo restante em destaque. Tr\u00eas bot\u00f5es: REPRODUZIR, PAUSA, REPRODUZIR PR\u00d3XIMO CLIPE. Fundo escuro, sem bordas douradas, \u00e1reas de toque amplas.<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Reestruture, mas mantenha os bot\u00f5es<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><em>Mantenha todos os bot\u00f5es e comandos existentes. Altere apenas as cores, o espa\u00e7amento e o tipo de fonte para que pare\u00e7a um painel de transmiss\u00e3o. O canal em exibi\u00e7\u00e3o deve continuar sendo facilmente identific\u00e1vel.<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Adicione uma a\u00e7\u00e3o a mais<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><em>Mantenha a amostra como est\u00e1. Adicione um bot\u00e3o abaixo do Canal 1 que envie&nbsp;<code>startoverlay|1|1<\/code>. Nomeie-a como OVERLAY 1.<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Cole o c\u00f3digo HTML gerado pela IA na caixa \u2192&nbsp;<strong>Salvar e Abrir<\/strong>&nbsp;\u2192 atualize a p\u00e1gina do celular. Se a IA tiver removido a tag do script, o PLAYDECK a recoloca quando voc\u00ea salva. Se a IA tiver inventado nomes de bot\u00f5es como&nbsp;<code>do topo<\/code>&nbsp;ou&nbsp;<code>pr\u00f3ximo<\/code>&nbsp;em vez de comandos reais, essas teclas n\u00e3o ter\u00e3o efeito algum \u2014 reative o comando \u201cLista de Comandos\u201d&nbsp;<code>data-cmd<\/code>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Voc\u00ea pode colar na caixa usando Ctrl+V. N\u00e3o h\u00e1 um bot\u00e3o separado para \u201cColar\u201d. As op\u00e7\u00f5es \u201cCarregar amostra\u201d e \u201cCarregar remoto da Web\u201d substituem a caixa; em seguida, salve. Digitar na caixa sem clicar em \u201cSalvar\u201d ou \u201cAbrir\u201d n\u00e3o atualiza o celular.<\/p>\n\n\n<style>.wp-block-kadence-spacer.kt-block-spacer-89951_587cc7-34 .kt-block-spacer{height:60px;}.wp-block-kadence-spacer.kt-block-spacer-89951_587cc7-34 .kt-divider{border-top-width:1px;height:1px;border-top-color:#eee;width:100%;border-top-style:solid;}<\/style>\n<div class=\"wp-block-kadence-spacer aligncenter kt-block-spacer-89951_587cc7-34\" id=\"commands\"><div class=\"kt-block-spacer kt-block-spacer-halign-center\"><hr class=\"kt-divider\"\/><\/div><\/div>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\"><strong>Comandos e status em tempo real<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">O script auxiliar&nbsp;<code>\/playdeck-remote.js<\/code>&nbsp;funciona apenas com WebSocket. Voc\u00ea n\u00e3o deve copiar esse arquivo para a IA. Voc\u00ea n\u00e3o deve reescrev\u00ea-lo. O arquivo HTML \u00e9 o \u00fanico arquivo envolvido na conversa.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Um bot\u00e3o \u00e9 um comando do PLAYDECK, da mesma fam\u00edlia que o Comando Personalizado do Companion utiliza:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code><button data-cmd=\"play|1\">REPRODUZIR<\/button>\n<button data-cmd=\"cueandplay|1|1|1\">DO IN\u00cdCIO<\/button>\n<button data-cmd=\"playnext|1\">REPRODUZIR PR\u00d3XIMO CLIPE<\/button>\n<button data-cmd=\"cuenextblock|1\">MARCAR PR\u00d3XIMO BLOCO<\/button><\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><br>O texto ao vivo \u00e9&nbsp;<code>data-bind<\/code>&nbsp;al\u00e9m disso&nbsp;<code>canal de dados<\/code>:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;div data-bind=&quot;channelName&quot; data-channel=&quot;1&quot;&gt;&lt;\/div&gt;\n&lt;div data-bind=&quot;clipName&quot; data-channel=&quot;1&quot;&gt;&lt;\/div&gt;\n&lt;div data-bind=&quot;elapsed&quot; data-channel=&quot;1&quot;&gt;&lt;\/div&gt;\n&lt;div data-bind=&quot;remain&quot; data-channel=&quot;1&quot;&gt;&lt;\/div&gt;\n&lt;div data-bind=&quot;blockRemain&quot; data-channel=&quot;1&quot;&gt;&lt;\/div&gt;\n&lt;div data-bind=&quot;blockName&quot; data-channel=&quot;1&quot;&gt;&lt;\/div&gt;<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><br>\u201cTranscorrido\u201d e \u201crestante\u201d referem-se \u00e0 dura\u00e7\u00e3o do clipe. \u201cRestante do bloco\u201d refere-se ao bloco. \u201cInfinito\u201d \u00e9 representado por \u221e.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A lista completa de comandos est\u00e1 no PLAYDECK: Menu Principal \u2192 Documenta\u00e7\u00e3o. Se voc\u00ea puder envi\u00e1-lo pelo Companion como um comando personalizado, poder\u00e1 coloc\u00e1-lo em&nbsp;<code>data-cmd<\/code>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Se uma p\u00e1gina precisar de uma l\u00f3gica que os atributos n\u00e3o possam fornecer (um contador de visualiza\u00e7\u00f5es, uma tabela de resumo), esse JavaScript adicional deve ser inclu\u00eddo&nbsp;<strong>no mesmo arquivo HTML<\/strong>. Usar&nbsp;<code>PlaydeckRemote.send('play|1')<\/code>&nbsp;e&nbsp;<code>PlaydeckRemote.onStatus(...)<\/code>. Continua sendo um \u00fanico arquivo, ainda n\u00e3o h\u00e1 um segundo WebSocket.<\/p>\n\n\n<style>.wp-block-kadence-spacer.kt-block-spacer-89951_149d11-84 .kt-block-spacer{height:60px;}.wp-block-kadence-spacer.kt-block-spacer-89951_149d11-84 .kt-divider{border-top-width:1px;height:1px;border-top-color:#eee;width:100%;border-top-style:solid;}<\/style>\n<div class=\"wp-block-kadence-spacer aligncenter kt-block-spacer-89951_149d11-84\" id=\"webremote\"><div class=\"kt-block-spacer kt-block-spacer-halign-center\"><hr class=\"kt-divider\"\/><\/div><\/div>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\"><strong>Usando o Web Remote como base<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">O Sample \u00e9 a abordagem que funciona bem com IA: poucos bot\u00f5es, pouco c\u00f3digo.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u00c0s vezes a gente realmente quer&nbsp;<strong>Controle Remoto da Web do Nick<\/strong>&nbsp;\u2014 a lista de clipes, as barras de progresso, as abas dos canais \u2014 mas na cor laranja em vez de cinza, ou um rel\u00f3gio maior, ou abas ocultas. Em seguida:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Controle remoto personalizado \u2192&nbsp;<strong>Carregar Web Remote<\/strong>&nbsp;\u2192 Salvar e Abrir.<\/li>\n\n\n\n<li>Agora voc\u00ea tem uma c\u00f3pia do Web Remote integrado em&nbsp;<code>\/personalizado<\/code>. O Web Remote original em&nbsp;<code>\/<\/code>&nbsp;permanece inalterado.<\/li>\n\n\n\n<li>Copie esse c\u00f3digo HTML para a IA seguindo uma regra r\u00edgida:<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\"><em>Esta p\u00e1gina \u00e9 o PLAYDECK Web Remote. Altere apenas o CSS e os r\u00f3tulos. N\u00e3o reescreva o JavaScript respons\u00e1vel pela cria\u00e7\u00e3o da lista de reprodu\u00e7\u00e3o, das barras de progresso ou das abas de canais. Mantenha&nbsp;<code>&lt;script src=\"\/playdeck-remote.js\"&gt;&lt;\/script&gt;<\/code>.<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Se a IA \u201csimplificar\u201d esse JavaScript, a lista de clipes geralmente deixa de funcionar. Carregue o Web Remote novamente e tente mais uma vez com uma solicita\u00e7\u00e3o menor (apenas cores).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Nunca diga \u00e0s pessoas para editarem&nbsp;<code>webremote.html<\/code>&nbsp;no disco e manter um backup para a pr\u00f3xima reinstala\u00e7\u00e3o. \u00c9 para isso que serve o Custom Remote.<\/p>\n\n\n<style>.wp-block-kadence-spacer.kt-block-spacer-89951_2f419e-82 .kt-block-spacer{height:60px;}.wp-block-kadence-spacer.kt-block-spacer-89951_2f419e-82 .kt-divider{border-top-width:1px;height:1px;border-top-color:#eee;width:100%;border-top-style:solid;}<\/style>\n<div class=\"wp-block-kadence-spacer aligncenter kt-block-spacer-89951_2f419e-82\" id=\"notwork\"><div class=\"kt-block-spacer kt-block-spacer-halign-center\"><hr class=\"kt-divider\"\/><\/div><\/div>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\"><strong>Se algo n\u00e3o funcionar<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>P\u00e1gina em branco do telefone<\/strong>. \u00c9 a mesma rede Wi-Fi do PC do PLAYDECK? A porta TCP 11411 est\u00e1 habilitada? Tente primeiro clicar em \u201cSalvar\u201d e \u201cAbrir\u201d no PC. O endere\u00e7o \u00e9&nbsp;<code><span data-no-translation>http:\/\/IP:11411\/custom<\/span><\/code>&nbsp;\u2014 nem https, nem outra porta.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Os bot\u00f5es n\u00e3o funcionam<\/strong>. A tag script deve permanecer.&nbsp;<code>data-cmd<\/code>&nbsp;deve ser um comando v\u00e1lido (<code>play|1<\/code>, n\u00e3o&nbsp;<code>reproduzir<\/code>). Atualize a p\u00e1gina ap\u00f3s salvar e abrir.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Tempos travados ou lista desatualizada<\/strong>. Atualize a p\u00e1gina no celular. No caso de uma c\u00f3pia via Web Remote, aguarde alguns segundos \u2014 essa p\u00e1gina atualiza os dados da lista de reprodu\u00e7\u00e3o em intervalos curtos.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u221e em vez de um rel\u00f3gio<\/strong>. O clipe ou bloco tem dura\u00e7\u00e3o infinita (ao vivo, em loop, por tempo). O PLAYDECK exibe o mesmo.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Eu queria alterar o Web Remote padr\u00e3o<\/strong>. Voc\u00ea fez o seguinte: o \u201cCarregar Web Remote\u201d \u00e9 essa p\u00e1gina, apresentada como \u201cCustom Remote\u201d. Saia&nbsp;<code>\/<\/code>&nbsp;para todos que ainda preferem a interface de usu\u00e1rio padr\u00e3o.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Companion \/ Deck Stream<\/strong>. Continue usando o Companion para o hardware. O Custom Remote \u00e9 um aplicativo em HTML para celular ou tablet, e n\u00e3o substitui o m\u00f3dulo.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>","protected":false},"excerpt":{"rendered":"<p>O PLAYDECK j\u00e1 oferece dois controles remotos pr\u00e1ticos: o Bitfocus Companion, se voc\u00ea tiver um Deck Stream ou um ATEM, e o Web Remote integrado, se quiser apenas usar um navegador conectado \u00e0 mesma rede Wi-Fi. O Custom Remote \u00e9 a terceira op\u00e7\u00e3o. Basta colar um arquivo HTML, e o PLAYDECK\u2026 <a class=\"kt-excerpt-readmore more-link\" href=\"https:\/\/playdeck.tv\/pt\/custom-remote\/\" aria-label=\"Build: um controle remoto personalizado com IA\">Leia mais<\/a><\/p>","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"kt_blocks_editor_width":"","_kad_blocks_custom_css":"","_kad_blocks_head_custom_js":"","_kad_blocks_body_custom_js":"","_kad_blocks_footer_custom_js":"","footnotes":""},"categories":[1],"tags":[],"class_list":["post-89951","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.2 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Build a Custom Remote with AI - PLAYDECK<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/playdeck.tv\/pt\/custom-remote\/\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Build a Custom Remote with AI - PLAYDECK\" \/>\n<meta property=\"og:description\" content=\"PLAYDECK already gives you two comfortable remotes:&nbsp;Bitfocus Companion&nbsp;if you have a Stream Deck or an ATEM, and the built-in&nbsp;Web Remote&nbsp;if you just want a browser on the same Wi\u2011Fi. Custom Remote is the third path. You paste&nbsp;one HTML file, PLAYDECK &hellip; Read More\" \/>\n<meta property=\"og:url\" content=\"https:\/\/playdeck.tv\/pt\/custom-remote\/\" \/>\n<meta property=\"og:site_name\" content=\"PLAYDECK\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/playdecktv\" \/>\n<meta property=\"article:published_time\" content=\"2026-09-16T12:39:08+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-09-16T13:11:04+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/playdeck.tv\/wp-content\/uploads\/image-588.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1202\" \/>\n\t<meta property=\"og:image:height\" content=\"704\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"WebAdmin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"WebAdmin\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. tempo de leitura\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/playdeck.tv\\\/custom-remote\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/playdeck.tv\\\/custom-remote\\\/\"},\"author\":{\"name\":\"WebAdmin\",\"@id\":\"https:\\\/\\\/playdeck.tv\\\/#\\\/schema\\\/person\\\/63a673a3fa358907dfc2bc57cc23f5b8\"},\"headline\":\"Build a Custom Remote with AI\",\"datePublished\":\"2026-09-16T12:39:08+00:00\",\"dateModified\":\"2026-09-16T13:11:04+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/playdeck.tv\\\/custom-remote\\\/\"},\"wordCount\":1248,\"publisher\":{\"@id\":\"https:\\\/\\\/playdeck.tv\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/playdeck.tv\\\/custom-remote\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/playdeck.tv\\\/wp-content\\\/uploads\\\/image-588.png\",\"articleSection\":[\"Uncategorized\"],\"inLanguage\":\"pt-BR\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/playdeck.tv\\\/custom-remote\\\/\",\"url\":\"https:\\\/\\\/playdeck.tv\\\/custom-remote\\\/\",\"name\":\"Build a Custom Remote with AI - PLAYDECK\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/playdeck.tv\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/playdeck.tv\\\/custom-remote\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/playdeck.tv\\\/custom-remote\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/playdeck.tv\\\/wp-content\\\/uploads\\\/image-588.png\",\"datePublished\":\"2026-09-16T12:39:08+00:00\",\"dateModified\":\"2026-09-16T13:11:04+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/playdeck.tv\\\/custom-remote\\\/#breadcrumb\"},\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/playdeck.tv\\\/custom-remote\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\\\/\\\/playdeck.tv\\\/custom-remote\\\/#primaryimage\",\"url\":\"https:\\\/\\\/playdeck.tv\\\/wp-content\\\/uploads\\\/image-588.png\",\"contentUrl\":\"https:\\\/\\\/playdeck.tv\\\/wp-content\\\/uploads\\\/image-588.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/playdeck.tv\\\/custom-remote\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/playdeck.tv\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Build a Custom Remote with AI\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/playdeck.tv\\\/#website\",\"url\":\"https:\\\/\\\/playdeck.tv\\\/\",\"name\":\"PLAYDECK\",\"description\":\"Professional Video Playout Software for Windows\",\"publisher\":{\"@id\":\"https:\\\/\\\/playdeck.tv\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/playdeck.tv\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pt-BR\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/playdeck.tv\\\/#organization\",\"name\":\"PLAYDECK\",\"url\":\"https:\\\/\\\/playdeck.tv\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\\\/\\\/playdeck.tv\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/playdeck.tv\\\/wp-content\\\/uploads\\\/Logo_PlayDeck-04-edited-scaled.jpg\",\"contentUrl\":\"https:\\\/\\\/playdeck.tv\\\/wp-content\\\/uploads\\\/Logo_PlayDeck-04-edited-scaled.jpg\",\"width\":2560,\"height\":1087,\"caption\":\"PLAYDECK\"},\"image\":{\"@id\":\"https:\\\/\\\/playdeck.tv\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/playdecktv\",\"https:\\\/\\\/www.instagram.com\\\/playdeck.tv\\\/\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/70437766\\\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/playdeck.tv\\\/#\\\/schema\\\/person\\\/63a673a3fa358907dfc2bc57cc23f5b8\",\"name\":\"WebAdmin\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Build: um controle remoto personalizado com IA - PLAYDECK","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/playdeck.tv\/pt\/custom-remote\/","og_locale":"pt_BR","og_type":"article","og_title":"Build a Custom Remote with AI - PLAYDECK","og_description":"PLAYDECK already gives you two comfortable remotes:&nbsp;Bitfocus Companion&nbsp;if you have a Stream Deck or an ATEM, and the built-in&nbsp;Web Remote&nbsp;if you just want a browser on the same Wi\u2011Fi. Custom Remote is the third path. You paste&nbsp;one HTML file, PLAYDECK &hellip; Read More","og_url":"https:\/\/playdeck.tv\/pt\/custom-remote\/","og_site_name":"PLAYDECK","article_publisher":"https:\/\/www.facebook.com\/playdecktv","article_published_time":"2026-09-16T12:39:08+00:00","article_modified_time":"2026-09-16T13:11:04+00:00","og_image":[{"width":1202,"height":704,"url":"https:\/\/playdeck.tv\/wp-content\/uploads\/image-588.png","type":"image\/png"}],"author":"WebAdmin","twitter_card":"summary_large_image","twitter_misc":{"Escrito por":"WebAdmin","Est. tempo de leitura":"6 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/playdeck.tv\/custom-remote\/#article","isPartOf":{"@id":"https:\/\/playdeck.tv\/custom-remote\/"},"author":{"name":"WebAdmin","@id":"https:\/\/playdeck.tv\/#\/schema\/person\/63a673a3fa358907dfc2bc57cc23f5b8"},"headline":"Build a Custom Remote with AI","datePublished":"2026-09-16T12:39:08+00:00","dateModified":"2026-09-16T13:11:04+00:00","mainEntityOfPage":{"@id":"https:\/\/playdeck.tv\/custom-remote\/"},"wordCount":1248,"publisher":{"@id":"https:\/\/playdeck.tv\/#organization"},"image":{"@id":"https:\/\/playdeck.tv\/custom-remote\/#primaryimage"},"thumbnailUrl":"https:\/\/playdeck.tv\/wp-content\/uploads\/image-588.png","articleSection":["Uncategorized"],"inLanguage":"pt-BR"},{"@type":"WebPage","@id":"https:\/\/playdeck.tv\/custom-remote\/","url":"https:\/\/playdeck.tv\/custom-remote\/","name":"Build: um controle remoto personalizado com IA - PLAYDECK","isPartOf":{"@id":"https:\/\/playdeck.tv\/#website"},"primaryImageOfPage":{"@id":"https:\/\/playdeck.tv\/custom-remote\/#primaryimage"},"image":{"@id":"https:\/\/playdeck.tv\/custom-remote\/#primaryimage"},"thumbnailUrl":"https:\/\/playdeck.tv\/wp-content\/uploads\/image-588.png","datePublished":"2026-09-16T12:39:08+00:00","dateModified":"2026-09-16T13:11:04+00:00","breadcrumb":{"@id":"https:\/\/playdeck.tv\/custom-remote\/#breadcrumb"},"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/playdeck.tv\/custom-remote\/"]}]},{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/playdeck.tv\/custom-remote\/#primaryimage","url":"https:\/\/playdeck.tv\/wp-content\/uploads\/image-588.png","contentUrl":"https:\/\/playdeck.tv\/wp-content\/uploads\/image-588.png"},{"@type":"BreadcrumbList","@id":"https:\/\/playdeck.tv\/custom-remote\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/playdeck.tv\/"},{"@type":"ListItem","position":2,"name":"Build a Custom Remote with AI"}]},{"@type":"WebSite","@id":"https:\/\/playdeck.tv\/#website","url":"https:\/\/playdeck.tv\/","name":"PLAYDECK","description":"Software Professional Video Playout para Windows","publisher":{"@id":"https:\/\/playdeck.tv\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/playdeck.tv\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pt-BR"},{"@type":"Organization","@id":"https:\/\/playdeck.tv\/#organization","name":"PLAYDECK","url":"https:\/\/playdeck.tv\/","logo":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/playdeck.tv\/#\/schema\/logo\/image\/","url":"https:\/\/playdeck.tv\/wp-content\/uploads\/Logo_PlayDeck-04-edited-scaled.jpg","contentUrl":"https:\/\/playdeck.tv\/wp-content\/uploads\/Logo_PlayDeck-04-edited-scaled.jpg","width":2560,"height":1087,"caption":"PLAYDECK"},"image":{"@id":"https:\/\/playdeck.tv\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/playdecktv","https:\/\/www.instagram.com\/playdeck.tv\/","https:\/\/www.linkedin.com\/company\/70437766\/"]},{"@type":"Person","@id":"https:\/\/playdeck.tv\/#\/schema\/person\/63a673a3fa358907dfc2bc57cc23f5b8","name":"WebAdmin"}]}},"taxonomy_info":{"category":[{"value":1,"label":"Uncategorized"}]},"featured_image_src_large":false,"author_info":{"display_name":"WebAdmin","author_link":"https:\/\/playdeck.tv\/pt\/author\/joy\/"},"comment_info":0,"category_info":[{"term_id":1,"name":"Uncategorized","slug":"uncategorized","term_group":0,"term_taxonomy_id":1,"taxonomy":"category","description":"","parent":0,"count":53,"filter":"raw","cat_ID":1,"category_count":53,"category_description":"","cat_name":"Uncategorized","category_nicename":"uncategorized","category_parent":0}],"tag_info":false,"_links":{"self":[{"href":"https:\/\/playdeck.tv\/pt\/wp-json\/wp\/v2\/posts\/89951","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/playdeck.tv\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/playdeck.tv\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/playdeck.tv\/pt\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/playdeck.tv\/pt\/wp-json\/wp\/v2\/comments?post=89951"}],"version-history":[{"count":5,"href":"https:\/\/playdeck.tv\/pt\/wp-json\/wp\/v2\/posts\/89951\/revisions"}],"predecessor-version":[{"id":89959,"href":"https:\/\/playdeck.tv\/pt\/wp-json\/wp\/v2\/posts\/89951\/revisions\/89959"}],"wp:attachment":[{"href":"https:\/\/playdeck.tv\/pt\/wp-json\/wp\/v2\/media?parent=89951"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/playdeck.tv\/pt\/wp-json\/wp\/v2\/categories?post=89951"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/playdeck.tv\/pt\/wp-json\/wp\/v2\/tags?post=89951"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}