Difference between revisions of "VK2CRJ Multiviewer"
Jump to navigation
Jump to search
| Line 1: | Line 1: | ||
| − | VK2CRJ's script for a Multiviewer published in CQ-TV 277 does not work if copied and pasted from the CQ-TV pdf as some of the characters were inadvertently changed in the magazine composition process. Here is the original script. | + | VK2CRJ's script for a Multiviewer (published in CQ-TV 277) does not work if copied and pasted from the CQ-TV pdf, as some of the characters were inadvertently changed in the magazine composition process. Here is the original script. |
:: This script requires ffplay to be installed and it's path set | :: This script requires ffplay to be installed and it's path set | ||
| Line 8: | Line 8: | ||
::::::::::: User settings ::::::::::::::::::::::::: | ::::::::::: User settings ::::::::::::::::::::::::: | ||
SET "server=rtmp://rtmp.batc.org.uk/live/" | SET "server=rtmp://rtmp.batc.org.uk/live/" | ||
| − | SET /A | + | SET /A y0 = 0 &:: Top of player region |
| − | SET /A | + | SET /A x0 = 600 &:: Left of player region |
| − | SET /A | + | SET /A y1 = 1080 &:: Bottom of player region |
| − | SET /A | + | SET /A x1 = 1920 &:: Right of player region |
SET /A numx = 4 &:: Number of windows per row | SET /A numx = 4 &:: Number of windows per row | ||
::::::::::::::::::::::::::::::::::::::::::::::::::: | ::::::::::::::::::::::::::::::::::::::::::::::::::: | ||
| − | SET /A xw = ( | + | SET /A xw = (x1 - x0) / numx &:: Player video window width |
SET /A yw = xw * 9 / 16 &:: Player video window height | SET /A yw = xw * 9 / 16 &:: Player video window height | ||
SET /A yb = 30 &:: Player banner height | SET /A yb = 30 &:: Player banner height | ||
| Line 23: | Line 23: | ||
:: These will display in raster scan order | :: These will display in raster scan order | ||
SET list=vk3ce vk3rtv1 vk3rtv2 vk2rts^ | SET list=vk3ce vk3rtv1 vk3rtv2 vk2rts^ | ||
| − | + | gb3tz gb3ut gb3jv gb3vl^ | |
| − | + | w6cxatv w6sva f5zbc db0kk | |
| − | + | ||
WHERE /Q "ffplay" &:: Check ffplay exists | WHERE /Q "ffplay" &:: Check ffplay exists | ||
IF %ERRORLEVEL% NEQ 0 ( | IF %ERRORLEVEL% NEQ 0 ( | ||
| Line 42: | Line 42: | ||
SET /A bot = ypos + yw | SET /A bot = ypos + yw | ||
SET url=%server%%%a | SET url=%server%%%a | ||
| − | IF !bot! LEQ | + | IF !bot! LEQ %y1% ( |
START /B ffplay -top !ypos! -left !xpos! -y %yw% -x %xw% %flags% -window_title %%a !url! | START /B ffplay -top !ypos! -left !xpos! -y %yw% -x %xw% %flags% -window_title %%a !url! | ||
) | ) | ||
Revision as of 08:35, 12 October 2022
VK2CRJ's script for a Multiviewer (published in CQ-TV 277) does not work if copied and pasted from the CQ-TV pdf, as some of the characters were inadvertently changed in the magazine composition process. Here is the original script.
:: This script requires ffplay to be installed and it's path set
@ECHO off
ECHO Windows multiview player using ffplay by Gary VK2CRJ, 01/09/22
SETLOCAL EnableDelayedExpansion
::::::::::: User settings :::::::::::::::::::::::::
SET "server=rtmp://rtmp.batc.org.uk/live/"
SET /A y0 = 0 &:: Top of player region
SET /A x0 = 600 &:: Left of player region
SET /A y1 = 1080 &:: Bottom of player region
SET /A x1 = 1920 &:: Right of player region
SET /A numx = 4 &:: Number of windows per row
:::::::::::::::::::::::::::::::::::::::::::::::::::
SET /A xw = (x1 - x0) / numx &:: Player video window width
SET /A yw = xw * 9 / 16 &:: Player video window height
SET /A yb = 30 &:: Player banner height
SET "flags=-volume 0 -loglevel error" &:: Volume 9 down, 0 up, m toggle mute
:: List of stream callsigns. The ^ is the line continuation character and just for convenience.
:: These will display in raster scan order
SET list=vk3ce vk3rtv1 vk3rtv2 vk2rts^
gb3tz gb3ut gb3jv gb3vl^
w6cxatv w6sva f5zbc db0kk
WHERE /Q "ffplay" &:: Check ffplay exists
IF %ERRORLEVEL% NEQ 0 (
ECHO Error: ffplay not found, please check the path
PAUSE
EXIT /B
)
ECHO Please wait a few seconds for the streams to start decoding
SET /A i = 0
FOR %%a IN (%list%) DO (
SET /A xdiv = i / numx
SET /A xmod = i %% numx
SET /A xpos = xmod * xw + x0
SET /A ypos = xdiv * yw + yb * "(xdiv + 1)" + y0
SET /A bot = ypos + yw
SET url=%server%%%a
IF !bot! LEQ %y1% (
START /B ffplay -top !ypos! -left !xpos! -y %yw% -x %xw% %flags% -window_title %%a !url!
)
SET /A i += 1
)
PAUSE