Critical Edge: 8WAYRUN XSplit Panel Writer!

Discussion in 'News & Announcements' started by Jaxel, Feb 16, 2012.

By Jaxel on Feb 16, 2012 at 6:45 PM
    • Administrator
    • Premium Supporter

    Jaxel Administrator

    As some of you probably know by now, I've all but abandoned Wirecast in favor of XSplit as my primary streaming program. While yes, XSplit has far less features than Wirecast, it just does so many things right that I felt compelled to use it. Unfortunately, with all the things it does right, there is one thing it does wrong.

    That of course would be the title card system. Sure, Wirecast's title system wasn't that simple, but once you set your XML files up correctly, it was very easy to update and adjust as needed. XSplit made it easier to set up your title cards, but in turn, its very cumbersome to update and change your titles. The built-in title plugin for XSplit is a complete catastrophe. So in an effort to make it easier for myself, I've written a program to handle title updates...


    Normally, if you wanted to update your titles in XSplit, you would have to go into the config screen of each and every title on your shot one by one and change the text. If you have multiple shots with the same text, you've just increased the number of shots you need to edit. And of course, since XSplit does not have a "push-to-live" function where you can edit shots in a non-live environment, the system can look rather unprofessional.

    However, XSplit does have a function to make this process easier. Title slots can be set to poll a remote URL or local file and search for specific tags; it will then take the text between the tags. So originally, what I was doing was creating a custom XML file, with my custom tags, where I would store my title information. When I wanted to change a title, I would change the file, click save and then just wait up to 10 seconds till the next poll refresh.

    But an issue still remained. If you look at my older XSplit recorded videos, when I switch to a screen which has a large number of polling title slots, you may notice a "lag" time during the shot change. On the shot change, XSplit must poll for text updates and until it finishes polling for updates, it freezes the video output. On my full screen game shots, this turned out to be almost a full second of stutter for the stream. I thought this was just an issue I would have to accept and pretend didn't exist.


    So I continued writing my program with text files in mind. The program would take the text information from text boxes, and write them directly to my custom XML file I had previously created. Not only that, but it also had convenient "swap players" button for if players are sitting in the wrong chairs, and easy score handling with simple integer spin boxes. It even stored previously entered information to data files; so I could select player's names from drop down menus instead of continually typing them out.

    That was until I went to Next Level and saw how Sp00ky was getting around the problem of text polling. Rather than using text polling at all, he was instead manually writing to title card images in Adobe Photoshop. This was an interesting discovery, as with Wirecast, the program "locks down" all files its using, so if you tried to manually write to title card images at the same time, you would get an error such as: "file is in use by another process". XSplit doesn't do this, so it created an opportunity.


    Editing images manually in Adobe Photoshop still seems rather cumbersome; it solves one problem, by greatly increasing the work of the broadcaster. I aimed to solve the problem, and reduce the workload at the same time. So I expanded on my program. It would no longer output to text files; it would instead output images! It would take my blank pre-made title card images, print text on top of them, and then save the output as new files.

    I have been using the program for about a week now and it's working swimmingly! So well that I've done quite a bit of work in cleaning it up so that its neat enough to be released to the public. However, there are no real "instructions" on how to use it, so if you've gotten this far into this pretty pointless rant, keep on reading so that I can inform you of a few specific usage notes of which you should be made aware.

    The ZIP package attached at the bottom of this post includes some default data files and images in their own nested folders. The default settings for this program will look into those nested folders each time it boots up. The "xsplit-data" folder houses simple text files that store previously entered information from text boxes; you can edit these files freely while the program is closed to change its drop down menu options.

    The "xsplit-images" folder houses your blank pre-made title card images that your text will be printed on. The program will search for 4 specific images: event.png, match.png, score.png and lower.png. If it can't find these images, you will receive an error when you try to save your text. Four "sample" images have been included in the zip packages. I would not recommend using them, as they are rather ugly and are there for demonstration purposes only.


    When you make your own title card images, you will probably need to change your text. Clicking the [...] button next to each text field will bring up it's individual configurations where you can change various settings; including the default text that shows up in the text box when you start up the program. An important point of notice should be that the bottom and right position spin boxes are not actually the bottom and right positions of the text field; they are actually the height and width settings respectively.

    On the "Configuration" tab of the program, you will be able to change your data source and image source folders. If you really want to change them, you can, but you shouldn't really have a reason to. The program writes your new title card images in the program root folder, so if you do change your image source folder, you should absolutely not make it the same folder as the program itself. If you do, your source title card images will be completely overwritten and you will lose your "blanks".

    Also, you should keep in mind that XSplit caches your images statically. If you update the image, you will NOT see it change on your stream until you refresh your shots. There are two ways to refresh your shots; firstly, you can simply create another shot without your title card images, and then switch to and from it. The shot change will refresh the image. Or, even easier, you can set up an image slideshow with your title image and it will periodically repoll the image to look for changes.

    Simple program... easy to use... download here:
    v1.2 - Free
    v1.5 - Pro version costs $10

    And of course, if you appreciate this program, don't forget to donate!
    If you have any feature requests, let me know.
    Tenren, Schneider-X, SWBeta and 3 others like this.
Owner and Operator of 8WAYRUN
Jaxel is the owner and operator of 8WAYRUN; so if you have any issues with the website, he's the one you should be bugging about it. During the days of SOULCALIBUR II, Jaxel may have been considered one of the top Talim players in the world. But since then, he has become a total scrub who can barely play at a competitive level. Keeping that in mind, you should take anything he says about the game with a massive load of salt. #jaxelisalwaysright #burnitdown

Now he sits back behind the scenes and runs 8WAYRUN.
YouTube | Twitter | Twitch | XenForo | Scoreboard Assistant


Discussion in 'News & Announcements' started by Jaxel, Feb 16, 2012.

  • Thread Status:
    Not open for further replies.
    1. TerminatorCortez
    2. PhoenixDevice
      XSplit seems to be caching the images, and therefore does not automatically update when I change an image using this program. What gives?
    3. Jaxel
      You need to change to a shot where the images aren't included, then switch back.
    4. PhoenixDevice
      Ahh, very cool. Nice program.
    5. addMitt
      You can also use the Image Slideshow plugin included with newer versions of XSplit. You can set it up to poll the images to be updated, or you can hit a key to update the selected image. This allows you to update it without switching back and forth between Views.
    6. Luneth22
      Excellent! this is just what I needed!
    7. slash5150
      Good stuff man. I approve of this and will definitely be pushing this and trying it out hard!

      Appreciate it a lot!
    8. Dreddybajs
      Awesome plugin Jaxel, thanks for this. Any way to change what image resolution it outputs? By default it's 720p images, any way to default it to 432p images instead?
    9. Jaxel
      It outputs whatever your source images are.
    10. Dreddybajs
      Ah okay. I tried changing the match.png etc. images to be 768x432, but next time I opened the exe it changed them back to 1280x720. Sorry for the noob questions but can you tell me how to do it?
    11. Dreddybajs
      Also, even when I delete The Jaxel-dome lines etc. from the text files, it still defaults to those when I load the program. Any way to get rid of those as the defaults?
    12. Jaxel
      There is nothing else to really say... it uses your source images; end of story.
    13. Dreddybajs
      Fair enough, I'll try and figure it out myself then. Any idea how to get rid of the 8wayrun lines from the program re my last comment?
    14. SWBeta
      This is awesome. Thanks, Jax!
    15. Koz
      Have you tried to edit the .txt files in the "xsplit-data" folder, like the article suggests?
    16. Dreddybajs
      Yeah, I edit them and save the text files and they get added back in next time I launch the program.
    17. underwing
      Any chance of getting the source for this published? I'd love to mod it to be used from the command-line; I have a Python file that currently generates my xml files for overlays (it manages a lot of things for me, really), and I've been contemplating writing an image creator, but you've done a much nicer job making it configurable than I'd bother doing and I'd love to extend it to be invoked from command line. Of course, any derivative build and source would be shared alike, to add value (open-source <3).

      Also, I you mentioned in the Streaming Tutorial that there was a way to eliminate the blank title issue via XML construct hackery and syncID's... Is it at all feasible to get more information? I get not writing a full article, but even if I could just get ahold of some modified source that has it working, I could probably figure out what you've done to make it work. This program seems really awesome, but as it stands it'll be tricky to work into my workflow; the syncID hack might be a more straightforward approach.

      Thanks for the awesome software, though!
    18. Sp1d3r
      What language is it written in?
    19. Schneider-X
      Thanks alot Jaxel, this'll be really useful for the local stream we're starting up :)
    Thread Status:
    Not open for further replies.

Share This Page