ffplay on second monitor

classic Classic list List threaded Threaded
12 messages Options
Reply | Threaded
Open this post in threaded view
|

ffplay on second monitor

Mark Leman
Hi Folks,
I am trying to use ffplay to crop and scale the 720p 16:9 output from
vmix to provide a second 800x600 4:3 output on a video wall.

The command
ffplay -f dshow -i video="vMix Video" -an -x 800 -y 600 -noborder -vf
"crop=960:720:160:0, scale=800:600"
does exactly what I want, but I can't move the 'noborder' window to my
second monitor which is the video wall.

Is there a way to specify which screen the window appears on? (OS is
Windows 10)

I have tried without the 'noboarder' option, which allows me to drag the
window over to the second display an make it full screen. But as soon as
I click on any other program on the first monitor ffplay drops from full
screen.

I have also tried solving the problem with VLC but it has significant
buffering lag.

Thanks,
Mark Leman
_______________________________________________
ffmpeg-user mailing list
[hidden email]
http://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
[hidden email] with subject "unsubscribe".
Reply | Threaded
Open this post in threaded view
|

Re: ffplay on second monitor

Paul B Mahol
On 1/16/19, Mark Leman <[hidden email]> wrote:

> Hi Folks,
> I am trying to use ffplay to crop and scale the 720p 16:9 output from
> vmix to provide a second 800x600 4:3 output on a video wall.
>
> The command
> ffplay -f dshow -i video="vMix Video" -an -x 800 -y 600 -noborder -vf
> "crop=960:720:160:0, scale=800:600"
> does exactly what I want, but I can't move the 'noborder' window to my
> second monitor which is the video wall.
>
> Is there a way to specify which screen the window appears on? (OS is
> Windows 10)
>
> I have tried without the 'noboarder' option, which allows me to drag the
> window over to the second display an make it full screen. But as soon as
> I click on any other program on the first monitor ffplay drops from full
> screen.
>
> I have also tried solving the problem with VLC but it has significant
> buffering lag.

Try also with mpv.
_______________________________________________
ffmpeg-user mailing list
[hidden email]
http://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
[hidden email] with subject "unsubscribe".
Reply | Threaded
Open this post in threaded view
|

Re: ffplay on second monitor

Carl Zwanzig
In reply to this post by Mark Leman
On 1/15/2019 4:49 PM, Mark Leman wrote:
> Is there a way to specify which screen the window appears on? (OS is Windows
> 10)

I don't offhand know if the 'dshow' device supports positioning but it ought
to... a trip through code may be in order*; I do know the gdigrab device
supports "-offset_x 1920 -offset_y 0 -video_size 800x600" which gets the
second monitor on my setup.

*If I'm inspired tomorrow, I'll take a look; there's a 6 hour flight in the
near future :).

z!
_______________________________________________
ffmpeg-user mailing list
[hidden email]
http://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
[hidden email] with subject "unsubscribe".
Reply | Threaded
Open this post in threaded view
|

Re: ffplay on second monitor

Mark Leman
In reply to this post by Paul B Mahol

Quoting Paul B Mahol <[hidden email]>:

> On 1/16/19, Mark Leman <[hidden email]> wrote:
>> Hi Folks,
>> I am trying to use ffplay to crop and scale the 720p 16:9 output from
>> vmix to provide a second 800x600 4:3 output on a video wall.
>>
>> The command
>> ffplay -f dshow -i video="vMix Video" -an -x 800 -y 600 -noborder -vf
>> "crop=960:720:160:0, scale=800:600"
>> does exactly what I want, but I can't move the 'noborder' window to my
>> second monitor which is the video wall.
>>
>> Is there a way to specify which screen the window appears on? (OS is
>> Windows 10)
>>
>> I have tried without the 'noboarder' option, which allows me to drag the
>> window over to the second display an make it full screen. But as soon as
>> I click on any other program on the first monitor ffplay drops from full
>> screen.
>>
>> I have also tried solving the problem with VLC but it has significant
>> buffering lag.


> Try also with mpv.

Thanks for that idea, I had a quick look at mpv with the following:

mpv.exe "test_vid_1280x720.mp4" --osc=no --screen=2 --no-border  
--geometry=800x600 --panscan=1

However I don't know how to get mpv to take the directshow video input I need?

Regards,
Mark Leman



_______________________________________________
ffmpeg-user mailing list
[hidden email]
http://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
[hidden email] with subject "unsubscribe".
Reply | Threaded
Open this post in threaded view
|

Re: ffplay on second monitor

Mark Leman
In reply to this post by Carl Zwanzig

Quoting Carl Zwanzig <[hidden email]>:

> On 1/15/2019 4:49 PM, Mark Leman wrote:
>> Is there a way to specify which screen the window appears on? (OS  
>> is Windows 10)
>
> I don't offhand know if the 'dshow' device supports positioning but  
> it ought to... a trip through code may be in order*; I do know the  
> gdigrab device supports "-offset_x 1920 -offset_y 0 -video_size  
> 800x600" which gets the second monitor on my setup.
>
> *If I'm inspired tomorrow, I'll take a look; there's a 6 hour flight  
> in the near future :).

Thanks for the help.

I am not an expert at this, but I though the dshow device was the  
input device? I am taking the input from vmix over this and that is  
working well, I get the correct video input and scale and crop it  
fine....

The problem is I want to specify where the *output* goes to, so that  
the output is displayed on my second monitor which will be replaced by  
the video wall (fed by HDMI). Once I use the -noborder option you can  
drag the window any more, and actually dragging it is not ideal, a  
command line option would be preferable :-)

I followed a suggestion from another user and looked at mpv player,  
this has an option to '--screen=n' to tell it which monitor to show  
the output on. Unfortunately I don't think mpv player can take the  
dshow input, so I am back to ffplay as the closest option.

Regards,
Mark Leman


_______________________________________________
ffmpeg-user mailing list
[hidden email]
http://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
[hidden email] with subject "unsubscribe".
Reply | Threaded
Open this post in threaded view
|

Re: ffplay on second monitor

Mark Leman

Quoting [hidden email]:

> Quoting Carl Zwanzig <[hidden email]>:
>
>> On 1/15/2019 4:49 PM, Mark Leman wrote:
>>> Is there a way to specify which screen the window appears on? (OS  
>>> is Windows 10)
>>
>> I don't offhand know if the 'dshow' device supports positioning but  
>> it ought to... a trip through code may be in order*; I do know the  
>> gdigrab device supports "-offset_x 1920 -offset_y 0 -video_size  
>> 800x600" which gets the second monitor on my setup.
>>
>> *If I'm inspired tomorrow, I'll take a look; there's a 6 hour  
>> flight in the near future :).
>
> Thanks for the help.
>
> I am not an expert at this, but I though the dshow device was the  
> input device? I am taking the input from vmix over this and that is  
> working well, I get the correct video input and scale and crop it  
> fine....
>
> The problem is I want to specify where the *output* goes to, so that  
> the output is displayed on my second monitor which will be replaced  
> by the video wall (fed by HDMI). Once I use the -noborder option you  
> can drag the window any more, and actually dragging it is not ideal,  
> a command line option would be preferable :-)
>
> I followed a suggestion from another user and looked at mpv player,  
> this has an option to '--screen=n' to tell it which monitor to show  
> the output on. Unfortunately I don't think mpv player can take the  
> dshow input, so I am back to ffplay as the closest option.
>
> Regards,
> Mark Leman

Apologies for not proof reading my email before hitting send, should  
have said:

The problem is I want to specify where the *output* goes to, so that  
the output is displayed on my second monitor which will be replaced by  
the video wall (fed by HDMI). Once I use the -noborder option you  
*can't* drag the window any more, and actually dragging it is not  
ideal, a command line option would be preferable :-)

Regards,
Mark Leman

_______________________________________________
ffmpeg-user mailing list
[hidden email]
http://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
[hidden email] with subject "unsubscribe".
Reply | Threaded
Open this post in threaded view
|

Re: ffplay on second monitor

Carl Zwanzig
On 1/16/2019 10:51 AM, [hidden email] wrote:
> The problem is I want to specify where the *output* goes to, so that the
> output is displayed on my second monitor which will be replaced by the video
> wall (fed by HDMI).

Yes, I understand that. I did, however, misread ffplay as ffmpeg, which
allows you to choose output devices/formats. This still gets into looking at
the source code to see what's been implemented.

z!

_______________________________________________
ffmpeg-user mailing list
[hidden email]
http://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
[hidden email] with subject "unsubscribe".
Reply | Threaded
Open this post in threaded view
|

Re: ffplay on second monitor

Paul B Mahol
In reply to this post by Mark Leman
On 1/16/19, [hidden email] <[hidden email]> wrote:

>
> Quoting Paul B Mahol <[hidden email]>:
>
>> On 1/16/19, Mark Leman <[hidden email]> wrote:
>>> Hi Folks,
>>> I am trying to use ffplay to crop and scale the 720p 16:9 output from
>>> vmix to provide a second 800x600 4:3 output on a video wall.
>>>
>>> The command
>>> ffplay -f dshow -i video="vMix Video" -an -x 800 -y 600 -noborder -vf
>>> "crop=960:720:160:0, scale=800:600"
>>> does exactly what I want, but I can't move the 'noborder' window to my
>>> second monitor which is the video wall.
>>>
>>> Is there a way to specify which screen the window appears on? (OS is
>>> Windows 10)
>>>
>>> I have tried without the 'noboarder' option, which allows me to drag the
>>> window over to the second display an make it full screen. But as soon as
>>> I click on any other program on the first monitor ffplay drops from full
>>> screen.
>>>
>>> I have also tried solving the problem with VLC but it has significant
>>> buffering lag.
>
>
>> Try also with mpv.
>
> Thanks for that idea, I had a quick look at mpv with the following:
>
> mpv.exe "test_vid_1280x720.mp4" --osc=no --screen=2 --no-border
> --geometry=800x600 --panscan=1
>
> However I don't know how to get mpv to take the directshow video input I
> need?

It should be available via: mpv "av://dshow:vMix Video"
_______________________________________________
ffmpeg-user mailing list
[hidden email]
http://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
[hidden email] with subject "unsubscribe".
Reply | Threaded
Open this post in threaded view
|

Re: ffplay on second monitor

Mark Leman
In reply to this post by Mark Leman
Try also with mpv.
>> Thanks for that idea, I had a quick look at mpv with the following:
>>
>> mpv.exe "test_vid_1280x720.mp4" --osc=no --screen=2 --no-border
>> --geometry=800x600 --panscan=1
>>
>> However I don't know how to get mpv to take the directshow video input I
>> need?
> It should be available via: mpv "av://dshow:vMix Video"

Thanks for the suggestion, I got the following error when I tried it:

mpv "av://dshow:vMix Video"

Playing: av://dshow:vMix Video
[ffmpeg/demuxer] dshow: Malformed dshow input string.
[lavf] avformat_open_input() failed
Failed to recognize file format.
Exiting... (Errors when loading file)


Trying ffplay worked with:

ffplay -f dshow -i video="vMix Video"

ffplay version 4.1 Copyright (c) 2003-2018 the FFmpeg developers
   built with gcc 8.2.1 (GCC) 20181017
   configuration: --enable-gpl --enable-version3 --enable-sdl2
--enable-fontconfig --enable-gnutls --enable-iconv --enable-libass
--enable-libbluray --enable-libfreetype --enable-libmp3lame
--enable-libopencore-amrnb --enable-libopencore-amrwb
--enable-libopenjpeg --enable-libopus --enable-libshine
--enable-libsnappy --enable-libsoxr --enable-libtheora
--enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp
--enable-libx264 --enable-libx265 --enable-libxml2 --enable-libzimg
--enable-lzma --enable-zlib --enable-gmp --enable-libvidstab
--enable-libvorbis --enable-libvo-amrwbenc --enable-libmysofa
--enable-libspeex --enable-libxvid --enable-libaom --enable-libmfx
--enable-amf --enable-ffnvcodec --enable-cuvid --enable-d3d11va
--enable-nvenc --enable-nvdec --enable-dxva2 --enable-avisynth
   libavutil      56. 22.100 / 56. 22.100
   libavcodec     58. 35.100 / 58. 35.100
   libavformat    58. 20.100 / 58. 20.100
   libavdevice    58.  5.100 / 58.  5.100
   libavfilter     7. 40.101 /  7. 40.101
   libswscale      5.  3.100 /  5.  3.100
   libswresample   3.  3.100 /  3.  3.100
   libpostproc    55.  3.100 / 55.  3.100
Input #0, dshow, from 'video=vMix Video':=    0KB sq=    0B f=0/0
   Duration: N/A, start: 618691.793000, bitrate: N/A
     Stream #0:0: Video: rawvideo (UYVY / 0x59565955), uyvy422,
1280x720, 50 fps, 50 tbr, 10000k tbn, 10000k tbc
618696.50 M-V: -0.001 fd=  10 aq=    0KB vq=    0KB sq=    0B f=0/0

But I still don't have a way to direct ffplay to output on a specific
monitor.

Regards,
Mark Leman

_______________________________________________
ffmpeg-user mailing list
[hidden email]
http://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
[hidden email] with subject "unsubscribe".
Reply | Threaded
Open this post in threaded view
|

Re: ffplay on second monitor

Mark Leman
On 17/01/2019 00:11, Mark Leman wrote:

> Try also with mpv.
>>> Thanks for that idea, I had a quick look at mpv with the following:
>>>
>>> mpv.exe "test_vid_1280x720.mp4" --osc=no --screen=2 --no-border
>>> --geometry=800x600 --panscan=1
>>>
>>> However I don't know how to get mpv to take the directshow video
>>> input I
>>> need?
>> It should be available via: mpv "av://dshow:vMix Video"
>
> Thanks for the suggestion, I got the following error when I tried it:
>
> mpv "av://dshow:vMix Video"
>
> Playing: av://dshow:vMix Video

Quoting Paul B Mahol <[hidden email]>:
 >Ah, you need something like this:
 >mpv av://dshow:video="vMix Video"

Thank you for you patient help, that worked :-)
To reduce the buffering lag I added --profile=low-latency which appears
to help.

So my final command to grab the 16:9 direct show video stream "vMix
Video", crop to down to 4:3, scale to 800x600 and then show it, full
screen on a monitor of my choice is.....

mpv  av://dshow:video="vMix Video" --osc=no  --no-border
--geometry=800x600 --panscan=1 --profile=low-latency --screen=2

I would still like to see ffplay have the equivelient command line
option to '--screen=1'

Regards,
Mark Leman

_______________________________________________
ffmpeg-user mailing list
[hidden email]
http://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
[hidden email] with subject "unsubscribe".
Reply | Threaded
Open this post in threaded view
|

Re: ffplay on second monitor

Carl Eugen Hoyos-2
2019-01-17 11:51 GMT+01:00, Mark Leman <[hidden email]>:

> mpv  av://dshow:video="vMix Video" --osc=no  --no-border
> --geometry=800x600 --panscan=1 --profile=low-latency --screen=2
>
> I would still like to see ffplay have the equivelient command line
> option to '--screen=1'

Wouldn't this be an SDL environment variable being set?

Carl Eugen
_______________________________________________
ffmpeg-user mailing list
[hidden email]
http://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
[hidden email] with subject "unsubscribe".
Reply | Threaded
Open this post in threaded view
|

Re: ffplay on second monitor

Mark Leman


On 17 January 2019 19:33:35 GMT, Carl Eugen Hoyos <[hidden email]> wrote:

>2019-01-17 11:51 GMT+01:00, Mark Leman <[hidden email]>:
>
>> mpv  av://dshow:video="vMix Video" --osc=no  --no-border
>> --geometry=800x600 --panscan=1 --profile=low-latency --screen=2
>>
>> I would still like to see ffplay have the equivelient command line
>> option to '--screen=1'
>
>Wouldn't this be an SDL environment variable being set?
>
>Carl Eugen
>_______________________________________________
>ffmpeg-user mailing list
>[hidden email]
>http://ffmpeg.org/mailman/listinfo/ffmpeg-user
>
>To unsubscribe, visit link above, or email
>[hidden email] with subject "unsubscribe".

Personally I would like a command line option, but as I am the one requesting it and don't have the skills to implement it myself it's a case if 'beggers can't be choosers'

Regards,
Mark Leman
_______________________________________________
ffmpeg-user mailing list
[hidden email]
http://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
[hidden email] with subject "unsubscribe".