Patreon is something I have known of for a very long time now. For those of you who haven’t heard of it, it’s a website that allows content creators (of any kind) to be funded by their audience if they want to, having them pay a certain amount to them each month to help fund their creative living and goals.
To me this idea has always seem half amazing and half stingy… I didn’t know if I was ‘good enough’ or ‘working hard enough’ to earn the right to ask people outright for money. I would think of the idea for a fleeting moment and then shrug it off by reminding myself that I don’t create things for money; I do it for my own creative outlet and the payment of others happiness from viewing and experiencing my content is enough.
Now, this is still very much the case. However I have recently been trying to set a more scheduled ‘work flow’ for my YouTube videos, gameplay live streaming and other things relating my YagmanX community as I often seem to be hoarded with so many ideas surrounding it but can never find the time to make it happen. However, I’ve noticed that I’m finding it hard to prioritise this as much as I so desperately want to. There are many reasons why this is (University being an obvious major point) but one main one is simply money. However much I insist I don’t care about it, I need it. If I find a job offer or get an email about a business meeting that could lead to a potential job then, even though I may not fully want to, I have to drop what I’m doing and go for it! I have to research for that certain job instead of work on a cool idea for a next video, I have to travel to the workplace instead of travel to events that could benefit YagmanX.
This might be coming off as moany. I hope it’s not. I’m so grateful that I have what I have and I’ve worked so hard for it so it’s so refreshing to see my reach growing, to read lovely comments and to receive such positive motivation from the online community. But I want to do more, I want to have more time to put more effort into what I love and giving you all the best that I can! To get more time it would be nice for me to not have to worry about money as much to fund my university studies and living, it would be nice for me to finally stop hoarding my ideas to myself and have them become rusty in a forgotten part of my memory.
I guess I just need to put my hands up and say: Yes, a little help would be lovely thank you.
So maybe Patreon wouldn’t be such a bad thing after all? It could make all the difference! It could mean more videos, better quality, being able to comply with the content you ask to see more of, more interactive creations, more time to spend communicating with you all. Or it might just make no difference at all. But I guess that’s all up to you. I’ve had so many lovely emails asking for a way to show their gratitude, which still baffles me! So perhaps this way it would be beneficial for all of us 🙂
If you have as little as $1 a month to give then it would mean the world to me and you would help me towards my dream for making more content, more frequently and at even better quality! There are even some perks for those who do want to make a donation 😉
However, if you can’t afford to or simply don’t want to then honestly, it’s perfectly fine and I totally understand. Just being involved with my content is enough to make me happy so thank you!
Creating a 360 interactive music video for YouTube (on a budget)
After days of getting my head around what best video qualities to use for these super stretched-out 360 videos and how to create one from my digital assets as well as what in the world FFmpeg was, and ultimately battling with my computers constantly overloaded hard drive, I have finally created my very own 4K resolution 360 interactive music video!
Now I’m writing down all of the steps that I used to reach this point for my own benefit as well as yours as I intend to be playing around with 360 video a LOT more! This is only the beginning of a beautiful journey…
First things first, I don’t have the money for a beautiful 360 camera to record my videos on; I know, boo-hoo, poor me! Instead I can use my knowledge of the digital-verse to my advantage and create all the assets I need from there! Ultimately I’d love to play around with creating 360 videos from animations that are specifically tailored for that medium; but let’s not get ahead of myself, first of all I need to know the basics of how to even get a video to render in 360 in the first place!
My weapons of choice were Maya, to create all of my 3D assets and make the little scene that my audience will be able to look around in! Originally I wanted to also use a 360 camera in Maya to render out the 360 video but I also really like what can be done with animating video and adding effects like smoke and other things easily within Unity3D so instead I decided to go with exporting my scene into Unity3D, replacing all of the textures and adding the necessary tweaks, such as rippling water on top of my underwater scene, lighting, and then animating the main camera slowly around so that it pans the area while the audience can have a good look around.
After creating all of this I then found this wonderful little tool from the Unity asset store called VR Panorama 360 Renderer which made my life 10x easier! It’s not free but I felt it was worth the £30 or so that I spent, this tool allows you to render out your camera animation as stereo 360 panoramas and 4k videos. I tweaked the settings to allow high quality and have the settings ready for YouTube (how to set these is all in the Readme file of the VR Panorama 360 Renderer, with inbuilt settings for 4k YouTube format), saving them out as an image sequence. Then was the dreaded wait while my laptop went berzerk, making all types of strange noises! I must have done this at least 5 times until I was happy with the desired video at the end, some of the images would end up corrupt because of my poor lil’ computer, but if you have a much better one then this shouldn’t be a problem, I just had to have my video a bit shorter than I wanted but I’ll work on this for next time!
Anyway, once the image sequence has been rendered then it’s time to use FFmpeg, and wow is this useful once you get your head around how to use it! If you don’t already know then look up a little on how to navigate around your computer using the command line, there’s loads of useful videos and documentation online.
Here’s the command that I used to do the magic and create my video ‘test.mp4’ (later renamed) from my folder of images that I just made.
Let’s start from the beginning: I didn’t use macports, like a lot of websites will suggest, to install FFmpeg, my computer didn’t have enough memory for all that jazz so I simply got the FFmpeg file and moved it somewhere that i could easily find it, in my home directory, and then referenced this when using it to make the new video.
With this in mind, watch this video that helped me greatly with how to do this. The number 25 related to how many frames per second and image2 simply means that it’s looking for image files. My start number is the number I wanted my video to start from within the image sequence, as I said my computer corrupted a bunch so I had to start from a little way in and then have this correlate down the images to create the file. These image files were all named as such: ‘img_00645.jpg’, ‘img_00646.jpg’, ‘img_00647.jpg’ and so on. Because of this we need to tell the computer that the image numbers are 5 digits wide and integers counting up, we do this by stating ‘%05d’ in between the image name, so overall it is ‘img_%05d.jpg’. The next part is to say what
This would have been easy peasy, if I hadn’t wanted to add audio along with it. Now, all I have to edit video is iMovie, have I explained that I have little money yet? So my initial thinking was to simply load the new video into iMovie, add my song over the top and then share it out as a new video. NOPE, NOPE, NOPE! iMovie automatically crops the video, meaning that it will work as a 360 video, but there will be a huge line appearing where the video can’t stitch together correctly because it’s been cropped. Now we have a problem….
So back with my learning of FFmpeg, as it turns out, it can also add audio to a video, perfect! Below is what I used to add the .mp3 file to the video file, for some odd reason though, this only seemed to work when I output a .mov file, but for the YouTube 360 Python script to work (which is the LAST STEP, don’t worry you haven’t missed anything) we need a .mp4 format. *Sigh* more work… It’s fine, we’ll get there eventually. This command didn’t work without using the ‘-map’ which states which source is the video and which is the audio. More on that here.
I’d like to stress now that I know there are some programs that I could use to convert these, and I did try multiple ones, attempting to make my life easier, but all they did was lower the quality considerably which actually made my life harder. By attempting to get my head around FFmpeg I was able to keep a high quality which is very important when uploading 360 videos as because it’s so wide and get wrapped around it will seem worse quality anyway, we want to import the video in as high a quality as possible so that it’s still enjoyable to watch!
With the audio and video merged into an mov file, all there was to do now was to export that again as an .mp4 file using FFmpeg again:
Gosh, nearly there! And the quality is still amazing which baffles me! So now I had to actually inject the piece of Python script that would make YouTube see this video as a 360 one. YouTube have a video on how to do this here. Watch the video and then follow the github link to see that it’s completely different layout than the original video helping you understand. Oh, the joys of the internet. So instead of downloading it, go into the releases tab and download the previous version before it got all fancy and updated, it still works fine.
Once this is downloaded you can follow the video step-by-step, putting the Python script in your home directory and running it on your video that you want to render as being 360 for YouTube:
Then upload and viola!!! It should work! If it doesn’t then be patient, mine took about 10 minutes after processing to actually become 360, all that time I was scratching my head and ready to cry but all I had to do was be patient! The video was even in 4k resolution as well, even after all those changes!
Okay so, I noticed that my song was a tad longer than the 360 video, which was fine because the video just stopped playing while my song trailed off to an end so it didn’t seem too abrupt or weird… But me being the silly perfectionist I am just needed to edit the video. I want a fancy fade in and a nice cut away at the end to round off the song. So I opened it back up in iMovie hoping to find a solution and BOOM! I realised that I could adjust the cropping… WHY DID I NOT THINK OF THAT IN THE FIRST PLACE?! The whole reason why I didn’t use iMovie was because it cropped the video but I can just manually have the whole video fit in the frame. What a numpty.
So after editing it how I liked I then exported it at the best quality that I could (high quality and 4k), took the same steps to add the python script to the .mp4 file and uploaded it to YouTube to see which video came out more crisp and clear.
And guess what, the iMovie video did come out as 4k as well it didn’t look as crisp as my original video at all, even when I watched them in Quicktime Player before uploading them I could tell a difference. You can have a look at the iMovie version but I have decided not to make it public. As well as this you can see a black circle where I have fitted the video to the iMovie editor, so I guess it wasn’t so simple after all!
Overall I’m very pleased with the outcome of my first 360 video. It’s well put together, showing no lines or seam edges and is probably the highest quality of video that I have on my entire YouTube channel! Now I just need to find a way for me to be able to edit the video and have full control over audio within the 360 video. I also want to experiment with putting videos inside of my 3d scenes, so it look someones perceptive of watching a television screen.
It hasn’t been easy but it’s sure been fun and I can’t wait to make more 360 videos! If you would like me to make one for you then do get in touch or if you want to come up with ideas about what we can create with this awesome medium then let’s chat!
Birthday Live Stream and Twitter Wall
May the 15th is a very special day. My birthday, and like most people I wanted to do something pretty awesome for it! But, I rejected the normal traditions of booze, parties and even cake to try something totally new on my YouTube channel and integrate it with my new role as a Raspberry Pi Creative Technologist.
I wanted to spend my birthday with the Internet! (Yes, I know how lame that sounds but no, I have no regrets)
I came up with this idea a couple of days before my actual birthday during one of my ‘creative naps’ (trust me, napping is extremely useful for helping creative juices flow, it’s not just laziness, I swear). I realised that the closest people to me were scattered all around the world, from different parts of the UK all the way to the USA, and wished there was a way to share my birthday with them all. But of course there is, this is the digital age after all!
So I set forth investigating all about setting up a live stream through YouTube. My idea seemed simple, live stream for as long as I could, giving my friends and viewers alike from around the world a chance to take part in the online event in their own time zones. The only problem was, THE LAG! It was horrendous, I would say there was about a 10 second delay at the best of times. Granted, this probably had a lot to do with the fact that I live in a house with 3 other equally Internet-obsessed individuals, but still, there was no way that I could interact with people this way. That’s where the Raspberry Pi comes in! I could set up a live twitter feed, pulling tweets with #YagmanXBDay and see them in real-time, using these tweets as a way to interact with my viewers more efficiently as well as having them to fill gaps in my very long stream so that I could have small breaks. Perfect!
I then made my own tweaks to the code by using the node module colors.js to decorate the terminal, making the tweets appear in a more presentable way. I randomised the colour of each tweet, keeping the twitter handles the same to emphasise who the tweets were sent from and added break points in between each tweet to make them easy to differentiate from each other. The code can be found on my GitHub in the Twitter-Feed git repo.
By running this on the Raspberry Pi I was then able to SSH into it from my mac and connect an external screen just for the terminal window that was hosting the twitter feed. This way, when using Google Hangouts to live stream the event I could simply use the screen share option to switch to the open terminal window to show viewers their tweets.
The response and engagement that I received from the live stream itself far exceeded my expectations!
The twitter feed stayed active throughout the full 6+ hours of my live stream, even those who couldn’t watch the video stream were getting involved by tweeting with the hashtag #YagmanXBDay. Some simply wishing me a happy birthday, others helping to spread the live stream further, commending my achievement of what is possibly the ‘Nerdiest Birthday Ever’.
I can appreciate an original birthday idea and @YagmanX has got one of those. Happy Birthday #YagmanXBDay
Viewers of the stream used the twitter feed to interact more directly with me while I entertained them through singing, attempting to rap, answering questions and even reading them a bed time story before finally ending the stream.
This birthday I came away with a wider knowledge of technology and how much the Raspberry Pi can handle, greatly improved improvisation skills by coming up with creative ideas on the spot to keep my viewers engaged for over 6 hours and ultimately proved to myself that even with limited time, if I put my mind to something I really can make it happen. (Anyone can!)
Thank you to everyone who got involved in my Birthday Live Stream, either by watching, tweeting or even showing interest in it now! I’m no fool and I know that without the kind and awesome people who show interest in my content and projects, they simply wouldn’t amount to anything. It’s with engagement and interaction that spontaneous ideas such as this one become a reality and I couldn’t do it without the wonderful online community that I am so grateful to be a part of.
The full stream is on my YouTube for all to enjoy!