Sign In:     


Forum: VirtualDJ Technical Support

Topic: Video Skin possible?
I am attempting to create a video skin that
1) Doesnt have a static default overlay
2) It should display the image/video output from any of the 4 decks as fullscreen.
3) If the output of all 4 decks is at 'zero', it should display a fullscreen image from the same folder/zip. This image should not be visible when any of the 4 decks generates a visual output.

Is this even possible?
 

Posted 22 hours ago
Yes, but the static image should be part of the skin itself.
 

@PHANTOMDEEJAY: Thank you for the quick response!

I am ok with putting the static image as a part of the skin itself, as long as I can draw the deck outputs on top of it. Could you point me to a skin that does that please? It would be a lifesaver!
 

I don't know any skin that does this out of the box, but it's very easy to do, assuming you have a little knowledge around skinning..

Quick question(s)

1) What's considered as "zero" output from a deck ? No video output ? No audio ? Something else ?
2) Why do you need to check every deck and not the master video output ? (assuming that zero output is video output)
 

Zero output from a deck would be no video output. I do want the image to stay if the deck only gives audio output. And yes checking master video output would suffice. Noob mistake!

I tried putting a 'visual' element on my skin with no luck. Better luck when I used a 'video' tag instead of 'visual'. Here's a minimum reproducible example:

<skin name="Testskin"
width="1920" height="1080"
breakline="800" breakline2="1070"
image="backgrounds/ROC/artists.jpg"
>

<video source="backgrounds/ROC/artists.jpg">
<pos x="0" y="0"/>
<size width="960" height="1080"/>
</video>
</skin>

This does show the image i am pointing to, but that gets replaced instantly by the first frame of the video when I load it. I dont want that. I want the image to be replaced only when i hit play on the video and the fader is anything higher than zero. Setting "video fade to black on volume sliders" doesnt help. The default image just gets replaced by a black screen instead of a first frame as soon as a video file is loaded onto a deck.

Is what I am describing possible?
 

Edit this:
[LINK REMOVED]

After making the skin I realised that I could make it even simpler.
Just move the image on the top of the PNG file and then just draw the video on top of it when needed.

Anyway, it's a good example to get you started
 

Thank you so much for your help! Unfortunately the skin you've provided still has the same problem. The moment a video is loaded onto a deck, the first frame appears, covering the wallpaper.

Can i add some additional logic inside visibility="deck master is_video" to also check if there is actual video output, i.e - deck with video is actually playing?
 

I tried here and if the video is not shown on master then it's not shown on output either (e.g. a video is loaded on a deck but other deck is live on air)

Also assuming that you mix audio with video files, when audio files are on air, it also switches to show the image.
 

Yes you are right! If one deck has audio and one deck has video, I see the wallpaper when the audio is playing and video when i play the video and pull down the audio fader.

I think the only use-case not solved for is if I want to START with a video. I guess my best option is to load last moment and hit play straight away. The rest is all working fine I think.

Thank you so much for your super responsive help! I really appreciate it. :hug