Audio issue with Macbook Pro (macOS Monterey)
- @david
Hi ,
I am trying set up TinyPilot with my Macbook Pro(macOS Monterey) but audio is not working via HDMI.
screen and keyboard/mouse work well but no audio receiving it.
I also tried select "Sound" output as HDMI but it says " The selected device has no output controls".
I am attaching the screen shot of the same.
can you offer some quick help or fix on it.?
I
- David @david2023-06-26 12:11:50.101Z
Hi @ravi1234, sorry that you're running into this audio issue.
If you haven't seen it yet, our audio FAQ goes into detail about some of the common issues with audio on TinyPilot. I'd recommend reading though that first.
Audio will only work when you use TinyPilot's H.264 streaming mode. On the bottom left-hand side of the TinyPilot web interface there is a streaming mode indicator. The indicator will say 'MJPEG' or 'H.264'. If your streaming mode is set to MJPEG, click System > Video Settings on your TinyPilot's web UI. Then in the video settings dialog, change "Streaming Mode" to "H.264."
Are you also able to share a log from your TinyPilot? On your TinyPilot's web interface, navigate to System > Logs and click Get Shareable URL. Then share the URL in your reply.
Hi David,
Yes. I selected TinyPilot's H.264 streaming mode but still no luck.
Please find attached log as requested.
note : I have removed linke https: tinypilot/js/app.js from below log as I was not able to post it.
TinyPilot Pro log dump https://tinypilotkvm.com Timestamp: 2023-06-26T23:56:07+01:00 Software versions TinyPilot version: 2.6.0 uStreamer version: 5.38 OS version: Linux tinypilot 5.15.84-v7l+ #1613 SMP Thu Jan 5 12:01:26 GMT 2023 armv7l GNU/Linux Distribution name: Raspbian Distribution version: 11 Hardware information Hardware: BCM2711 Revision: b03115 Model: Raspberry Pi 4 Model B Rev 1.5 TinyPilot state Read-only filesystem: off SSH access: disabled temp=47.2'C throttled=0x0 voltage logs TinyPilot settings.yml ustreamer_persistent: true ustreamer_port: 8001 TinyPilot configuration [Unit] Description=TinyPilot - RPi-based virtual KVM After=syslog.target network.target StartLimitIntervalSec=0 [Service] Type=simple User=tinypilot WorkingDirectory=/opt/tinypilot ExecStart=/opt/tinypilot/venv/bin/python app/main.py Environment=HOST=127.0.0.1 Environment=PORT=8000 Environment=APP_SETTINGS_FILE=/home/tinypilot/app_settings.cfg Restart=always [Install] WantedBy=multi-user.target TinyPilot logs -- Journal begins at Mon 2023-06-26 22:07:08 BST, ends at Mon 2023-06-26 23:56:07 BST. -- Jun 26 22:07:12 tinypilot systemd[1]: Started TinyPilot - RPi-based virtual KVM. Jun 26 22:07:17 tinypilot python[526]: 2023-06-26 22:07:17.296 __main__ INFO Starting app Jun 26 22:07:24 tinypilot python[526]: 2023-06-26 22:07:24.868 db.store INFO Loading database migrations from /opt/tinypilot/app/db/migrations/*.sql Jun 26 22:07:24 tinypilot python[526]: 2023-06-26 22:07:24.874 db.store INFO Read 7 database migrations from disk Jun 26 22:07:24 tinypilot python[526]: 2023-06-26 22:07:24.937 socket_api INFO Client Lx-OL9IjwdTXnbuuAAAC connected Jun 26 22:07:27 tinypilot python[526]: 2023-06-26 22:07:27.220 socket_api INFO Client Lx-OL9IjwdTXnbuuAAAC disconnected Jun 26 22:07:27 tinypilot python[526]: 2023-06-26 22:07:27.423 socket_api INFO Client IdKszXFH0yxMGauJAAAF connected Jun 26 22:08:19 tinypilot python[526]: 2023-06-26 22:08:19.815 socket_api INFO Client IdKszXFH0yxMGauJAAAF disconnected Jun 26 22:27:41 tinypilot python[526]: 2023-06-26 22:27:41.103 socket_api INFO Client vffTXCzVdc3Lp3q1AAAH connected Jun 26 22:27:44 tinypilot python[526]: 2023-06-26 22:27:44.880 socket_api INFO Client vffTXCzVdc3Lp3q1AAAH disconnected Jun 26 22:27:45 tinypilot python[526]: 2023-06-26 22:27:45.078 socket_api INFO Client tx_OuwYvzf01ykRnAAAJ connected Jun 26 22:27:50 tinypilot python[526]: 2023-06-26 22:27:50.243 socket_api INFO Client tx_OuwYvzf01ykRnAAAJ disconnected Jun 26 23:19:20 tinypilot python[526]: 2023-06-26 23:19:20.700 socket_api INFO Client GRS-gUjW4BoH_gugAAAL connected Jun 26 23:24:24 tinypilot sudo[18458]: tinypilot : PWD=/opt/tinypilot ; USER=root ; COMMAND=/opt/tinypilot-privileged/scripts/collect-debug-logs -q Jun 26 23:24:24 tinypilot sudo[18458]: pam_unix(sudo:session): session opened for user root(uid=0) by (uid=110) Jun 26 23:24:25 tinypilot sudo[18458]: pam_unix(sudo:session): session closed for user root Jun 26 23:30:14 tinypilot python[526]: 2023-06-26 23:30:14.271 local_system INFO Retrieving local system's kernel version Jun 26 23:30:14 tinypilot python[526]: 2023-06-26 23:30:14.294 local_system INFO Retrieved local system's kernel version as 5.15.84-v7l+ Jun 26 23:30:14 tinypilot python[526]: 2023-06-26 23:30:14.299 local_system INFO Retrieving local system's distribution name Jun 26 23:30:14 tinypilot python[526]: 2023-06-26 23:30:14.472 local_system INFO Retrieved local system's distribution name as Raspbian Jun 26 23:30:14 tinypilot python[526]: 2023-06-26 23:30:14.473 local_system INFO Retrieving local system's distribution version Jun 26 23:30:14 tinypilot python[526]: 2023-06-26 23:30:14.643 local_system INFO Retrieved local system's distribution version as 11 Jun 26 23:31:09 tinypilot python[526]: 2023-06-26 23:31:09.034 socket_api INFO Client 6t3S2KuGgv7tKUAOAAAN connected Jun 26 23:32:41 tinypilot python[526]: 2023-06-26 23:32:41.259 socket_api WARNING [SENSITIVE] Unrecognized key: Unidentified (keycode=) [/SENSITIVE] Jun 26 23:32:41 tinypilot python[526]: 2023-06-26 23:32:41.617 socket_api WARNING [SENSITIVE] Unrecognized key: Unidentified (keycode=) [/SENSITIVE] Jun 26 23:32:43 tinypilot python[526]: 2023-06-26 23:32:43.981 socket_api WARNING [SENSITIVE] Unrecognized key: Unidentified (keycode=) [/SENSITIVE] Jun 26 23:32:44 tinypilot python[526]: 2023-06-26 23:32:44.198 socket_api WARNING [SENSITIVE] Unrecognized key: Unidentified (keycode=) [/SENSITIVE] Jun 26 23:32:50 tinypilot python[526]: 2023-06-26 23:32:50.054 socket_api WARNING [SENSITIVE] Unrecognized key: Unidentified (keycode=) [/SENSITIVE] Jun 26 23:32:50 tinypilot python[526]: 2023-06-26 23:32:50.263 socket_api WARNING [SENSITIVE] Unrecognized key: Unidentified (keycode=) [/SENSITIVE] Jun 26 23:33:28 tinypilot python[526]: 2023-06-26 23:33:28.502 socket_api WARNING [SENSITIVE] Unrecognized key: Unidentified (keycode=) [/SENSITIVE] Jun 26 23:33:29 tinypilot python[526]: 2023-06-26 23:33:29.581 socket_api WARNING [SENSITIVE] Unrecognized key: Unidentified (keycode=) [/SENSITIVE] Jun 26 23:33:33 tinypilot python[526]: 2023-06-26 23:33:33.048 socket_api WARNING [SENSITIVE] Unrecognized key: Unidentified (keycode=) [/SENSITIVE] Jun 26 23:33:33 tinypilot python[526]: 2023-06-26 23:33:33.301 socket_api WARNING [SENSITIVE] Unrecognized key: Unidentified (keycode=) [/SENSITIVE] Jun 26 23:33:52 tinypilot python[526]: 2023-06-26 23:33:52.671 socket_api WARNING [SENSITIVE] Unrecognized key: Unidentified (keycode=) [/SENSITIVE] Jun 26 23:33:53 tinypilot python[526]: 2023-06-26 23:33:53.730 socket_api WARNING [SENSITIVE] Unrecognized key: Unidentified (keycode=) [/SENSITIVE] Jun 26 23:33:53 tinypilot python[526]: 2023-06-26 23:33:53.914 socket_api WARNING [SENSITIVE] Unrecognized key: Unidentified (keycode=) [/SENSITIVE] Jun 26 23:33:54 tinypilot python[526]: 2023-06-26 23:33:54.102 socket_api WARNING [SENSITIVE] Unrecognized key: Unidentified (keycode=) [/SENSITIVE] Jun 26 23:33:54 tinypilot python[526]: 2023-06-26 23:33:54.250 socket_api WARNING [SENSITIVE] Unrecognized key: Unidentified (keycode=) [/SENSITIVE] Jun 26 23:34:26 tinypilot python[526]: 2023-06-26 23:34:26.338 socket_api INFO Client GRS-gUjW4BoH_gugAAAL disconnected Jun 26 23:36:01 tinypilot python[526]: 2023-06-26 23:36:01.869 socket_api WARNING [SENSITIVE] Unrecognized key: Unidentified (keycode=) [/SENSITIVE] Jun 26 23:36:03 tinypilot python[526]: 2023-06-26 23:36:03.279 socket_api WARNING [SENSITIVE] Unrecognized key: Unidentified (keycode=) [/SENSITIVE] Jun 26 23:36:03 tinypilot python[526]: 2023-06-26 23:36:03.508 socket_api WARNING [SENSITIVE] Unrecognized key: Unidentified (keycode=) [/SENSITIVE] Jun 26 23:36:03 tinypilot python[526]: 2023-06-26 23:36:03.694 socket_api WARNING [SENSITIVE] Unrecognized key: Unidentified (keycode=) [/SENSITIVE] Jun 26 23:36:03 tinypilot python[526]: 2023-06-26 23:36:03.861 socket_api WARNING [SENSITIVE] Unrecognized key: Unidentified (keycode=) [/SENSITIVE] Jun 26 23:36:04 tinypilot python[526]: 2023-06-26 23:36:04.029 socket_api WARNING [SENSITIVE] Unrecognized key: Unidentified (keycode=) [/SENSITIVE] Jun 26 23:36:04 tinypilot python[526]: 2023-06-26 23:36:04.203 socket_api WARNING [SENSITIVE] Unrecognized key: Unidentified (keycode=) [/SENSITIVE] Jun 26 23:37:16 tinypilot python[526]: 2023-06-26 23:37:16.031 socket_api INFO Client KZE1ANtQC92C4aFjAAAP connected Jun 26 23:44:34 tinypilot python[526]: 2023-06-26 23:44:34.796 socket_api INFO Client nI2v9p9Ek0pzHeacAAAR connected Jun 26 23:44:48 tinypilot python[526]: 2023-06-26 23:44:48.476 socket_api INFO Client nI2v9p9Ek0pzHeacAAAR disconnected Jun 26 23:44:48 tinypilot python[526]: 2023-06-26 23:44:48.729 socket_api INFO Client muIePzxb8wYQXv5RAAAT connected Jun 26 23:47:11 tinypilot python[526]: 2023-06-26 23:47:11.775 socket_api INFO Client gcnXZkXDEEK3KfZHAAAV connected Jun 26 23:47:16 tinypilot python[526]: 2023-06-26 23:47:16.937 socket_api INFO Client muIePzxb8wYQXv5RAAAT disconnected Jun 26 23:47:53 tinypilot python[526]: 2023-06-26 23:47:53.460 socket_api INFO Client gcnXZkXDEEK3KfZHAAAV disconnected Jun 26 23:50:33 tinypilot python[26423]: 2023-06-26 23:50:33.333 hid.write ERROR Failed to write to HID interface: /dev/hidg1. Is USB cable connected? Jun 26 23:50:47 tinypilot python[26479]: 2023-06-26 23:50:47.685 hid.write ERROR Failed to write to HID interface: /dev/hidg1. Is USB cable connected? Jun 26 23:50:47 tinypilot python[26480]: 2023-06-26 23:50:47.731 hid.write ERROR Failed to write to HID interface: /dev/hidg1. Is USB cable connected? Jun 26 23:50:47 tinypilot python[26481]: 2023-06-26 23:50:47.767 hid.write ERROR Failed to write to HID interface: /dev/hidg1. Is USB cable connected? Jun 26 23:50:47 tinypilot python[26482]: 2023-06-26 23:50:47.803 hid.write ERROR Failed to write to HID interface: /dev/hidg1. Is USB cable connected? Jun 26 23:50:47 tinypilot python[26483]: 2023-06-26 23:50:47.828 hid.write ERROR Failed to write to HID interface: /dev/hidg1. Is USB cable connected? Jun 26 23:50:47 tinypilot python[26484]: 2023-06-26 23:50:47.853 hid.write ERROR Failed to write to HID interface: /dev/hidg1. Is USB cable connected? Jun 26 23:50:47 tinypilot python[26485]: 2023-06-26 23:50:47.882 hid.write ERROR Failed to write to HID interface: /dev/hidg1. Is USB cable connected? Jun 26 23:50:47 tinypilot python[26486]: 2023-06-26 23:50:47.907 hid.write ERROR Failed to write to HID interface: /dev/hidg1. Is USB cable connected? Jun 26 23:50:47 tinypilot python[26487]: 2023-06-26 23:50:47.931 hid.write ERROR Failed to write to HID interface: /dev/hidg1. Is USB cable connected? Jun 26 23:50:47 tinypilot python[26488]: 2023-06-26 23:50:47.956 hid.write ERROR Failed to write to HID interface: /dev/hidg1. Is USB cable connected? Jun 26 23:50:47 tinypilot python[26489]: 2023-06-26 23:50:47.980 hid.write ERROR Failed to write to HID interface: /dev/hidg1. Is USB cable connected? Jun 26 23:50:48 tinypilot python[26490]: 2023-06-26 23:50:48.005 hid.write ERROR Failed to write to HID interface: /dev/hidg1. Is USB cable connected? Jun 26 23:50:48 tinypilot python[26491]: 2023-06-26 23:50:48.030 hid.write ERROR Failed to write to HID interface: /dev/hidg1. Is USB cable connected? Jun 26 23:50:48 tinypilot python[26492]: 2023-06-26 23:50:48.054 hid.write ERROR Failed to write to HID interface: /dev/hidg1. Is USB cable connected? Jun 26 23:50:48 tinypilot python[26493]: 2023-06-26 23:50:48.079 hid.write ERROR Failed to write to HID interface: /dev/hidg1. Is USB cable connected? Jun 26 23:50:48 tinypilot python[26494]: 2023-06-26 23:50:48.103 hid.write ERROR Failed to write to HID interface: /dev/hidg1. Is USB cable connected? Jun 26 23:51:17 tinypilot python[526]: 2023-06-26 23:51:17.285 socket_api INFO Client KZE1ANtQC92C4aFjAAAP disconnected Jun 26 23:52:30 tinypilot python[526]: 2023-06-26 23:52:30.740 socket_api INFO Client 6t3S2KuGgv7tKUAOAAAN disconnected Jun 26 23:54:03 tinypilot python[526]: 2023-06-26 23:54:03.575 socket_api INFO Client TComIXZOAeXJaN-yAAAX connected Jun 26 23:56:07 tinypilot sudo[27784]: tinypilot : PWD=/opt/tinypilot ; USER=root ; COMMAND=/opt/tinypilot-privileged/scripts/collect-debug-logs -q Jun 26 23:56:07 tinypilot sudo[27784]: pam_unix(sudo:session): session opened for user root(uid=0) by (uid=110) TinyPilot update logs ok: [localhost] TASK [ansible-role-ustreamer : create Janus config files] ********************** ok: [localhost] => (item=janus.jcfg) ok: [localhost] => (item=janus.transport.websockets.jcfg) TASK [ansible-role-ustreamer : get multi-arch target triplet (i.e., machine-vendor-operatingsystem)] *** ok: [localhost] TASK [ansible-role-ustreamer : determine Janus plugins directory] ************** ok: [localhost] TASK [ansible-role-ustreamer : create ustreamer group] ************************* ok: [localhost] TASK [ansible-role-ustreamer : create ustreamer user] ************************** ok: [localhost] TASK [ansible-role-ustreamer : check for a boot config file] ******************* ok: [localhost] TASK [ansible-role-ustreamer : save whether boot config file exists] *********** ok: [localhost] TASK [ansible-role-ustreamer : check whether this machine has a uStreamer settings file] *** ok: [localhost] TASK [ansible-role-ustreamer : read uStreamer settings file] ******************* ok: [localhost] TASK [ansible-role-ustreamer : decode settings file] *************************** ok: [localhost] TASK [ansible-role-ustreamer : read ustreamer_capture_device from config file if it's not already defined] *** ok: [localhost] TASK [ansible-role-ustreamer : enable TC358743 overlay in /boot/config.txt] **** ok: [localhost] TASK [ansible-role-ustreamer : enable TC358743-audio overlay in /boot/config.txt] *** ok: [localhost] TASK [ansible-role-ustreamer : set GPU memory to 256MB in /boot/config.txt] **** ok: [localhost] TASK [ansible-role-ustreamer : check for a boot cmdline file] ****************** ok: [localhost] TASK [ansible-role-ustreamer : read /boot/cmdline.txt] ************************* ok: [localhost] TASK [ansible-role-ustreamer : decode command-line string] ********************* ok: [localhost] TASK [ansible-role-ustreamer : change cma to 128M if it's set to a different value] *** skipping: [localhost] TASK [ansible-role-ustreamer : add cma=128M to cmdline.txt if it's missing] **** skipping: [localhost] TASK [ansible-role-ustreamer : create EDIDs folder] **************************** ok: [localhost] TASK [ansible-role-ustreamer : copy TC358743 EDID file] ************************ changed: [localhost] TASK [ansible-role-ustreamer : install TC358743 initializer service] *********** ok: [localhost] TASK [ansible-role-ustreamer : use custom settings for TC358743 chip for any facts not already defined] *** ok: [localhost] TASK [ansible-role-ustreamer : remove TC358743 initializer service file] ******* skipping: [localhost] TASK [ansible-role-ustreamer : disable TC358743 overlay in /boot/config.txt] *** skipping: [localhost] TASK [ansible-role-ustreamer : disable TC358743-audio overlay in /boot/config.txt] *** skipping: [localhost] TASK [ansible-role-ustreamer : collect universal required apt packages] ******** ok: [localhost] TASK [ansible-role-ustreamer : collect Raspberry Pi OS specific required apt packages] *** ok: [localhost] TASK [ansible-role-ustreamer : collect Raspberry Pi OS and Debian specific required apt packages for audio] *** ok: [localhost] TASK [ansible-role-ustreamer : collect Debian-specific required apt packages] *** skipping: [localhost] TASK [ansible-role-ustreamer : collect Ubuntu-specific required apt packages] *** skipping: [localhost] TASK [ansible-role-ustreamer : collect Janus WebRTC plugin specific required apt packages] *** ok: [localhost] TASK [ansible-role-ustreamer : install uStreamer pre-requisite packages] ******* ok: [localhost] TASK [ansible-role-ustreamer : install uStreamer Debian package] *************** changed: [localhost] TASK [ansible-role-ustreamer : create uStreamer folder] ************************ skipping: [localhost] TASK [ansible-role-ustreamer : get uStreamer repo] ***************************** skipping: [localhost] TASK [ansible-role-ustreamer : clean uStreamer repository] ********************* skipping: [localhost] TASK [ansible-role-ustreamer : build uStreamer] ******************************** skipping: [localhost] TASK [ansible-role-ustreamer : fix uStreamer folder permissions] *************** changed: [localhost] TASK [ansible-role-ustreamer : install uStreamer as a service] ***************** ok: [localhost] TASK [ansible-role-ustreamer : enable systemd uStreamer service file] ********** ok: [localhost] TASK [ansible-role-ustreamer : save uStreamer settings file] ******************* ok: [localhost] TASK [ansible-role-ustreamer : create uStreamer Janus plugin config] *********** ok: [localhost] TASK [ansible-role-ustreamer : install uStreamer Janus plugin] ***************** skipping: [localhost] TASK [ansible-role-ustreamer : define ansible to yq architecture mapping] ****** ok: [localhost] TASK [ansible-role-ustreamer : canonicalize yq binary architecture] ************ ok: [localhost] TASK [ansible-role-ustreamer : install yq] ************************************* ok: [localhost] TASK [ansible-role-ustreamer : create uStreamer launcher directories] ********** ok: [localhost] => (item=/opt/ustreamer-launcher) ok: [localhost] => (item=/opt/ustreamer-launcher/configs.d) TASK [ansible-role-ustreamer : create runtime variables dictionary] ************ ok: [localhost] TASK [ansible-role-ustreamer : collect non-null runtime variables] ************* ok: [localhost] => (item=ustreamer_interface) ok: [localhost] => (item=ustreamer_port) skipping: [localhost] => (item=ustreamer_video_path) ok: [localhost] => (item=ustreamer_encoder) ok: [localhost] => (item=ustreamer_format) skipping: [localhost] => (item=ustreamer_resolution) skipping: [localhost] => (item=ustreamer_desired_fps) ok: [localhost] => (item=ustreamer_workers) skipping: [localhost] => (item=ustreamer_quality) skipping: [localhost] => (item=ustreamer_brightness) ok: [localhost] => (item=ustreamer_persistent) ok: [localhost] => (item=ustreamer_use_dv_timings) ok: [localhost] => (item=ustreamer_drop_same_frames) skipping: [localhost] => (item=ustreamer_tcp_nodelay) ok: [localhost] => (item=ustreamer_h264_sink) ok: [localhost] => (item=ustreamer_h264_sink_mode) ok: [localhost] => (item=ustreamer_h264_sink_rm) skipping: [localhost] => (item=ustreamer_h264_bitrate) TASK [ansible-role-ustreamer : print uStreamer runtime variables] ************** ok: [localhost] => { "ustreamer_runtime_vars": { "ustreamer_drop_same_frames": "30", "ustreamer_encoder": "m2m-image", "ustreamer_format": "uyvy", "ustreamer_h264_sink": "tinypilot::ustreamer::h264", "ustreamer_h264_sink_mode": 777, "ustreamer_h264_sink_rm": true, "ustreamer_interface": "127.0.0.1", "ustreamer_persistent": true, "ustreamer_port": 8001, "ustreamer_use_dv_timings": true, "ustreamer_workers": "3" } } TASK [ansible-role-ustreamer : write uStreamer runtime variables to file] ****** ok: [localhost] TASK [ansible-role-ustreamer : install uStreamer launcher script] ************** ok: [localhost] TASK [ansible-role-tinypilot-pro : install TinyPilot Debian package] *********** changed: [localhost] TASK [ansible-role-tinypilot-pro : install TinyPilot as a service] ************* ok: [localhost] TASK [ansible-role-tinypilot-pro : enable systemd TinyPilot service file] ****** ok: [localhost] TASK [ansible-role-tinypilot-pro : generate nginx ca keys] ********************* ok: [localhost] TASK [ansible-role-tinypilot-pro : generate nginx tls keys] ******************** ok: [localhost] TASK [ansible-role-nginx : Include OS-specific variables.] ********************* ok: [localhost] TASK [ansible-role-nginx : Define nginx_user.] ********************************* ok: [localhost] TASK [ansible-role-nginx : include_tasks] ************************************** skipping: [localhost] TASK [ansible-role-nginx : include_tasks] ************************************** skipping: [localhost] TASK [ansible-role-nginx : include_tasks] ************************************** included: /mnt/tinypilot-installer/roles/ansible-role-nginx/tasks/setup-Debian.yml for localhost TASK [ansible-role-nginx : Update apt cache.] ********************************** ok: [localhost] TASK [ansible-role-nginx : Ensure nginx is installed.] ************************* ok: [localhost] TASK [ansible-role-nginx : include_tasks] ************************************** skipping: [localhost] TASK [ansible-role-nginx : include_tasks] ************************************** skipping: [localhost] TASK [ansible-role-nginx : include_tasks] ************************************** skipping: [localhost] TASK [ansible-role-nginx : Remove default nginx vhost config file (if configured).] *** ok: [localhost] TASK [ansible-role-nginx : Ensure nginx_vhost_path exists.] ******************** ok: [localhost] TASK [ansible-role-nginx : Add managed vhost config files.] ******************** ok: [localhost] => (item={'listen': [80, '443 ssl http2'], 'server_name': 'tinypilot', 'filename': 'tinypilot.conf', 'root': '/opt/tinypilot', 'index': 'index.html', 'error_page': '497 =307 https://$http_host$request_uri', 'extra_parameters': 'ssl_certificate "/etc/ssl/certs/tinypilot-nginx.crt";\nssl_certificate_key "/etc/ssl/private/tinypilot-nginx.key";\nssl_protocols TLSv1.2;\nssl_prefer_server_ciphers on;\nssl_ciphers ECDHE-RSA-AES256-GCM-SHA512:DHE-RSA-AES256-GCM-SHA512:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384;\nssl_ecdh_curve secp384r1;\nssl_session_timeout 10m;\nssl_session_cache shared:SSL:10m;\nssl_session_tickets off;\nproxy_buffers 16 16k;\nproxy_buffer_size 16k;\nproxy_set_header Host $http_host;\nproxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;\nproxy_set_header X-Forwarded-Proto $scheme;\nproxy_http_version 1.1;\nlocation /socket.io {\n proxy_pass http://tinypilot;\n proxy_set_header Upgrade $http_upgrade;\n proxy_set_header Connection "Upgrade";\n # Since this is a connection upgrade, we don\'t inherit the settings from\n # above. We need these so that nginx forwards requests properly to\n # Flask-SocketIO.\n # See: https://github.com/miguelgrinberg/Flask-SocketIO/issues/1501#issuecomment-802082048\n proxy_set_header Host $http_host;\n proxy_set_header X-Forwarded-Host $http_host;\n proxy_set_header X-Forwarded-Proto $scheme;\n}\nlocation /state {\n auth_request /auth;\n auth_request_set $auth_status $upstream_status;\n proxy_pass http://ustreamer;\n}\nlocation /stream {\n auth_request /auth;\n auth_request_set $auth_status $upstream_status;\n postpone_output 0;\n proxy_buffering off;\n proxy_ignore_headers X-Accel-Buffering;\n proxy_pass http://ustreamer;\n}\nlocation /snapshot {\n auth_request /auth;\n auth_request_set $auth_status $upstream_status;\n proxy_pass http://ustreamer;\n}\nlocation /janus/ws {\n auth_request /auth;\n auth_request_set $auth_status $upstream_status;\n proxy_pass http://janus-ws;\n proxy_set_header Upgrade $http_upgrade;\n proxy_set_header Connection "Upgrade";\n proxy_set_header Host $http_host;\n proxy_set_header X-Real-IP $remote_addr;\n proxy_set_header X-Scheme $scheme;\n proxy_set_header X-Forwarded-Proto $scheme;\n proxy_set_header X-Forwarded-Port $server_port;\n proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;\n}\nlocation /ca.crt {\n alias "/etc/ssl/certs/tinypilot-ca.crt";\n}\nlocation / {\n proxy_pass http://tinypilot;\n}\nlocation /api/massStorage/backingFiles {\n # Allow large file transfers without buffering them.\n client_max_body_size 0;\n proxy_request_buffering off;\n proxy_read_timeout 1d;\n proxy_pass http://tinypilot;\n}\nlocation ~* ^/.+\\.(html|js|js.map|css|woff|woff2)$ {\n root "/opt/tinypilot/app/static";\n\n # We cache assets to prevent the browser from making redundant\n # requests to the same files while loading the page. (Observed on\n # Chrome 91.) We don’t want caching otherwise, though, in order to\n # avoid stale files after users update their device. Note, that in\n # addition to `max-age`, the browser’s caching behaviour is relative\n # to the `Last-Modified` header, so we make that seem recent.\n add_header Last-Modified $date_gmt;\n add_header Cache-Control \'public, max-age=10s\';\n}\nlocation ~* ^/.+\\.(jpg|jpeg|png|ico)$ {\n root "/opt/tinypilot/app/static";\n}\n# Authenticate any protected routes that are outside of the core\n# TinyPilot web app.\nlocation = /auth {\n internal;\n proxy_pass http://tinypilot/api/auth;\n proxy_pass_request_body off;\n proxy_set_header Content-Length "";\n proxy_set_header X-Original-URI $request_uri;\n\n # Redefine header directives, as they are not inherited here:\n # See http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_set_header\n proxy_set_header X-Forwarded-Proto $scheme;\n}\n'}) TASK [ansible-role-nginx : Remove managed vhost config files.] ***************** skipping: [localhost] => (item={'listen': [80, '443 ssl http2'], 'server_name': 'tinypilot', 'filename': 'tinypilot.conf', 'root': '/opt/tinypilot', 'index': 'index.html', 'error_page': '497 =307 https://$http_host$request_uri', 'extra_parameters': 'ssl_certificate "/etc/ssl/certs/tinypilot-nginx.crt";\nssl_certificate_key "/etc/ssl/private/tinypilot-nginx.key";\nssl_protocols TLSv1.2;\nssl_prefer_server_ciphers on;\nssl_ciphers ECDHE-RSA-AES256-GCM-SHA512:DHE-RSA-AES256-GCM-SHA512:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384;\nssl_ecdh_curve secp384r1;\nssl_session_timeout 10m;\nssl_session_cache shared:SSL:10m;\nssl_session_tickets off;\nproxy_buffers 16 16k;\nproxy_buffer_size 16k;\nproxy_set_header Host $http_host;\nproxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;\nproxy_set_header X-Forwarded-Proto $scheme;\nproxy_http_version 1.1;\nlocation /socket.io {\n proxy_pass http://tinypilot;\n proxy_set_header Upgrade $http_upgrade;\n proxy_set_header Connection "Upgrade";\n # Since this is a connection upgrade, we don\'t inherit the settings from\n # above. We need these so that nginx forwards requests properly to\n # Flask-SocketIO.\n # See: https://github.com/miguelgrinberg/Flask-SocketIO/issues/1501#issuecomment-802082048\n proxy_set_header Host $http_host;\n proxy_set_header X-Forwarded-Host $http_host;\n proxy_set_header X-Forwarded-Proto $scheme;\n}\nlocation /state {\n auth_request /auth;\n auth_request_set $auth_status $upstream_status;\n proxy_pass http://ustreamer;\n}\nlocation /stream {\n auth_request /auth;\n auth_request_set $auth_status $upstream_status;\n postpone_output 0;\n proxy_buffering off;\n proxy_ignore_headers X-Accel-Buffering;\n proxy_pass http://ustreamer;\n}\nlocation /snapshot {\n auth_request /auth;\n auth_request_set $auth_status $upstream_status;\n proxy_pass http://ustreamer;\n}\nlocation /janus/ws {\n auth_request /auth;\n auth_request_set $auth_status $upstream_status;\n proxy_pass http://janus-ws;\n proxy_set_header Upgrade $http_upgrade;\n proxy_set_header Connection "Upgrade";\n proxy_set_header Host $http_host;\n proxy_set_header X-Real-IP $remote_addr;\n proxy_set_header X-Scheme $scheme;\n proxy_set_header X-Forwarded-Proto $scheme;\n proxy_set_header X-Forwarded-Port $server_port;\n proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;\n}\nlocation /ca.crt {\n alias "/etc/ssl/certs/tinypilot-ca.crt";\n}\nlocation / {\n proxy_pass http://tinypilot;\n}\nlocation /api/massStorage/backingFiles {\n # Allow large file transfers without buffering them.\n client_max_body_size 0;\n proxy_request_buffering off;\n proxy_read_timeout 1d;\n proxy_pass http://tinypilot;\n}\nlocation ~* ^/.+\\.(html|js|js.map|css|woff|woff2)$ {\n root "/opt/tinypilot/app/static";\n\n # We cache assets to prevent the browser from making redundant\n # requests to the same files while loading the page. (Observed on\n # Chrome 91.) We don’t want caching otherwise, though, in order to\n # avoid stale files after users update their device. Note, that in\n # addition to `max-age`, the browser’s caching behaviour is relative\n # to the `Last-Modified` header, so we make that seem recent.\n add_header Last-Modified $date_gmt;\n add_header Cache-Control \'public, max-age=10s\';\n}\nlocation ~* ^/.+\\.(jpg|jpeg|png|ico)$ {\n root "/opt/tinypilot/app/static";\n}\n# Authenticate any protected routes that are outside of the core\n# TinyPilot web app.\nlocation = /auth {\n internal;\n proxy_pass http://tinypilot/api/auth;\n proxy_pass_request_body off;\n proxy_set_header Content-Length "";\n proxy_set_header X-Original-URI $request_uri;\n\n # Redefine header directives, as they are not inherited here:\n # See http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_set_header\n proxy_set_header X-Forwarded-Proto $scheme;\n}\n'}) TASK [ansible-role-nginx : Remove legacy vhosts.conf file.] ******************** ok: [localhost] TASK [ansible-role-nginx : Copy nginx configuration in place.] ***************** changed: [localhost] TASK [ansible-role-nginx : Ensure nginx service is running as configured.] ***** ok: [localhost] RUNNING HANDLER [ansible-role-nginx : reload nginx] **************************** changed: [localhost] PLAY RECAP ********************************************************************* localhost : ok=69 changed=6 unreachable=0 failed=0 skipped=19 rescued=0 ignored=0 + cp /mnt/tinypilot-installer/tmp/tmp.G4V2HRMJUP.yml /home/tinypilot/settings.yml + chown tinypilot:tinypilot /home/tinypilot/settings.yml + chmod 0644 /home/tinypilot/settings.yml + clean_up + rm -rf /mnt/tinypilot-installer/tmp/tmp.G4V2HRMJUP.yml + clean_up + sudo umount --lazy /mnt/tinypilot-installer + sudo rm -rf /opt/tinypilot-updater /mnt/tinypilot-installer + exit 0 2023-06-26 21:41:37.623 __main__ INFO Update completed successfully 2023-06-26 21:41:37.623 update.result_store INFO Writing result file to /home/tinypilot/logs/latest-update-result.json 2023-06-26 21:41:37.625 update.target_version INFO Clearing target version file /home/tinypilot/target-version uStreamer configuration ==> /opt/ustreamer-launcher/configs.d/000-defaults.yml <== --- ustreamer_drop_same_frames: '30' ustreamer_encoder: m2m-image ustreamer_format: uyvy ustreamer_h264_sink: tinypilot::ustreamer::h264 ustreamer_h264_sink_mode: 777 ustreamer_h264_sink_rm: true ustreamer_interface: 127.0.0.1 ustreamer_persistent: true ustreamer_port: 8001 ustreamer_use_dv_timings: true ustreamer_workers: '3' ==> /opt/ustreamer-launcher/configs.d/100-tinypilot.yml <== ustreamer_persistent: true ustreamer_port: 8001 uStreamer logs Jun 26 23:50:54 tinypilot launch[528]: -- INFO [6218.883 stream] -- Destroying workers pool JPEG ... Jun 26 23:50:54 tinypilot launch[528]: -- INFO [6218.909 stream] -- Capturing stopped Jun 26 23:50:54 tinypilot launch[528]: -- INFO [6218.913 stream] -- Device fd=10 closed Jun 26 23:50:54 tinypilot launch[528]: -- INFO [6218.913 stream] -- Changed video frame to BLANK Jun 26 23:50:54 tinypilot launch[528]: -- INFO [6218.916 stream] -- H264: Configuring encoder: DMA=0 ... Jun 26 23:50:54 tinypilot launch[528]: ================================================================================ Jun 26 23:50:54 tinypilot launch[528]: -- INFO [6218.935 stream] -- Device fd=10 opened Jun 26 23:50:54 tinypilot launch[528]: -- INFO [6218.935 stream] -- Using input channel: 0 Jun 26 23:50:54 tinypilot launch[528]: -- INFO [6218.942 stream] -- Got new DV-timings: 1920x1080p50.00, pixclk=148500000, vsync=45, hsync=720 Jun 26 23:50:54 tinypilot launch[528]: -- INFO [6218.979 stream] -- Using resolution: 1920x1080 Jun 26 23:50:54 tinypilot launch[528]: -- INFO [6218.979 stream] -- Using format: UYVY Jun 26 23:50:54 tinypilot launch[528]: -- INFO [6218.979 stream] -- Querying HW FPS changing is not supported Jun 26 23:50:54 tinypilot launch[528]: -- INFO [6218.979 stream] -- Using IO method: MMAP Jun 26 23:50:54 tinypilot launch[528]: -- INFO [6218.989 stream] -- Requested 5 device buffers, got 5 Jun 26 23:50:54 tinypilot launch[528]: -- INFO [6218.996 stream] -- Capturing started Jun 26 23:50:54 tinypilot launch[528]: -- INFO [6218.996 stream] -- Using JPEG quality: 80% Jun 26 23:50:54 tinypilot launch[528]: -- INFO [6218.996 stream] -- Creating pool JPEG with 3 workers ... Jun 26 23:50:54 tinypilot launch[528]: -- INFO [6218.996 stream] -- Capturing ... Jun 26 23:50:54 tinypilot launch[528]: -- INFO [6219.012 stream] -- H264: Configuring encoder: DMA=1 ... Jun 26 23:51:13 tinypilot launch[528]: -- INFO [6237.570 stream] -- Got V4L2 event Jun 26 23:51:13 tinypilot launch[528]: -- INFO [6237.570 stream] -- Got V4L2_EVENT_SOURCE_CHANGE: source changed Jun 26 23:51:13 tinypilot launch[528]: -- INFO [6237.570 stream] -- Destroying workers pool JPEG ... Jun 26 23:51:13 tinypilot launch[528]: -- INFO [6237.590 stream] -- Capturing stopped Jun 26 23:51:13 tinypilot launch[528]: -- INFO [6237.594 stream] -- Device fd=10 closed Jun 26 23:51:13 tinypilot launch[528]: -- INFO [6237.594 stream] -- Changed video frame to BLANK Jun 26 23:51:13 tinypilot launch[528]: -- INFO [6237.597 stream] -- H264: Configuring encoder: DMA=0 ... Jun 26 23:51:13 tinypilot launch[528]: ================================================================================ Jun 26 23:51:13 tinypilot launch[528]: -- INFO [6237.617 stream] -- Device fd=10 opened Jun 26 23:51:13 tinypilot launch[528]: -- INFO [6237.617 stream] -- Using input channel: 0 Jun 26 23:51:13 tinypilot launch[528]: -- ERROR [6237.638 stream] -- Requested resolution=640x480 is unavailable Jun 26 23:51:13 tinypilot launch[528]: -- INFO [6237.658 stream] -- Using resolution: 1920x1080 Jun 26 23:51:13 tinypilot launch[528]: -- INFO [6237.658 stream] -- Using format: UYVY Jun 26 23:51:13 tinypilot launch[528]: -- INFO [6237.659 stream] -- Querying HW FPS changing is not supported Jun 26 23:51:13 tinypilot launch[528]: -- INFO [6237.659 stream] -- Using IO method: MMAP Jun 26 23:51:13 tinypilot launch[528]: -- INFO [6237.668 stream] -- Requested 5 device buffers, got 5 Jun 26 23:51:13 tinypilot launch[528]: -- INFO [6237.676 stream] -- Capturing started Jun 26 23:51:13 tinypilot launch[528]: -- INFO [6237.676 stream] -- Using JPEG quality: 80% Jun 26 23:51:13 tinypilot launch[528]: -- INFO [6237.676 stream] -- Creating pool JPEG with 3 workers ... Jun 26 23:51:13 tinypilot launch[528]: -- INFO [6237.676 stream] -- Capturing ... Jun 26 23:51:14 tinypilot launch[528]: -- ERROR [6238.678 stream] -- Persistent device timeout (unplugged) Jun 26 23:51:16 tinypilot launch[528]: -- INFO [6241.348 http] -- HTTP: NEW client (now=1): [2601:86:103:40b0:a0cc:4ce0:2286:7c44]:34404, id=a6bebd25a0d2f8f2 Jun 26 23:51:17 tinypilot launch[528]: -- INFO [6241.811 http] -- HTTP: DEL client (now=0): [2601:86:103:40b0:a0cc:4ce0:2286:7c44]:34404, id=a6bebd25a0d2f8f2, Resource temporarily unavailable (reading,eof) Jun 26 23:51:17 tinypilot launch[528]: -- INFO [6242.300 http] -- HTTP: NEW client (now=1): [10.0.0.253]:34406, id=9c7547a6759abe43 Jun 26 23:51:44 tinypilot launch[528]: -- INFO [6269.354 stream] -- H264: Configuring encoder: DMA=1 ... Jun 26 23:51:45 tinypilot launch[528]: -- INFO [6269.453 stream] -- H264: Requested keyframe by a sink client Jun 26 23:51:45 tinypilot launch[528]: -- INFO [6269.746 stream] -- H264: Requested keyframe by a sink client Jun 26 23:51:45 tinypilot launch[528]: -- INFO [6269.747 http] -- HTTP: DEL client (now=0): [10.0.0.253]:34406, id=9c7547a6759abe43, Resource temporarily unavailable (reading,eof) Jun 26 23:51:45 tinypilot launch[528]: -- INFO [6269.796 stream] -- H264: Requested keyframe by a sink client Jun 26 23:51:45 tinypilot launch[528]: -- INFO [6269.846 stream] -- Got V4L2 event Jun 26 23:51:45 tinypilot launch[528]: -- INFO [6269.847 stream] -- Got V4L2_EVENT_SOURCE_CHANGE: source changed Jun 26 23:51:45 tinypilot launch[528]: -- INFO [6269.847 stream] -- Destroying workers pool JPEG ... Jun 26 23:51:45 tinypilot launch[528]: -- INFO [6269.873 stream] -- Capturing stopped Jun 26 23:51:45 tinypilot launch[528]: -- INFO [6269.877 stream] -- Device fd=10 closed Jun 26 23:51:45 tinypilot launch[528]: -- INFO [6269.878 stream] -- Changed video frame to BLANK Jun 26 23:51:45 tinypilot launch[528]: -- INFO [6269.881 stream] -- H264: Configuring encoder: DMA=0 ... Jun 26 23:51:45 tinypilot launch[528]: ================================================================================ Jun 26 23:51:45 tinypilot launch[528]: -- INFO [6269.904 stream] -- Device fd=10 opened Jun 26 23:51:45 tinypilot launch[528]: -- INFO [6269.904 stream] -- Using input channel: 0 Jun 26 23:51:45 tinypilot launch[528]: -- INFO [6269.911 stream] -- Got new DV-timings: 1920x1080p50.00, pixclk=148500000, vsync=45, hsync=720 Jun 26 23:51:45 tinypilot launch[528]: -- INFO [6269.931 stream] -- Using resolution: 1920x1080 Jun 26 23:51:45 tinypilot launch[528]: -- INFO [6269.931 stream] -- Using format: UYVY Jun 26 23:51:45 tinypilot launch[528]: -- INFO [6269.931 stream] -- Querying HW FPS changing is not supported Jun 26 23:51:45 tinypilot launch[528]: -- INFO [6269.931 stream] -- Using IO method: MMAP Jun 26 23:51:45 tinypilot launch[528]: -- INFO [6269.941 stream] -- Requested 5 device buffers, got 5 Jun 26 23:51:45 tinypilot launch[528]: -- INFO [6269.948 stream] -- Capturing started Jun 26 23:51:45 tinypilot launch[528]: -- INFO [6269.948 stream] -- Using JPEG quality: 80% Jun 26 23:51:45 tinypilot launch[528]: -- INFO [6269.948 stream] -- Creating pool JPEG with 3 workers ... Jun 26 23:51:45 tinypilot launch[528]: -- INFO [6269.949 stream] -- Capturing ... Jun 26 23:51:45 tinypilot launch[528]: -- INFO [6269.954 stream] -- H264: Configuring encoder: DMA=1 ... Jun 26 23:54:03 tinypilot launch[528]: -- INFO [6407.972 http] -- HTTP: NEW client (now=1): [2601:86:103:40b0:214d:8bcc:7c36:7c54]:49200, id=455a99be0d6b84d4 Jun 26 23:54:05 tinypilot launch[528]: -- INFO [6409.879 stream] -- H264: Requested keyframe by a sink client Jun 26 23:54:05 tinypilot launch[528]: -- INFO [6410.427 stream] -- H264: Requested keyframe by a sink client Jun 26 23:54:06 tinypilot launch[528]: -- INFO [6410.482 stream] -- H264: Requested keyframe by a sink client Jun 26 23:54:06 tinypilot launch[528]: -- INFO [6411.021 http] -- HTTP: DEL client (now=0): [2601:86:103:40b0:214d:8bcc:7c36:7c54]:49200, id=455a99be0d6b84d4, Resource temporarily unavailable (reading,eof) Jun 26 23:54:06 tinypilot launch[528]: -- INFO [6411.089 stream] -- H264: Requested keyframe by a sink client Jun 26 23:54:06 tinypilot launch[528]: -- INFO [6411.149 stream] -- H264: Requested keyframe by a sink client Jun 26 23:54:07 tinypilot launch[528]: -- INFO [6411.451 stream] -- H264: Requested keyframe by a sink client Jun 26 23:54:07 tinypilot launch[528]: -- INFO [6411.503 stream] -- H264: Requested keyframe by a sink client Jun 26 23:54:07 tinypilot launch[528]: -- INFO [6412.177 stream] -- H264: Requested keyframe by a sink client Jun 26 23:54:07 tinypilot launch[528]: -- INFO [6412.245 stream] -- H264: Requested keyframe by a sink client nginx logs -- Journal begins at Mon 2023-06-26 22:07:08 BST, ends at Mon 2023-06-26 23:56:07 BST. -- Jun 26 22:07:12 tinypilot systemd[1]: Starting A high performance web server and a reverse proxy server... Jun 26 22:07:13 tinypilot systemd[1]: Started A high performance web server and a reverse proxy server. 2023/06/26 21:41:21 [notice] 30467#30467: signal process started 2023/06/26 22:07:07 [error] 30468#30468: *937 upstream prematurely closed connection while reading response header from upstream, client: 2601:86:103:40b0:dd18:2b3a:e0c0:431e, server: tinypilot, request: "POST /api/restart HTTP/2.0", upstream: "http://127.0.0.1:8000/api/restart", host: "tinypilot.local", referrer: "https://tinypilot.local/" 2601:86:103:40b0:214d:8bcc:7c36:7c54 - - [26/Jun/2023:23:54:03 +0100] "GET /js/clipboard.js HTTP/2.0" 200 889 "https://tinypilot/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.21412.111 Safari/537.36 AVG/114.0.21412.111" "-" 2601:86:103:40b0:214d:8bcc:7c36:7c54 - - [26/Jun/2023:23:54:03 +0100] "GET /js/mouse.js HTTP/2.0" 200 8492 "https://tinypilot/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.21412.111 Safari/537.36 AVG/114.0.21412.111" "-" 2601:86:103:40b0:214d:8bcc:7c36:7c54 - - [26/Jun/2023:23:54:03 +0100] "GET /third-party/socket.io/3.1.3/socket.io.min.js HTTP/2.0" 200 61701 "https://tinypilot/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.21412.111 Safari/537.36 AVG/114.0.21412.111" "-" 2601:86:103:40b0:214d:8bcc:7c36:7c54 - - [26/Jun/2023:23:54:03 +0100] "GET /js/app.js HTTP/2.0" 200 14083 "https://tinypilot/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.21412.111 Safari/537.36 AVG/114.0.21412.111" "-" 2601:86:103:40b0:214d:8bcc:7c36:7c54 - - [26/Jun/2023:23:54:03 +0100] "GET /third-party/webrtc-adapter/8.1.1/adapter.min.js HTTP/2.0" 200 59549 "https://tinypilot/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.21412.111 Safari/537.36 AVG/114.0.21412.111" "-" 2601:86:103:40b0:214d:8bcc:7c36:7c54 - - [26/Jun/2023:23:54:03 +0100] "GET /third-party/janus-gateway/1.0.0/janus.js HTTP/2.0" 200 134759 "https://tinypilot/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.21412.111 Safari/537.36 AVG/114.0.21412.111" "-" 2601:86:103:40b0:214d:8bcc:7c36:7c54 - - [26/Jun/2023:23:54:03 +0100] "GET /js/webrtc-video.js HTTP/2.0" 200 6806 "https://tinypilot/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.21412.111 Safari/537.36 AVG/114.0.21412.111" "-" 2601:86:103:40b0:214d:8bcc:7c36:7c54 - - [26/Jun/2023:23:54:03 +0100] "GET /third-party/fonts/overpass-light.woff2 HTTP/2.0" 200 26568 "https://tinypilot/third-party/fonts/fonts.css" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.21412.111 Safari/537.36 AVG/114.0.21412.111" "-" 2601:86:103:40b0:214d:8bcc:7c36:7c54 - - [26/Jun/2023:23:54:03 +0100] "GET /js/keycodes.js HTTP/2.0" 200 3205 "https://tinypilot/js/app.js" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.21412.111 Safari/537.36 AVG/114.0.21412.111" "-" 2601:86:103:40b0:214d:8bcc:7c36:7c54 - - [26/Jun/2023:23:54:03 +0100] "GET /js/keyboardstate.js HTTP/2.0" 200 3164 "https://tinypilot/js/app.js" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.21412.111 Safari/537.36 AVG/114.0.21412.111" "-" 2601:86:103:40b0:214d:8bcc:7c36:7c54 - - [26/Jun/2023:23:54:03 +0100] "GET /js/keystrokes.js HTTP/2.0" 200 362 "https:" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.21412.111 Safari/537.36 AVG/114.0.21412.111" "-" 2601:86:103:40b0:214d:8bcc:7c36:7c54 - - [26/Jun/2023:23:54:03 +0100] "GET /js/paste.js HTTP/2.0" 200 2096 "" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.21412.111 Safari/537.36 AVG/114.0.21412.111" "-" 2601:86:103:40b0:214d:8bcc:7c36:7c54 - - [26/Jun/2023:23:54:03 +0100] "GET /js/overlays.js HTTP/2.0" 200 495 "" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.21412.111 Safari/537.36 AVG/114.0.21412.111" "-" 2601:86:103:40b0:214d:8bcc:7c36:7c54 - - [26/Jun/2023:23:54:03 +0100] "GET /css/icons.css HTTP/2.0" 200 841 "" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.21412.111 Safari/537.36 AVG/114.0.21412.111" "-" 2601:86:103:40b0:214d:8bcc:7c36:7c54 - - [26/Jun/2023:23:54:03 +0100] "GET /css/toggle.css HTTP/2.0" 200 1005 " "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.21412.111 Safari/537.36 AVG/114.0.21412.111" "-" 2601:86:103:40b0:214d:8bcc:7c36:7c54 - - [26/Jun/2023:23:54:03 +0100] "GET /img/logo.svg HTTP/2.0" 200 5550 "" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.21412.111 Safari/537.36 AVG/114.0.21412.111" "-" 2601:86:103:40b0:214d:8bcc:7c36:7c54 - - [26/Jun/2023:23:54:03 +0100] "GET /img/video-stream-icon.svg HTTP/2.0" 200 840 "" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.21412.111 Safari/537.36 AVG/114.0.21412.111" "-" 2601:86:103:40b0:214d:8bcc:7c36:7c54 - - [26/Jun/2023:23:54:03 +0100] "GET /img/warning-icon.svg HTTP/2.0" 200 2177 "" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.21412.111 Safari/537.36 AVG/114.0.21412.111" "-" 2601:86:103:40b0:214d:8bcc:7c36:7c54 - - [26/Jun/2023:23:54:03 +0100] "GET /img/clipboard-icon.svg HTTP/2.0" 200 855 "" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.21412.111 Safari/537.36 AVG/114.0.21412.111" "-" 2601:86:103:40b0:214d:8bcc:7c36:7c54 - - [26/Jun/2023:23:54:03 +0100] "GET /img/angle-down-icon.svg HTTP/2.0" 200 516 "" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.21412.111 Safari/537.36 AVG/114.0.21412.111" "-" 2601:86:103:40b0:214d:8bcc:7c36:7c54 - - [26/Jun/2023:23:54:03 +0100] "GET /img/external-link-icon.svg HTTP/2.0" 200 1223 "" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.21412.111 Safari/537.36 AVG/114.0.21412.111" "-" 2601:86:103:40b0:214d:8bcc:7c36:7c54 - - [26/Jun/2023:23:54:03 +0100] "GET /third-party/fonts/overpass-mono-light.woff2 HTTP/2.0" 200 50112 "https://tinypilot/third-party/fonts/fonts.css" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.21412.111 Safari/537.36 AVG/114.0.21412.111" "-" 2601:86:103:40b0:214d:8bcc:7c36:7c54 - - [26/Jun/2023:23:54:03 +0100] "GET /third-party/fonts/overpass-semibold.woff2 HTTP/2.0" 200 25032 "https://tinypilot/third-party/fonts/fonts.css" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.21412.111 Safari/537.36 AVG/114.0.21412.111" "-" 2601:86:103:40b0:214d:8bcc:7c36:7c54 - - [26/Jun/2023:23:54:03 +0100] "GET /socket.io/?EIO=4&transport=polling&t=OZvwdN8 HTTP/2.0" 200 96 "https://tinypilot/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.21412.111 Safari/537.36 AVG/114.0.21412.111" "-" 2601:86:103:40b0:214d:8bcc:7c36:7c54 - - [26/Jun/2023:23:54:03 +0100] "POST /socket.io/?EIO=4&transport=polling&t=OZvwdNm&sid=TVVHv22AeivIq59GAAAW HTTP/2.0" 200 2 "" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.21412.111 Safari/537.36 AVG/114.0.21412.111" "-" 2601:86:103:40b0:214d:8bcc:7c36:7c54 - - [26/Jun/2023:23:54:03 +0100] "GET /socket.io/?EIO=4&transport=polling&t=OZvwdNp&sid=TVVHv22AeivIq59GAAAW HTTP/2.0" 200 32 "" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.21412.111 Safari/537.36 AVG/114.0.21412.111" "-" 2601:86:103:40b0:214d:8bcc:7c36:7c54 - - [26/Jun/2023:23:54:03 +0100] "GET /favicon.ico HTTP/2.0" 200 1213 "https://tinypilot/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.21412.111 Safari/537.36 AVG/114.0.21412.111" "-" 2601:86:103:40b0:214d:8bcc:7c36:7c54 - - [26/Jun/2023:23:54:04 +0100] "GET /socket.io/?EIO=4&transport=polling&t=OZvwdRD&sid=TVVHv22AeivIq59GAAAW HTTP/2.0" 200 1 "" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.21412.111 Safari/537.36 AVG/114.0.21412.111" "-" 2601:86:103:40b0:214d:8bcc:7c36:7c54 - - [26/Jun/2023:23:54:06 +0100] "GET /stream?advance_headers=1 HTTP/2.0" 200 16574366 "https://tinypilot/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.21412.111 Safari/537.36 AVG/114.0.21412.111" "-" 2601:86:103:40b0:214d:8bcc:7c36:7c54 - - [26/Jun/2023:23:54:06 +0100] "GET /apple-touch-icon.png HTTP/2.0" 200 3571 "https://tinypilot/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.21412.111 Safari/537.36 AVG/114.0.21412.111" "-"
- David @david2023-06-27 11:48:56.587Z
Thanks for sharing that log! I can't see any obvious issues in there.
I've just done a quick test. I connected my old Macbook Pro running macOS Mojave (10.14) to my TinyPilot 2a and it also lists the output settings as "The selected device has no output controls". This appears to be the expected behavior. I can confirm that sound output via my TinyPilot 2a works in this setup.
"Output controls" in this situation seems to be referring to adjustments like master volume and left/right balance. It just means you can't make those adjustments with TinyPilot as the output device. Since you're still not hearing audio, I suspect there's some other issue in your setup. Perhaps with volume or mute settings in the apps you're using on both your target machine (MacBook Pro) and client machine (the device you're using to access your TinyPilot's web interface.
Could you double-check that your Macbook plays audio via its speakers in the apps you're using? And then could you double-check that your client machine also plays audio via your browser? Your browser might need you to explicitly enable audio for the TinyPilot web interface if you have options like autoplay disabled.
Hello David,
I double checked my Macbook it plays audio via its speakers without any issue.
but when select TinyPilot HDMI as sound out put , there is no audio (tried youtube too, the video get stuck when selected HDMI as output, but built-in speaker has no issue).
I checked browser and everything looks good.Also checked with Windows machine in fact everything works with Windows in browser but not with Macbook Pro.
I am kind stuck now as I bought this TinyPilot for my macbook pro to access remotely but it does not seems work (audio) in any case.
Kindly, advise the solution!!
- David @david2023-06-28 14:23:22.990Z
Thanks for testing all of that, @ravi1234!
Based on your reply, it sounds like your TinyPilot is handling sound correctly since it's working with a different PC (Windows). That suggests this is an issue with the Macbook.
Are you able to test whether your Macbook can output both video and sound over HDMI to a different device? Perhaps a TV? If you could test with the same HDMI cable that you use with your TinyPilot, that would be ideal.