Photos to slideshow: options and software

By jayvol09 on Monday 05 November 2012 14:37 - Comments are closed
Category: -, Views: 1.044

Keywords: photo image to video movie compilation timelapse slideshow transitions text

Now most video editors will allow adding photos to the timeline to make a video, but many don't support large image volumes in a practical manner. I don't want to micromanage every image: select transition(about 5 clicks), add text (5 clicks and maybe typing same thing over and over), add effect (e.g. contrast or grayscale) and then rotate 90 degrees clockwise.
So instead of checking every video editor (again) I'll try some niche / dedicated software products first, GUIs first- commandlines are a last resort as always. My goal this time is to make a nice movie of my holiday in Italy from the pile of photos I made.

Features I do want:
  • Input whole folder at once; no 1-by-1 importing. Preferably not slowly either.
  • Control duration of images without micromanaging
  • Select a transition format- all transitions do type X with settings Y. Or cycle types (e.g. fade 3x > dissolve > spin 2x) with settings A-F corresponding to each type.The settings should include duration and any type specific options like fade to black vs white.
  • Ability to specify exceptions in the above format for special photos, e.g. a longer duration of a shot I'm proud of :p. Or a very slow transition for dramatic effect ^.^
  • Add audio
  • Add text to individual images- preferably with many position / font / graphical options. Ideally create text then add the images you want the text applied to; so you can add the same text to several images with ease.
  • Letterboxing for vertical shots (e.g. turns 3:4 into 4:3) or vice versa
  • Less important: ability to add ''breakframes''- black frames with title introducing a chapter (e.g. Venezia) or a witty comment (e.g. ...uhm...) .
  • Various effects: crop, zoom, rotate, contrast, hue, saturation, brightness, playspeed (for videoclips), grayscale, image overlay.
Anyway, software other than video editors that I've found so far:
  • PhotoFilmStrip
  • Foto2Avi
  • Photostage Slidershow
  • FFmpeg / Mencoder (commandline)
  • Virtualdub(mod)
  • Videoporama / ffDiaporama
In addition there are quite a few (paid) webservices that turn uploaded photos into a video, not practical for large videos if you ask me. Also the quality may not be consistent, or so I've heard. Another (farfetched) option is to capture a screencast of a presentation, if you happen to use a webservice for presenting or have a special presentation format you can't export to video. In that case I can recommend Camtasia for ease of use and good framerate.

First up, Photostage Slideshow Producer by NCH (same makers as videopad).
- Allows user to dump all images (called clips) onto a timeline. There is also an option called quick create that lets you add a whole folder.
- Allows multiple clips duration and transition time editing. Ctrl +shift selecting of clips works intuitive. Blank (white or black) slides possible.
- Unfortunately effects, including text(!) can only be applied individually.
- The text has basic font, size & color options like in MS paint. User can position text in a 3x3 grid position. Other text parameters are opacity, basic fade in+out & scrolling (up-down, left-right, etc.). So no stroke, shadow, emboss or funky animation.
- User can apply effects multiple times on 1 clip.
- It is also possible to add audio and preview your video.
- Export allows custom framerate and resolution settings, various formats (avi / mp4/ mov / wmv /flv) , no mkv or mts. Encoding options I think are based on your system codecs, I can choose from 20 compression options, including h264, MPEG-4 (native), Xvid and Huffyuv.

All in all a very good program, shame about the effects being clip-based or I might have stopped searching already. But as it is I would like more text related ease for text-heavy slideshows, both in terms of management and display options. Maybe:
  • Text animation (simple scroll & fades don't count)- Lets look for bouncy words with fireworks :)
  • Standard photoshoppy / wordart options: stroke, emboss / 3D, shadow, opacity, gradient colors.
  • Full control of text locations
  • Batch management: multiple images, same text, no hassle
Foto2Avi has a clean look. Compared to Photostage:
- Both have letterboxing & pillarboxing options
- Doesn't do crops and has less effect options in general
- But does allow batch effects: including text and rotations, as opposed to photostage.
- No cross-fade transition (pretty basic one, although hard to compress)
- No blank slides
- Less framerate flexibility (lowest is 23.976)
- Less resolution options (few presets including 1280x720 and 1920x1080)
- Less compression options, but does do uncompressed and basic x264 / xvid / mpeg.
- More control on text position
- Similar text effects
- Forgot to mention both allow integration of videos in timeline

In general not bad at all, but photostage is better. The fact that Foto2Avi uses avisynth may be a problem. With my test batch of 280 pictures Foto2Avi gave errors (mentioning the DevIL library a few times). Resulting in no video at all, instead of skipping troublesome images. First I thought my jpegs were corrupted, but on inspection they looked fine to me, and photostage worked with the same batch. Using a couple of handpicked fotos did produce a decent video.

Then photofilmstrip. A basic app seemingly focused on creating pan-shots. Compared to the previous 2:
- No letterboxing here.
- Only effects are grayscale and rotate and must be applied individually per clip.
- Basic text subtitles, and by basic I mean just type what text you want, and it dumps it in an .srt file.
- No framerate/res options on output; just select profile (e.g. full hd), type PAL or NTSC and format xvid or mpeg in avi container. Don't forget mpeg doesn't do full HD...
- There is no way of turning off the zoom effect. I'm assuming the zoom translation uses linear interpolation over the duration of the clip while also linearly changing the field of view.
While a 16:9 aspect ratio means you always get a crop with 4:3 sources, a zoom effect with zero change over time might just consume your cpu. My test batch used 4 images and took 10 mins to encode :S

All in all: epic fail designwise for photofilmstrip. Its only redeeming quality is that it outputted a working file.

Codec Hell: Change video container without encoding

By jayvol09 on Friday 02 November 2012 13:10 - Comments are closed
Category: -, Views: 1.112

Keywords: video compression transcoding converter container remux encode decode codec h264 MP4 AVI MKV M2TS


In this example I want to remux an MTS file into either MP4 or MKV for compatibility with certain software. Also the difference in approach between using MTS and M2TS is small if not negligible.
Incidentally a friend of mine mentioned his Samsung tv accepted MP4 but no MKVs on a USB-stick. I can imagine several situations where remuxing is all that is needed to fix a problem, while MANY people *unintentionally* resort to re-encoding the entire video - with the additional quality loss that brings.
So how hard is it to just remux a video?

A bit of video info:
All I know about video is self-taught using the web, one of the first things I learned was the difference between compression algorithm and container. Containers just glue audio, subs etc. into one file. Containers may not support certain types of compressed media; what I think that means is there is no field in the format for entering vital information needed to decode the content. Mkv is known for being flexible, the fact that it is not attached to commercial interests is probably related.
Regarding H.264 (AVC) compressed video: mp4, flv and mov are common containers on the web. Mts / m2ts are seen in personal video recordings and blu-ray related stuff.
Now a remux is just a change of container, and may entail discarding undesired or incompatible files such as audiotracks. The content that is kept is left untouched.
When people say 'that video has codec X' what they are referring to is the compression algorithm. The term codec is used incorrectly so often it has also become a synonym for the software that uses the algorithm.
To illustrate, both Xvid and Divx compressor codecs use Mpeg-4 part 2 (a.k.a. ASP) standard when encoding video, the result must be decoded in a standardized way. Hence there is more competition in the encoder software of a codec than in the decoder part.
Transcoding or re-encoding involves decoding a mediastream and then encoding it again, typically lowering the quality.

So google is my friend, right?
Most google hits for software will give a converter that re-encodes video from some dubious company with 200 similar products. Some big names in the transcoding world (windows): Handbrake, Virtualdub, avidemux, quicktime pro, Megui, MPEGStreamclip, Mediacoder, TEncoder, XMedia Recode. Some also offer editing functionality in varying degrees of elaborateness.
Mencoder and FFMpeg are popular commandline tools, often the basis of the aforementioned GUIs. Another commandline tool is MP4box, of which Yamb is a well-known GUI.
Then the well known VLC has some less-well-known converter features. So with all these choices, surely one would be smart enough to take my MTS and spit out an MKV or MP4 without encoding anything? ...Actually this was doable :).

Yamb takes a lot of formats, but not MTS. Fortunately I found TSMuxerGUI that let me demux my videostream from MTS to a .h264 file. Yamb does take .h264, so solved for mp4.
MKVmerge is a part of the mkvtoolnix package, the gui is straightforward and it accepts many formats, including MTS. I'm guessing using mkvextract on an mkv would also give a .264 file, so it may be a way around TSMuxer, if TSMuxer doesn't install or someting. Anyway, mkv solved. But for good measure, there are more ways.

Avidemux, rocks, period. Just click output:mp4 or mkv and save video. Yet I couldnt find an option to discard audio so I ended up converting to AAC for the mp4 container.
Virtualdub, used to be my 'avi joining' program of choice, but for anything h.264 you need avisynth or possibly vdubmod, so ill keep this on the shelf for those older formats until the day I decide to get into avisynth comes.
I don't like Apple so I didn't bother with Quicktime pro.
VLC can't do mkv, but mp4 and mov were available. Shame I only got a still image .mp4 from the converter in VLC 1.1.11.
More misfortune as Handbrake only wants to encode stuff before muxing. I heard it used to handle (xvid) avi but now it seems geared to encoding to h.264 formats; I'm keeping it installed anyway, probably need it in the future and it looks professional enough.
As for the other programs mentioned, it's like carrying coal to Newcastle. In other words, too many cooks spoil the broth. Or more precisely: I can't be arsed.

edit:
Xmedia recode was also a very nice experience, similar in ease to avidemux. TEncoder didn't take MTS but otherwise does do smart remuxing. MPEGstreamclip has an Appley feel to it, don't think it will just remux as I only saw encoding options. Mediacoder is an overkill GUI for various commandline tools mentioned: tsmuxer, mp4box, ffmpeg- so can't go wrong with it either.


My next challenge: turning my holiday photos into a movie.
Issues: I want lots of cool transitions, and theres several thousand photos. Oh and music.

Automatic sampling of video files: easier said than done!

By jayvol09 on Friday 02 November 2012 11:26 - Comments are closed
Category: -, Views: 576

Keywords: automatic sequential frame image extraction dumping

Recently, as part of my research, I needed to extract a frame every x seconds from a video shot with a panasonic camcorder. Turns out there's not a lot of programs that can do this, or at least not many that advertise this feature. Software I found:
  • Frameshots (by Frame-shots.com)
  • Free video to Jpeg converter (by dvdvideosoft) - free
  • Imagegrab (by hobbyist Paul Glagla) - free
  • Advanced X video converter (by AoA)
X video converter does more than extract images, but this is one of it "modes". It doesn't support mkv, MTS or M2TS containers. It outputs various common image formats and lets the user input a start and end time for capturing from the video. Also allows a resize filter. Its main output formula are:
  1. Sample X images per second (X integer) - allows a high temporal frequency, can't go lower than X = 1.
  2. Sample 1 image per X frames (X integer) - variable framerate can mess up things here
Of course I have to assume the first option does handle variable framerates, though as a user I don't actually know if the time is calculated based on average fps, extracted from some timecode or some other method. Also, if capturing several pictures per second, I have to assume the sampling is evenly spaced over the course of the second.
It is clear that with constant framerate video these 2 options combined with start / end parameters should offer complete (temporal) control over the extracted sequence. The first allows arbitrary high sampling from 1Hz upwards, the second allows sampling under 1 Hz.

Imagegrab is focused on the objective of saving images from video. Basic filters (flips and watermarks), and its intervalometer offers the same 2 options as X vid converter. It doesn't have start / end parameters or resizing. It does allow changing the second unit to minutes and realtime playback during capture. The latter feature helps with visual confirmation that sampling occurs on at the right times.

Frameshots, a commercial attempt at niche software. It thought my 1920x1080i video was 1920x746 in the preview window. Is it coincidence that 1080/746 = a common pixel aspect ratio?- I digress. But once I started outputting it could do 1920x1080. It worked properly with a different test file (avi). It allows cropping, brightness and contrast filters. Sequence parameters include start and end time. Its interval options are:
  1. 1 sample per X miliseconds (X integer > 0)
  2. X images per video clip (I'm assuming equal spacing)
Effectively allowing sampling up to 1000Hz, with no lower limit.
In all I felt it was picky regarding codecs and it froze once for no clear reason. It does offer miliseconds as unit of time which is smart considering the timescale of frames, but offers no extra control.

Dvdvideosoft's free video to JPEG converter gives a simple interface, no filters.
Options are: 1 Sample every X frames, 1 Sample every X seconds, X Samples from total video. Again only X as positive integer values.
No big difference from the others in sequence freedom here, again no start/end time. However I would like a .bmp option.

NB:
Alternatively many editors and converters sport an imagedump output option, but that gives you every frame of the final video as an image. Even if you can be bothered to delete all the unneeded ones it gets complicated if your video has a variable framerate or drivespace is limited.
A slower but less error-prone approach is to just manually select the frames in a player or editor, since most have a "save as .bmp / .tiff / .jpeg /. png" option. You could maybe even pick a frame just before or after the frame at the timepoint, if the quality is better and the time accuracy loss isn't vital. But not very practical when analyzing long videos or at a high temporal resolution.

In conclusion:
I didn't pay much attention to the naming formats available as this can often be easily corrected or isn't important. Imo an important feature is having a start & end time parameter, makes life easier. A help file that details exactly (and perhaps graphically) how the extraction is done may help alleviate some of my concerns regarding variable frame rate and equal spacing of samples.
Perhaps ironically, only the 2 free software options allowed MTS files, where I had to remux first for the other 2 ( 3/4 could handle mkv, they all handled .mp4 and .mov). This remuxing brings its own problems, more on that later.

Common Video Editors Lack of Control is Painfully Evident: PiP case

By jayvol09 on Friday 02 November 2012 02:10 - Comments (4)
Category: -, Views: 1.065

Maybe it's not a good idea for a first post to be a rant, so I'll add my findings after the problem description. Lately I've been working with video in several contexts: video editing, capturing images from video, making video from photos and converting my videos to types that work with other programs. I noticed, every task I set out to do took longer than I intended. Partially because of a learning curve and I get sidetracked easily, but mainly because it is so hard to find the right (and preferably free) software!

Real world example: Picture in picture (PiP)
As part of my research presentation I wanted a movie showing my videoresults side by side at the same time; so people can visually compare the measurements. I had 4 video files of equal specs, just differing in content. I wanted to add these into 1 video showing each subvideo in a quarter of the screen. I also wanted to make sure I didn't resize the individual videos (=lose resolution) or let them start out of synch.

My list of attempts in chronological order:
  • windows movie maker (vista)
  • AVS4YOU
  • Pinnacle Studio 16
  • Powerdirector (some semi-full version)
  • Womble MPEG editor
  • GIMP(I couldnt get this to work with video at all!)
  • videopad
  • Sony studio
For someone who takes pride in not letting his system get cluttered all this installing left a bad aftertaste. My system is an old Acer laptop with windows vista, 4gig memory and dualcore intel cpu @ 1.86Ghz and crappy intel gpu (965 express chipset).

To my surprise adding 4 'overlay' tracks is not a very well supported feature, 2 is the max in half of the software suites. To get around this people resort to recursively using PiP, however every iteration requires encoding again, harming the video quality and costing alot of time. Although exporting in uncompressed may have been a solution, the export options are often also limited :(

My experiences of the various software:
Windows movie maker is basic, kinda expected that, but seems you can download a PiP effect for splitscreening 2 videos. Didn't know that then so moved on to next.
AVS got me excited, but gave me too little control over the PiP elements since needed to move and crop them a bit so they'd fit on my 1600x1200 black background image. In short I couldn't fit them nicely 2x2 due to lack of tools. So moved on again.
Pinnacle surpised me with only allowing 2 video tracks. It did have a transition like preset that worked like splitscreen PiP, effectively allowing 4 images on 1 screen. This preset however had black bars between the images and I think it resized my videos. Another 'fail' was the timecutting feature; a basic feature for a video editor yet so buggy to control I couldnt timesynch all 4 of the videos, even if I could place them nicely. Goodbye Pinnacle, if I ever need a million different transitions ill come back. Moving on for now.
Powerdirector , I needed to pay for (yet another) upgrade to use more video tracks, so I quit it.
Womble was a refreshing surprise, it felt really lightweight yet seemed to have many filters and allowed great timeline control. Parameters like start time, end time and duration are nice instead of always relying on mouse dragging or proper 'snapping'. Sometimes you might want to apply a filter to several segments, in womble just ctrl + click to select them and apply the filter. Many other suites force the user to micromanage every clip on the timeline. Womble let me create 4 PiP with the recursive method; the reason I bothered with recursive here is because it does not encode video in between. I could save the "project" and then load it as an abstraction of the video, using it as a normal video, pretty smart.
Alas the PiP was a transition that didn't allow me to start at t = 0, this slight delay made it hard to synch all video files so in the end I had to abandon Womble. Im keeping it installed though, also worth mentioning is it only exports MPEG-1 & MPEG-2 video; it does have smart encoding, so it won't encode parts if not necessary.
GIMP had been reported to allow video editing in some form (not a very popular google hit if you ask me) but the gui looked too basic, and after only playing around with the timeslider it crashed. Next.
Videopad looked sleek, somewhat basic, but free. Alas the PiP didn't cut it so moved on, though I might play around with it later because it looked sturdy.
Sony movie studio let me add all the videos in one session and gave good control of the size and location of each video, so this was the winner after 2 days of searching, installing, crashing, frustration, uninstalling and more searching. No spectacular difference from AVS or Pinnacle, just more contol for what I needed to do.

In general the export options of all these programs feel limited. In all fairness all the programs didn't give me much info or control over the exact final resolution; leaving me with the fear that my videos had been resized in some unknown way.
Most of the programs are 50-100 euro yet they can't support formats that those numerous free converter suites do? Also options regarding framerate and resolution are the most important to basic users who want a good video for a presentation. Yet these seem to be hidden, or must be employed indirectly, or are absent altogether; as if all users are casual family videomakers (no offense dad). If I wanted professional control I'd get professional aimed software, yet a simple compilation for a presentation should be doable with software under 100 euros, imo.

Next post another video related example with software experience, no more videoeditors, but converter headaches!