Video: Drupal 8 Beginner's Course

Submitted by Scott Dowdle on Sun, 02/14/2016 - 18:53

Finally got some free IPs, created some new containers (CentOS 7), and used Software Collections to add newer versions of PHP and Apache. I got Drupal 8 installed and am playing with it. Looking for some good training material, I found a Drupal 8 Beginner Course on YouTube. That's a link to a playlist as the course is spread across 63 videos. I decided to use youtube-dl to download the entire playlist and ffmpeg to join them all together, and then ffmpeg again to re-encode them to webm (vp9/opus) 720x404 at 200Kbit video and 32Kbit audio. Good quality / compression ratio.

Drupal_8_Beginner_Course.webm (4 hours, 10 minutes - 246 MB)

The course creators have quite a range of training videos on their website (OSTraining.com) so check them out if so desired. The problem I have with converting all of the MontanaLinux.org content over (from a Drupal 4 site circa 2004), is that some of it is so old. Embedded video formats and players have changed a lot over the years so I'm going to have to do quite a bit of work converting everything for modern standards. I'm sure a lot of the external stuff I've linked to in older articles, probably doesn't exist anymore or has moved. In any event, it will be a lot of work over the coming months but worth it in the end.

Tags

Video: Fedora 23 LXC - Debian SID and CentOS 7 XFCE containers via X2Go

Submitted by Scott Dowdle on Sun, 02/07/2016 - 17:21

Being a LONG-TIME OpenVZ user, I've been avoiding LXC some. Mainly because it wasn't quite done yet. I thought I'd give it a try on Fedora 23 to see how well it works... and the answer is surprisingly... fairly well. I made two screencast (without sound). I just used the lxc-{whatever} tools rather than virt-manager. Both containers just use the default network config (DHCP handed out via DNSMasq provided by libvirtd) which is NAT'ed private addresses... and were automatically configured and just worked. Here's a list of all of the container OS Templates they offer on x86:

centos 6 amd64 default 20160205_02:16 
centos 6 i386 default 20160205_02:16 
centos 7 amd64 default 20160205_02:16 
debian jessie amd64 default 20160204_22:42 
debian jessie i386 default 20160204_22:42 
debian sid amd64 default 20160207_11:58 
debian sid i386 default 20160204_22:42 
debian squeeze amd64 default 20160204_22:42 
debian squeeze i386 default 20160204_22:42 
debian wheezy amd64 default 20160204_22:42 
debian wheezy i386 default 20160204_22:42 
fedora 21 amd64 default 20160205_01:27 
fedora 21 i386 default 20160205_01:27 
fedora 22 amd64 default 20160205_01:27 
fedora 22 i386 default 20160205_01:27 
gentoo current amd64 default 20160205_14:12 
gentoo current i386 default 20160205_14:12 
opensuse 12.3 amd64 default 20160205_00:53 
opensuse 12.3 i386 default 20160205_00:53 
oracle 6.5 amd64 default 20160205_11:40 
oracle 6.5 i386 default 20160205_11:40 
plamo 5.x amd64 default 20160207_11:59 
plamo 5.x i386 default 20160207_13:13 
ubuntu precise amd64 default 20160205_03:49 
ubuntu precise i386 default 20160205_03:49 
ubuntu trusty amd64 default 20160205_03:49 
ubuntu trusty i386 default 20160205_03:49 
ubuntu trusty ppc64el default 20160201_03:49 
ubuntu vivid amd64 default 20160205_03:49 
ubuntu vivid i386 default 20160205_03:49 
ubuntu wily amd64 default 20160205_03:49 
ubuntu wily i386 default 20160205_03:49 
ubuntu xenial amd64 default 20160205_03:49 
ubuntu xenial i386 default 20160205_03:49

The first one shows the basics of LXC installation on Fedora 23 (per their wiki page on the subject) as well as creating a Debian SID container, getting it going, installing a lot of software on it including XFCE and most common desktop software... and accessing it via X2Go... and configuring XFCE the way I like it. This one was made on my home laptop and my network is a bit slow so I cut out a few long portions where packages were downloading and installing but everything else is there... yes including quite a bit of waiting for stuff to happen.

lxc-on-fedora-23-debian-sid-GUI-container.webm (25 MB, ~41.5 minutes)

The second video is very similar to the first but it is a remote ssh session with my work machine (where the network is way faster) and shows making a CentOS 7 container, installing XFCE and the same common desktop software, and then connecting to it via X2Go using an ssh proxy, and configuring XFCE how I like it. It was done in a single, un-edited take and includes a bit of waiting as stuff downloads and installs... so you get the complete thing from start to finish.

lxc-on-fedora-23-centos-7-GUI-container.webm (22.7 MB, ~31 minutes)

I recorded the screencasts with vokoscreen at 25 frames-per-second @ slightly larger than 720p resolution... and then converted them to webm (vp9) with ffmpeg @ 200kbit video. They compressed down amazing well. I recommend playback in full-screen as the quality is great. Enjoy!

Video: Alpine Linux-based LiveCD with OpenVZ kernel / tools

Submitted by Scott Dowdle on Tue, 01/05/2016 - 12:34

I recently encountered an Alpine Linux developer in the #openvz Freenode IRC channel who was working on an Alpine Linux-based LiveCD that uses the OpenVZ Legacy stable kernel and tools. If you aren't familiar with Alpine Linux (and I wasn't prior), it is a very minimal Linux distro that uses BusyBox. The LiveCD shafire (his IRC nick) created is ~ 100MB in size. Since I know OpenVZ very well, shafire asked me to lend a hand with testing.

I recorded a screencast that shows using the LiveCD from start to finish. Being very small, and needing storage space for containers, besides the LiveCD you really need a disk partition for permanent storage. The video shows booting the CD, a few manual steps that are needed to get a proper environment established, creating two containers, starting them, entering them and running some simple commands, shutting them down, and shutting down the host. I did all of the testing using a KVM virtual machine which made it easy for video capture. The video runtime is about 11 minutes and there was no editing of the video... everything is absolutely in real-time with no speedups. It is just THAT fast. :)

The embedded video is in webm/vp9 format and should play fine in contemporary versions of Firefox and Google Chrome. If you are using another browser and can't play the video, feel free to use the link under the video to download it and play with a recent version of the VLC media player. Looks like some video feeds that pick up my blog (planet.openvz.org for example) aren't embedding it properly so in that case, use the link under the video. That should work.

If you prefer to download and play in local media player, here's the direct URL:

alpine-based-openvz-livecd-demo.webm

For those interested in screencast creation and video conversion stuff, I used vokoscreen to capture my screen. It natively output a 175.9 MB .mkv file. I used ffmpeg to convert it to a webm file (vp9 video codec, no audio). The resolution is > 480p and the quality is very good... but amazingly, the filesize for the 11 minute video is only 1.7 MB. I guess ffmpeg / vp9 are awesome at comrpession of this genre of video. I set an upper limit of 200 Kbit for the video bitrate but using a variable bitrate it was able to greatly reduce the bitrate for the bulk of the video.

SSL Certificate and Future Developments

Submitted by Scott Dowdle on Thu, 12/03/2015 - 18:05

The topic of the BozemanLUG meeting tonight is the Let's Encrypt project. Today I got an SSL certificate for this site from Let's Encrypt and I would like to encourage everyone to use the https version of this site. Your browser should love the new certificate and automatically accept it.

Video: LabX and the GUI web-based desktop

Submitted by Scott Dowdle on Wed, 10/21/2015 - 16:31

I signed up for a free service a few weeks back named LabX. I don't remember where I learned about it... some article I saw posted on LXer I think. Anyway... today I got an email invite from them, signed up for an account and gave it a try.

To be honest I don't know much about it yet and I don't know exactly what it is for and what to do with it... but one this is for sure, I like virtualization and remoting protocols... so it is right up my alley. After creating an account I logged in. Turns out the email address you registered with is your username although that isn't exactly clear from the various screens. Once logged in I was able to start and access a virtual environment that was listed as "Ubuntu 14.04". Connecting to it gave me a GUI desktop in my browser. XFCE / Xubuntu. I recorded a 15 minute screencast (no audio) of the session so enjoy.

Please note, the video is of my Firefox web-browser running on my local desktop and the shown browser tab is my connection to the remote GUI container. The raw video was 1276x1373 resolution and 566.7 MB in size (in .mkv format) but I used ffmpeg to resize it to 720x755 @ 400Kbit so it is now 13.8 MB (in webm format). Much smaller and a little blurry but much better for web streaming.

If you prefer to download and play in local media player, here's the direct URL:
LabX-Xubuntu-1404-web-desktop-demo.webm

Ready for an Intel-based Raspberry Pi alternative?

Submitted by Scott Dowdle on Wed, 10/21/2015 - 11:03

Heard of the Up SoC yet? It is an alternative to the Raspberry Pi but Intel Atom-based. It's a quad-core 64-bit CPU that includes an Intel HD video chipset with hardware acceleration for H.264, HEVC (H.265 decode) and VP8. They have designed it to have a super-set of the Raspberry Pi's hardware feature set in the same form factor. It draws 2 watts of power over 5VDC. Cost? About 3x that of the Raspberry Pi. I wonder if the Atom CPU in question is closer in performance to a Desktop PC CPU than the quad-core ARM in the Raspberry Pi 2?

If you have working WebGL in your browser, you should see a nice, interactive, 3D model below. No flash-plugin required.

Video: Recent public talk with Linus Torvalds

Submitted by Scott Dowdle on Thu, 10/08/2015 - 10:44

Linux Foundation head Jim Zemlin interviewed Linus Torvalds on stage at LinuxCon North America 2015. I thought it was worth sharing. Enjoy!

Here's a direct YouTube link for anyone with browser iframe issues:
https://www.youtube.com/watch?v=5xKXHavHJ7U

Here is a summary of an even more recent public interview with Linus from LinuxCon Dublin. I hope a video of it is made available in the not-too-distant future.

Video: Blender's new short film and ffmpeg vp9 test

Submitted by Scott Dowdle on Fri, 09/11/2015 - 14:52

About a month ago the Blender folks released a new film project named Cosmos Laundromat.

Two days ago the ffmpeg folks released version 2.8. I saw one of the changes was that for webm they are now defaulting to using the vp9 video codec and the opus audio codec. Previous releases defaulted to webm with vp8 and ogg.

I've been following vp9 for a few years now... and every once in a while I'd try the libvpx tools and ffmpeg's support for vp9... but it was never quite there yet for non-experts (me). With this release, I say that vp9 is very, very close to viable. The only problem is that the encoding speed still leaves a lot to be desired. For the best results, two pass encoding is required. Using a number of 1080p video sources in h.264 format (all of the Blender films downloaded from YouTube) and a contemporary Intel i7 CPU, I get a little over 100 Frames Per Second (FPS) on pass 1 and between 7 - 9 FPS on pass 2. With a video that is ~24 FPS (all my source videos) it takes a little over 3x realtime to encode them. Well, more because of the two passes. The more popular codecs in ffmpeg are better than real time including vp8/ogg-based webm. Of course those numbers are all highly variable depending on the source material and the hardware you run it on... but you get the idea.

Ok, so encoding speed isn't so great. I'm sure that will get better over time. I'd expect it to be cut in half sometime over the next couple of years... if we are lucky... that and faster hardware... and perhaps GPU encoding support in newer hardware.

But anyway, enough about the encoding speed, how is the quality? Well, see for yourself. I think it truly lives up to the 1/2 the filesize for the same quality compared to vp8/ogg or h.264. I embed Cosmos Laundromat above then directly link to additional ones below if you want more. vp9/opus webm files should play in contemporary versions of Firefox, Google Chrome, Microsoft IE if you have some plugin installed (haven't tried it) and supposedly coming soon to Microsoft's Edge browser in Windows 10. Safari? Probably never. Play in your browser or right-click download and play with your preferred media player.

Don't blame any download / playback retrieval slowness on vp9... it's probably a lack of bandwidth on the server side... so be patient and pause it until some is buffered. Moving around the playhead should work fairly well unless bandwidth is an issue.

Full screen that if you want. Doesn't that look great? It's 720 x 302 resolution with 400 kbit video and 96 kbit audio. That's why all of the files have 496k in the name. So that's like 62KB / second transfer. Pretty good quality huh?

More vp9 re-encodes with ffmepg 2.8:

2006-Elephants_Dream-496k.webm (38.4MB, 10:53)
2008-Big_Buck_Bunny-496k.webm (31.8 MB, 9:56)
2010-Sintel-496k.webm (52.9 MB, 14:48)
2012-Tears_of_Steel-496k.webm (43.3 MB, 12:14)
2013-Caminandes-Gran_Dillama-496k.webm (8.7 MB, 2:26)

Want to know how it works on Hollywood / live action movies? Here's the trailer for the upcoming film, "The Martian". I don't think I'll get into any trouble for posting a trailer, right? Again, 720 x 405 @ 496 kbit. The black bars were in the original and I didn't remove them.

2015-The_Martian-Trailer-496k.webm (11.5 MB, 3:17)

Want to give vp9 a try? I doubt many distros have packages for ffmpeg 2.8 yet but you can download the static .tar.xz from ffmpeg's site and run it on most Linux distros. That's what I did. I'll leave finding the URL up to the reader because it will certainly change.

So far as encoding goes, I didn't do anything fancy. Just something like:

ffmpeg28 -y -i source.mp4 -f webm -vf scale=720:-1 -b:v 400k -an -pass 1 output.webm.pass1 ;
ffmpeg28 -y -i source.mp4 -f webm -vf scale=720:-1 -b:v 400k -b:a 96k -pass 2 output.webm

I took the static ffmpeg binary and plopped it in ~/bin/ffmpeg28 so I could easily tell it apart from the stock ffmpeg binary. Enjoy!