Open BjarneJensen opened 2 years ago
I've just checked it and it works for me on Raspi 400. Can you start the stream and send me an output of these commands:
xrandr
and
cat /tmp/yuri_config_player.xml
Thanks!
Thanks for the response. Here is the output from those commands when trying to run in advanced mode with two displays
pi@raspberrypi:~ $ xrandr
Can't open display
pi@raspberrypi:~ $ cat /tmp/yuri_config_player.xml
cat: /tmp/yuri_config_player.xml: No such file or directory
If I run in simple mode with one display, I get:
pi@raspberrypi:~ $ cat /tmp/yuri_config_player.xml
<?xml version="1.0" encoding="UTF-8"?>
<app name="player">
<description>Yuri auto-generated config player.</description>
<node class="ndi_input" name="ndi_input_0">
<parameter name="stream">LAPTOP</parameter>
<parameter name="backup">LAPTOP</parameter>
<parameter name="format">fastest</parameter>
<parameter name="audio">false</parameter>
<parameter name="lowres">true</parameter>
</node>
<node class="frame_info" name="frame_info_0">
<parameter name="fps_stats">50</parameter>
</node>
<link class="single" name="link_video_input_0" source="ndi_input_0:0" target="frame_info_0:0"/>
<link class="single" name="link_video_info_0" source="frame_info_0:0" target="src_select_auto_0:1"/>
<node class="ndi_blank" name="blank_generator_auto_0">
<parameter name="resolution">1920x1080</parameter>
<parameter name="format">uyvy</parameter>
<parameter name="fps">0</parameter>
</node>
<node class="select" name="src_select_auto_0">
<parameter name="index">0</parameter>
</node>
<link class="single" name="link_blank_generator_auto_0" source="blank_generator_auto_0:0" target="src_select_auto_0:0"/>
<link class="single" name="link_video_select_auto_0" source="src_select_auto_0:0" target="combine_auto:0"/>
<node class="ndi_combine" name="combine_auto">
<parameter name="x">1</parameter>
<parameter name="y">1</parameter>
<parameter name="main_input">-2</parameter>
</node>
<node class="dup" name="dup_auto"/>
<node class="glx_window" name="window_auto">
<parameter name="decorations">false</parameter>
<parameter name="show_cursor">false</parameter>
<parameter name="fullscreen">true</parameter>
<parameter name="display">:0.0</parameter>
<parameter name="resolution">1920x1080</parameter>
<parameter name="position">0x0</parameter>
</node>
<link class="single" name="link_video_combine_auto" source="combine_auto:0" target="dup_auto:0"/>
<link class="single" name="link_video_dup_screen_auto" source="dup_auto:-1" target="window_auto:0"/>
<node class="event_delay" name="event_delay">
<parameter name="delay">0.1</parameter>
</node>
<node class="event_info" name="event_info"/>
<node class="webserver" name="websrv">
<parameter name="port">9191</parameter>
</node>
<node class="web_control" name="webctrl">
<parameter name="path">/control</parameter>
</node>
<node class="web_static" name="webstatic">
<parameter name="path">/</parameter>
<parameter name="filename">/etc/hostname</parameter>
<parameter name="mime">text/plain</parameter>
</node>
<event>
route(pass(event_delay:index))->src_select_auto_0:index;
route(pass(1))->event_delay:index;
route(window_auto:mouse_right)->ndi_input_0:quit;
route(window_auto:button3)->ndi_input_0:quit;
route(window_auto:key24)->ndi_input_0:quit;
route(pass(1920))->window_auto:width;
route(pass(1080))->window_auto:height;
</event>
</app>
Thanks for any help you can provide. I think there is a new version of bullseye since I made this post, so I might try flashing that and starting over.
I just tried again in dual display mode, but the stream only displays on one screen. However, now the command shows:
pi@raspberrypi:~ $ cat /tmp/yuri_config_player.xml
<?xml version="1.0" encoding="UTF-8"?>
<app name="player">
<description>Yuri auto-generated config player.</description>
<node class="ndi_input" name="ndi_input_0">
<parameter name="stream">LAPTOP</parameter>
<parameter name="backup"></parameter>
<parameter name="format">fastest</parameter>
<parameter name="audio">false</parameter>
<parameter name="lowres">true</parameter>
</node>
<node class="frame_info" name="frame_info_0">
<parameter name="fps_stats">50</parameter>
</node>
<link class="single" name="link_video_input_0" source="ndi_input_0:0" target="frame_info_0:0"/>
<link class="single" name="link_video_info_0" source="frame_info_0:0" target="src_select_HDMI-1_0:1"/>
<node class="ndi_blank" name="blank_generator_HDMI-1_0">
<parameter name="resolution">1920x1080</parameter>
<parameter name="format">uyvy</parameter>
<parameter name="fps">0</parameter>
</node>
<node class="select" name="src_select_HDMI-1_0">
<parameter name="index">0</parameter>
</node>
<link class="single" name="link_blank_generator_HDMI-1_0" source="blank_generator_HDMI-1_0:0" target="src_select_HDMI-1_0:0"/>
<link class="single" name="link_video_select_HDMI-1_0" source="src_select_HDMI-1_0:0" target="combine_HDMI-1:0"/> <node class="ndi_combine" name="combine_HDMI-1">
<parameter name="x">1</parameter>
<parameter name="y">1</parameter>
<parameter name="main_input">-2</parameter>
</node>
<node class="dup" name="dup_HDMI-1"/>
<node class="glx_window" name="window_HDMI-1">
<parameter name="decorations">false</parameter>
<parameter name="show_cursor">false</parameter>
<parameter name="fullscreen">true</parameter>
<parameter name="display">:0.0</parameter>
<parameter name="resolution">1920x1080</parameter>
<parameter name="position">0x0</parameter>
</node>
<link class="single" name="link_video_combine_HDMI-1" source="combine_HDMI-1:0" target="dup_HDMI-1:0"/>
<link class="single" name="link_video_dup_screen_HDMI-1" source="dup_HDMI-1:-1" target="window_HDMI-1:0"/>
<node class="ndi_input" name="ndi_input_1">
<parameter name="stream">LAPTOP</parameter>
<parameter name="backup"></parameter>
<parameter name="format">fastest</parameter>
<parameter name="audio">false</parameter>
<parameter name="lowres">true</parameter>
</node>
<node class="frame_info" name="frame_info_1">
<parameter name="fps_stats">50</parameter>
</node>
<link class="single" name="link_video_input_1" source="ndi_input_1:0" target="frame_info_1:0"/>
<link class="single" name="link_video_info_1" source="frame_info_1:0" target="src_select_HDMI-2_0:1"/>
<node class="ndi_blank" name="blank_generator_HDMI-2_0">
<parameter name="resolution">1920x1080</parameter>
<parameter name="format">uyvy</parameter>
<parameter name="fps">0</parameter>
</node>
<node class="select" name="src_select_HDMI-2_0">
<parameter name="index">0</parameter>
</node>
<link class="single" name="link_blank_generator_HDMI-2_0" source="blank_generator_HDMI-2_0:0" target="src_select_HDMI-2_0:0"/>
<link class="single" name="link_video_select_HDMI-2_0" source="src_select_HDMI-2_0:0" target="combine_HDMI-2:0"/> <node class="ndi_combine" name="combine_HDMI-2">
<parameter name="x">1</parameter>
<parameter name="y">1</parameter>
<parameter name="main_input">-2</parameter>
</node>
<node class="dup" name="dup_HDMI-2"/>
<node class="glx_window" name="window_HDMI-2">
<parameter name="decorations">false</parameter>
<parameter name="show_cursor">false</parameter>
<parameter name="fullscreen">true</parameter>
<parameter name="display">:0.0</parameter>
<parameter name="resolution">1920x1080</parameter>
<parameter name="position">1920x0</parameter>
</node>
<link class="single" name="link_video_combine_HDMI-2" source="combine_HDMI-2:0" target="dup_HDMI-2:0"/>
<link class="single" name="link_video_dup_screen_HDMI-2" source="dup_HDMI-2:-1" target="window_HDMI-2:0"/>
<node class="event_delay" name="event_delay">
<parameter name="delay">0.1</parameter>
</node>
<node class="event_info" name="event_info"/>
<node class="webserver" name="websrv">
<parameter name="port">9191</parameter>
</node>
<node class="web_control" name="webctrl">
<parameter name="path">/control</parameter>
</node>
<node class="web_static" name="webstatic">
<parameter name="path">/</parameter>
<parameter name="filename">/etc/hostname</parameter>
<parameter name="mime">text/plain</parameter>
</node>
<event>
route(pass(event_delay:index))->src_select_HDMI-1_0:index;
route(pass(event_delay:index))->src_select_HDMI-2_0:index;
route(pass(1))->event_delay:index;
route(window_HDMI-1:mouse_right)->ndi_input_0:quit;
route(window_HDMI-1:button3)->ndi_input_0:quit;
route(window_HDMI-1:key24)->ndi_input_0:quit;
route(pass(1920))->window_HDMI-1:width;
route(pass(1080))->window_HDMI-1:height;
route(window_HDMI-2:mouse_right)->ndi_input_0:quit;
route(window_HDMI-2:button3)->ndi_input_0:quit;
route(window_HDMI-2:key24)->ndi_input_0:quit;
route(pass(1920))->window_HDMI-2:width;
route(pass(1080))->window_HDMI-2:height;
</event>
</app>
Thanks! I've just tried that and it worked fine for me. Can you use this config file within the command:
yuri2 /tmp/yuri_config_player.xml
It should manually start the player. Can you send me the output after few seconds of playback?
Thank you! Here's the output:
WARNING 25: 21:47:20 [NDIInput/ndi_input_0] Error setting parameter event_time
INFO 31: 21:47:20 [webserver/websrv] Created socket
INFO 33: 21:47:20 [web_static/webstatic] Resizing to 12
INFO 35: 21:47:20 [glx_window/window_auto] Geometry 800x600+0+0
INFO 35: 21:47:20 [glx_window/window_auto] Connected to display :0.0
INFO 35: 21:47:20 [glx_window/window_auto] Screen number is 0
INFO 35: 21:47:20 [glx_window/window_auto] Found root window
INFO 35: 21:47:20 [glx_window/window_auto] Found visual 626
INFO 35: 21:47:20 [glx_window/window_auto] geometry 1920x1080+0+0
INFO 35: 21:47:20 [glx_window/window_auto] X Window Created
INFO 31: 21:47:20 [webserver/websrv] Starting worker thread
INFO 33: 21:47:20 [web_static/webstatic] Registered to server
INFO 29: 21:47:20 [web_control/webctrl] Registered to server
INFO 31: 21:47:20 [webserver/websrv] Helper thread started
INFO 25: 21:47:20 [NDIInput/ndi_input_0] Found stream "LAPTOP-G1IANE7V (TouchDesigner)" with id 0
INFO 25: 21:47:20 [NDIInput/ndi_input_0] Receiving started
INFO 25: 21:47:20 [NDIInput/ndi_input_0] Sender doest not support PTZ, disabling events.
INFO 35: 21:47:21 [glx_window/window_auto] Created GLX Context
INFO 35: 21:47:21 [glx_window/window_auto] Decorations XChangeProperty returned 1
INFO 35: 21:47:21 [glx_window/window_auto] setting on top: 0
INFO 35: 21:47:21 [glx_window/window_auto] Fullscreen XChangeProperty returned 1
INFO 35: 21:47:21 [glx_window/window_auto] Stereo method: none
INFO 37: 21:47:21 [GL] Generated texture 1
ERROR 37: 21:47:21 [GL] Error 1280 setting texture params
ERROR 37: 21:47:21 [GL] Error 1280 setting texture params
INFO 24: 21:47:22 [frame_info/frame_info_0] Frame with format 'YUV 4:2:2 packed (UYVY)', resolution 640x360, progressive
ERROR 37: 21:47:22 [GL] Error 1280 setting texture params
ERROR 37: 21:47:22 [GL] Error 1280 setting texture params
INFO 24: 21:47:23 [frame_info/frame_info_0] Output 0 streamed 50 in 00:00:03.255162, that's 15.360219 fps, bitrate 7077.989 kB/s
INFO 24: 21:47:25 [frame_info/frame_info_0] Output 0 streamed 50 in 00:00:01.669849, that's 29.942827 fps, bitrate 13797.655 kB/s
INFO 35: 21:47:25 [glx_window/window_auto] FPS: 24.573
INFO 24: 21:47:27 [frame_info/frame_info_0] Output 0 streamed 50 in 00:00:01.663122, that's 30.063940 fps, bitrate 13853.464 kB/s
Was there ever a solution to getting dual output working again? Or any info on the last firmware version where dual output still worked with a Raspberry Pi 4b?
I was able to get dual display to work on Raspi4 with Buster, but have not had luck with Bullseye. Only the first screen shows the stream. Its probably something to do with my screen configuration. Any insights?