Home Blog Page 1401

How to Create Professional Stop-Motion Animations with Free and Open-Source Software

When my brother and I set out to create The Hello World Program, a series of videos and tutorials teaching computer science, programming, Linux, and web development, we gave ourselves the seemingly impossible challenge of producing the show with free and open-source software. Our goal is to help remove the economic barrier associated with digital media production by sharing the lessons we learn while making the show. For Daisy’s Web Development Diary, our HTML-centric video series, we wanted to incorporate stop-motion papercraft animations, but there was a problem. There is no free, open-source, professional-grade, stop-motion animation software for Linux. Having grown up creating our own animations with nothing but a camcorder, we were no strangers to hacking together animation solutions. At the most basic level, we needed some way of connecting a camera to our computer for remote shooting, and a way to compile those images into a movie. Entangle and avconv were just the tools for the job.

Entangle uses the gPhoto library for remote shooting, so it is necessary to have a gPhoto compatible camera. If your camera is not compatible with gPhoto, don’t fret. You can still make animations by shooting blindly with you camera, copying the files to your computer, then compiling with avconv. That process isn’t as fancy, but that’s how this art form started, so you’d be animating just like the old pros! Depending on your operating system, you can probably install Entangle from the software repository, however I would advise against that. Entangle is constantly being updated, and I found that the version in the software repository had major problems that had been addressed in the newest release. This means you are probably going to have to build from source.

When you have Entangle installed, open the application and connect your camera. Right away, you will get hit with a couple of warnings. The first one asks if you want to unmount your camera, because your operating system most likely already mounted it, preventing Entangle from accessing it. The next one is a warning that claims your camera is still in use. It’s not. Entangle just got ahead of itself. Click the affirmative for both of these and you should be up and running.

The default settings for Entangle are not optimal for doing animation. The first thing you will need to change is the continuous preview handling. Open the application preferences and check the “Continue preview mode after capture” checkbox on the “Capture” tab. Now when you capture an image, the program will return to the live view. At least it should return to the live view. If you get an “Unable to capture preview” error, you will need to change the capture target to “Memory card” instead of “Internal RAM”. This setting is found in the camera settings menu on the left hand side of the program. If you don’t see this menu, click the “view full list of camera settings” button at the top of the program.

Entangle gives you access to most of your camera’s settings. Because it is critical that our lighting stay consistent from frame to frame, you should look through your available camera settings and manually set everything (aperture, shutter speed, ISO). Also make sure any picture styles or in-camera enhancements are turned off.

Finally, you may begin animating. The animations in Daisy’s Web Dev Diary are made entirely out of scraps of paper, but you could animate just about anything. A lump of clay, old toys, or some colored sand. The possibilities are endless!

I found that positioning the camera upside down was the ideal setup for shooting on a tabletop. This freed up a lot of space and helped minimize the possibility of bumping the tripod. It’s a little confusing while shooting, but it’s trivial to rotate the video when we compile it.

Making small adjustments to your model, capture each frame of the video one after the other. Ideally you would be shooting your animations at 24 frames per second, because this is the standard for film, but I’ve found that stop motion still looks good at only 10 or 12 frames. Just keep in mind that your animation will look crisper and more fluid with higher frame rates. The trade off is that you will need to shoot many more frames. For slow movements, you will want to make tiny adjustments between frames. Quick movements would require bigger adjustments, of course. While you can shoot several of the same frame to create a pause, it looks much more natural if there is a bit of movement in the frame. Lightly touching the model in between every frame will bring a static shot to life.

If you make a mistake, you can right click on the thumbnail in Entangle and select delete. This will cause problems when we compile our video, because Entangle doesn’t adjust the names of your other files to accommodate the missing frame, but don’t worry about it for now. Continue on as though everything is perfectly okay.

stompo5

When you are satisfied with your animation (or tired of working on it), you may move on to compiling your animation with avconv. You should have a folder located at ~Pictures/capture that is chock full of images labeled “capturexxxxxx.jpg”. This is perfectly formatted for feeding an image sequence into avconv, but if you deleted any frames as you were animating, there will be gaps in your image sequence. A bulk rename utility such as pyRenamer can easily correct them.

In pyRenamer, navigate to the folder containing your captured images. Select all of the images, change the “renamed file name pattern” to “frame{num6}.jpg” (without the quotes), preview your changes, then commit them with the “Rename” button.

Before you can compile your video, you will need to decide how to crop your video. Unless you set your camera to shoot in a standard video frame size, you’ll need to adjust the crop manually. These next few steps require some command line magic, so it may look scary, but it’s pretty straightforward. The easiest way I’ve found to determine the crop parameters is with Gimp, so open any one of your frames in Gimp. With the crop tool selected, check the “Fixed” option and set it to “Aspect ratio”. For the sake of demonstration, I’m assuming we are going to output a 1080p video, so in the field just below the “Fixed” checkbox, enter “16:9″.

Drag out a selection on the image for the crop you intend to use for your video, but don’t execute the crop. Take a look at the juicy information in the crop tool options panel. You’ll need the values of the position and size parameters in a moment, but for now you can put Gimp aside.

Now it’s time to compile the video. Here’s the command I used to create my animation:

avconv -f image2 -r 12 -i frame%06d.jpg -vf crop=4663:2623:289:448,scale=1920:1080,vflip,hflip -r:v 30000/1001 -c:v libx264 -qp 0 -preset medium -an “animation.mkv”

Generally when converting input with avconv, you would only need to specify the path to the video file with the -i parameter. With image sequences, we need to supply a little more information.

-f Indicates that the input is an image sequence.

-r is the input framerate. So if you were shooting for 24 frames per second, you would put 24 here. You may want to try compiling several times at different input frame rates to find the one that suits your animation best.

-i is the naming scheme for your image sequence. “frame%06d.jpg” tells avconv that your files all begin with the word “frame” followed by a sequential number that is six digits long, contains leading zeros, and ends with “.jpg”.

The -vf parameter is a comma separated list of video filters. This is where the real magic happens. First you need to crop the image using the data gathered with Gimp’s crop tool. The format of the crop filter is “crop=output width:output height:x:y”. The output width and height are the “size” parameters from Gimp’s crop tool, and the x and y are the “position” parameters.

Surely you noticed that the output width and height are rather large. Normally I would set the video size with the -s:v parameter, but it doesn’t play nice with the crop filter, so you’ll need to use a scale filter to properly size the output. This one is pretty straightforward, it’s formated as “scale=output width:output height”. To output a 1080p video, the scale filter would be “scale=1920:1080″.

If your camera was oriented upside down, you’ll also need to tack on the “vflip” and “hflip” parameters. These flip your output video vertically and horizontally, essentially rotating it 180 degrees.

The remaining parameters are for your video codec. You could set these to anything you want, but in my example, I chose to export a lossless, x264 encoded mkv file at 30 frames per second.

Now for the best part… watching your animation!

Cautions for the HP_RDI Alarm on OptiX OSN9500

Identification method:
1. The source version  is V100R003 or V100R004.
2. The EXCL board is used and lower order services access to the 1+1 linear MS.
3. Run the: cfg-get-1j1lmsp-lxcoptmz command. “Unregistered command” is displayed or the result is “disable”.
4. Lower order services access to the 1+1 MSP protection path earlier than the working path. Run the :cfg-get-lmsbdmap:pgi (pgid indicates the ID of the 1+1 linear MSP group) command. The timeslots for the protection and working paths are A and B respectively. Run the : dbms-query: ” Cfgmapxc.dbf “, mdb command. It is found that A is earlier than B. The following example shows that timeslot 1 for port 2 of the board in slot 17 priors to timeslot 1 for port 1 of the board in slot 17.

:cfg-get-lmsbdmap:1
LMS-PU-MAP
PG-ID   PU-ID   BOARD-ID   PORT-ID   AU4-MAP
1                  0                17                  2               1&&8
1                  1                17                   1               1&&8
Total records :2
: dbms-query: ” Cfgmapxc.dbf “, mdb (The following values are displayed in the hexadecimal format.)
CfgMapXc.dbf
record num         MAPIDX       MAPBID   MAPPID     MAPAUID     MAPRSV
1                              02000000       04                01                 0001               00
2                             02010000        04                01                 0001               00
3                             02000040        11                 02                0001               00
4                             02010040         11                 02                0001              00
5                             02000080         11                 01               0001               00
6                             02010080         11                 01                0001               00
Total records :6

If the preceding four conditions are all met, after the version is upgraded to V100R005 or V100R006 earlier than V100R006C05SPC203, the HP_RDI alarm is inserted in downstream devices (the corresponding inspector is available and preferred).

[Root Cause]
The optimization function for lower order service configuration on the 1+1 liner MS is not supported by earlier versions, while that is supported by V100R005 and V100R006 by default. In an earlier version, if lower order services access to the 1+1 protection path earlier than the working path, after the version is upgrade to V100R005 or V100R006 earlier than V100R006C05SPC203, the system control board first recovers the services that access to the 1+1 protection path by default and performs lower order optimization when recovering the services that access to the 1+1 working path. Therefore, the lower order services of both protection and working paths use the same higher order point on the EXCL board, while the higher order point of the working path is idle, so the EXCL board inserts the HP_RDI alarm in the downstream to the working path.
[Impact and Risk]
After the related version is upgraded to V100R005 or V100R006 earlier than V100R006C05SPC203, the downstream devices receive the HP-RDI alarm. Services are faulty when some switching devices receive the HP_RDI alarm, causing service interruption.

[Measures and Solutions]
Preventive measures:
Use either of the following methods:
1. Delete the MS before the upgrade, and configure the MS after the upgrade.
2. Deactivate and activate the faulty service before the upgrade.
Solution:
Upgrade the NE to V100R006C05SPC203 or a later version.
[Inspector Applicable or Not]
Update the test case package to the latest one.
Path: Upgrade pre-check/ Checks whether the HP_RDI will be triggered after lower order services are accessed into 1+1 LMS and V100R004 is graded to V100R006C03SPC200
[Rectification Scope and Time Requirements]

Does Oracle Linux 7 Give Larry A Cutting (Open) Edge?

Oracle has this month introduced the Oracle-flavoured Linux 7 open source operating system. Freely distributed under the GNU General Public License (GPLv2), Oracle Linux is based on Red Hat Enterprise Linux (RHEL) and follows the RHEL7 release, which arrived this June.

This distribution of Linux represents what Oracle would like to us to consider as its more open and community focused side, although of course a paid support model is available and widely adopted.

Read more at Forbes.

FSF Talks Up Libreboot As New Coreboot Downstream

Libreboot is a de-blobbed version of Coreboot designed to run on the Free Software Foundation’s first endorsed laptop…

Read more at Phoronix

Oracle Delivers Solaris 11.2 with OpenStack, Integrated SDN Features

 Just before summer began, Oracle unveiled the beta version of Solaris 11.2, which is only the second point release of Solaris since version 11 of the platform appeared in 2011. The really notable thing about the beta was that Oracle began positioning Solaris as “a modern cloud platform that melds efficient virtualization, application-driven software-defined networking (SDN) technology and a full OpenStack distribution.”

Now, the official version 11.2 is released and Oracle is continuing to frame it as essentially a datacenter in a box.

 

Read more at Ostatic

The FBI is Tracking Tor Users With Spyware and a New Kind of Warrant

Tor has been a thorn in the side of law enforcement for years now, but new work from Wired‘s Kevin Poulsen shows the FBI has found a new way to track users across the network. Poulsen looks at the 2012 case of Aaron McGrath, who agents found hosting child pornography on a network of servers in Nebraska. Looking to expand on the bust, agents got a warrant to track anyone who visited the website at its Tor address, and infected servers with tracking malware to identify the root IP of anyone who visited the site. As a result, agents were able to track at least 25 users back to home addresses and subscriber names.

Continue reading…

Read more at The Verge

14 Staging Drivers Get Nuked From Linux 3.17

Over 200,000 lines of code is being removed from the Linux 3.17 kernel in the staging subsystem due to the removal of a bunch of old, unmaintained drivers…

Read more at Phoronix

DMA-BUF Cross-Device Synchronization Hits Linux 3.17

The work that was ongoing for months to provide DMA-BUF cross-device synchronization and fencing is finally landing with the Linux 3.17 kernel…

Read more at Phoronix

Android Captures 85 Percent of Smartphone Market Worldwide

The firm estimates the worldwide smartphone growth has halved during the past year, from 49 percent a year ago to 27 percent currently.

Read more at eWeek

64-bit ARM Is Looking Good For Fedora 21

While Fedora 21 will be arriving later than anticipated, on the plus side is that the 64-bit ARM support is coming along well and the (indirect) delay gives developers extra time for polishing up this first Fedora Linux release with great AArch64 support…

Read more at Phoronix