text:
Video Editing Rig Struggles Need a Solution
I have picked up more video clients and thus I need to be able to edit faster. I have been trying to update my machine on a budget to get the most performance for my dollar.
Machine

Windows 10 Pro OS with Adobe CC 2018
Core i7 5820K 6 Core Stock Clocked
16 GB Corsair DDR4 3000 Ram Running at 2133

I have 16GB of the same model more on my desk ready to go in

nVidia GTX970 4GB SC
NVME Boot Drive 512GB
Samsung 850 PRO 256GB
WD Blue 500GB Export Drive
1.8 TB RAID 0 Array Assets Drive via Startech PCIE Raid Card

EVO 850 1TB
SANDisk 960GB SSD Plus

Corsair CX500M Modular 500W PSU

Issues
1) Renders are still taking what I consider to be longer than they should.
A 1 minute clip with Color Correction (Basic Lumitri Color Correction is taking about 9 minutes. If I try to add RedGiant Denoiser II, it'll take an hour, minimum.
2) Scrubbing simple timelines is not fluid at all. Sometimes I'll go to play a clip and it'll stutter. Stopping playback and starting it again will fix it but it shouldn't be that hard.
It's exaggerated by adding the cc layer. What I typically do is add the cc and other effects to an adjustment layer, turn it off while editing and then on when done, but I'd like to use a 4k monitor in the future and do the playback review on that.
3) CPU Will peak at 100% but ram never gets above 13gb or so and disk useage or saturation of the link never gets above 1%. I feel like this isnt really an issue but I want to make sure it's not. I know I can upgrade my cpu and it may still get to 100%.
4) Can not export with CUDA acceleration
Thoughts
As mentioned, I know I can upgrade the CPU but with the current cpu bugs, I'd rather wait for the next release. Feels like the smart thing to do maybe.
I don't think the raid array is helping me or the sandisk isnt quick enough. There is definitely a stutter when I run blackmagics disk speed test.
I could switch to NVMEs for all of the drives, but I don't think that disk speed is my problem but then again, I'm coming to you for help.
I will spend whatever makes sense here. I am hoping to grow this business so an investment would make sense but at the same time, I don't want to go mac pro yet.
I've updated everything driver wise and bios wise. Still no love. I'm kind of getting frustrated with it.
What I'm Looking For
What changes should I make to this rig?
What can I do to fix the issues I've mentioned?
Am I wasting time with RAID at this point? Should I just buckle down and buy larger SSDs?
I know the EVO 850 is fast but there are definitely faster drives, just way more expensive.


text:
Nuke particles escaping bounce node with geometry input
I created a sphere emitting particles in Nuke. Around that sphere is another sphere connected to a particle bounce which is set to kill the particles. Some particles seem to slip through though. Why is this, and how can I fix it?

    #! /Applications/Nuke9.0v3/Nuke9.0v3.app/Contents/MacOS//libnuke-9.0.3.dylib -nx
version 9.0 v3
define_window_layout_xml {<?xml version="1.0" encoding="UTF-8"?>
<layout version="1.0">
    <window x="0" y="23" w="1440" h="873" screen="0">
        <splitter orientation="1">
            <split size="910"/>
            <splitter orientation="1">
                <split size="34"/>
                <dock id="" hideTitles="1" activePageId="Toolbar.1">
                    <page id="Toolbar.1"/>
                </dock>
                <split size="872"/>
                <splitter orientation="2">
                    <split size="497"/>
                    <dock id="" activePageId="Viewer.1" focus="true">
                        <page id="Viewer.1"/>
                    </dock>
                    <split size="350"/>
                    <dock id="" activePageId="DAG.1">
                        <page id="DAG.1"/>
                        <page id="Curve Editor.1"/>
                        <page id="DopeSheet.1"/>
                    </dock>
                </splitter>
            </splitter>
            <split size="526"/>
            <dock id="" activePageId="Properties.1">
                <page id="Properties.1"/>
            </dock>
        </splitter>
    </window>
</layout>
}
Root {
 inputs 0
 name /particle.nk
 frame 47
 format "2048 1556 0 0 2048 1556 1 2K_Super_35(full-ap)"
 proxy_type scale
 proxy_format "1024 778 0 0 1024 778 1 1K_Super_35(full-ap)"
}
Sphere {
 inputs 0
 display wireframe
 render_mode off
 radius 3
 name Sphere1
 xpos -417
 ypos 81
}
Sphere {
 inputs 0
 name Sphere2
 xpos -410
 ypos -50
}
Sphere {
 inputs 0
 display wireframe
 render_mode off
 name Sphere3
 xpos -266
 ypos -144
}
push 0
ParticleEmitter {
 inputs 3
 name ParticleEmitter1
 xpos -261
 ypos -50
}
ParticleBounce {
 inputs 2
 out_bounce_mode kill
 in_bounce_mode kill
 object input
 name ParticleBounce1
 selected true
 xpos -261
 ypos 77
}
Viewer {
 frame 47
 frame_range 1-100
 name Viewer1
 xpos -261
 ypos 176
}

If the geometry is animated with a displace geo and some noise it is even worse.

Could you copy/paste the nodes into the question as code so the problem can be reproduced?

@mhlester added it

updated my answer with the response from the foundry. good find!

This looks like a bug in Nuke's ParticleBounce node. The geometry input is new to Nuke 9, which was released pretty recently.
That said, the bug seems to manifest only in this idealized environment of two spheres. The first sphere (radius 1) emits the particles, and the second sphere (radius 3) kills them. It is likely because of the exact alignment between vertices that causes it to penetrate.
Rotating one of the two spheres 0.1 degrees on each axis solves the problem
In theory, the "real world" wouldn't see this bug as frequently, but I've submitted this bug report to The Foundry.

Response from The Foundry

Thanks very much for providing reproduction script, we can see the
problem easily. Your comments and script are logged:
Bug 47417 - ParticleBounce - Leaks with static primitive geometry
input in some cases
We recommend checking upcoming release notes for updates on this
issue.

source: Stack Exchange

license: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/3.0/

sort: votes


text:
Is using a softbox as a back light a good idea when shooting indoors?
I'm shooting in a small apartment and I have had a lot of trouble setting up a back light because the subject is directly against a wall.
I am looking at kits like this one, but I was surprised that what I assume is intended to be a back light is a softbox!
Is it normal to use a softbox for a back light? It seems like it would diffuse the light too much and it wouldn't work as a backlight. Additionally, wouldn't it leak light onto the wall behind the subject? (Maybe those concerns can be addressed with the use of grids?)
I thought for a back light you needed to get a spotlight to shine a narrow beam. Would a softbox like the one above work if hung directly above the subject who has their back one or two feet from the wall? Would it be better to get a reflector light like this one?
If a reflector light is better, why do most of the kits include light boxes on the booms instead of reflector lights?

Worth having a look at http://photo.stackexchange.com/q/19185/3011 and the other questions there tagged lighting http://photo.stackexchange.com/questions/tagged/lighting

Is it normal to use a softbox for a back light?
It can be sometimes. With two softbox lights, one can very nicely, evenly light a background show here. Note in the video that the subject is much farther than 2ft from the background.
Wouldn't it leak light onto the wall behind the subject?
Yes, it would, but not because it's a softbox. Softboxes only cause less harsher shadows. The reason it would spill light all over your scene is because the light inside of the software box is not directional at all, but rather an open-face bulb.
Maybe those concerns can be addressed with the use of grids?
The purpose of a grid is to shape light and contain it. So, with that in mid, a fabric grid would help reduce spill onto your subject and wherever else you don't want it.
Would a softbox like the one above work if hung directly above the subject who has their back one or two feet from the wall?
It really depends on what kind of look you're going for. What color are your walls? If they're white, the light will likely reflect off of the wall and bounce back onto your subject creating a rim light around them and illuminating the back wall. It won't illuminate it evenly (a single softbox light), however, and will likely have a gradient from light to dark, top to bottom.
If a reflector light is better, why do most of the kits include light boxes on the booms instead of reflector lights?
Nothing is better, per say. Light is highly dependent upon the situation. You as the videographer need to figure out which lights are best for your situation.
I would like to take a moment to say that when it comes to light, the whole motto "buy once, cry once" i.e. get good quality lights, rings true. The kit you linked, while I've never had experience with, will likely not last you very long and be a poor investment. You should consider purchasing used, well known name brands, or rent until you can afford real lights (if budget is a concern). Again, I don't know what kind of production you're running, but this is the advice that I've come across time and time again. A good starter set for interview style set ups, is this guy. Additionally, tungsten lights are cheap and render skin tones very nicely. Some brands to find used Tungsten lights are Arri and Mole-Richardson. Try to stay away from off-brand LED lights.
This is only scratching the surface.

"It really depends on what kind of look you're going for. What color are your walls". I'm going for just getting the bare minimum lighting setup. In the past I've had no backlight or a very poorly jerry-rigged backlight. Whatever is the hardest to screw up is what I need. Walls are light blue, almost white.  Thanks for pointing out that kit. Looks like I would use the Pro light as a spotlight and try to direct the light not to hit the walls with barn doors, and is also need another sofbox as key or fill. Might be affordable if I could it on Craigslist.

Also thanks for the top on tungsten vs. CFC bulbs. I will start looking for halogen. One of the reasons I was looking at getting a kit is because when I've had an insanely difficult time making sure all bulbs are the same color temperature. Perhaps part of the problem is not looking exclusively at pro photography bulbs, but budget is an issue.

@brentonstrine Be careful about pro-photography bulbs for video. I've heard they discolor pretty badly as time goes on. Do you balance your lights to be the same color temperature with gels? You don't necessarily need the same color temperature bulbs if you do that.

My current setup is wax paper (actually, maybe it's parchment paper?) clipped in front of incandescents. I wouldn't know how to balance color temperature with gels, I guess I could look into it, but it sounds like the gels would be another added expense. This is all being shot on a consumer camcorder and a compact picture camera that can do video.

So would halogens from Home Depot be better than from a pro-photo source? Or are there bulbs made specifically for video?

@brentonstrine I do not know. However, if I were creating lights from scratch, I'd do some research. If you buy full fixtures from reliable companies like I mentioned previously, you don't have to worry about the quality of the bulbs.

It may be a backlight, or it may be an overhead light for use in getting the noir look.  Either way, use of a softbox is fine.  It would actually have a narrowing impact on the category of the light rather than a widening influence.  The light itself in that kit radiates light in all directions, the inside edges of the soft box bounce that light forward, it then hits the diffuser and gets transmitted through the material, resulting in a kind of virtual light source that has a much larger surface area with light that is more directed than the original light was (but less so than if the diffuser panel had been left off or than if a grid was used.
Depending on how you use it, it shouldn't leak light on to the wall behind the subject as it is going to primarily throw light forward in a wide arc, but it will block light from going behind it.
You could use a grid to focus the light in a particular direction, but then using the soft box wouldn't make sense.  The entire point of a soft box is to diffuse the light so that each point in the scene is hit from multiple angles and makes shadows softer.  A grid is designed to do the opposite and ensure that each point in a scene is hit by the minimum amount of light sources.
As far as if it would work directly overhead, it could work directly overhead for some shots, though either slightly in front or, more ideally in most cases, slightly behind is preferable.  This is simply because a lot of your light is going to come from your key and fill for the front and directly down light will interact with the key and fill lights in a way that often isn't desired (making the tops of facial features brighter and recessed features like eyes darker.)
A backlight doesn't have to be focused, what is important is that the shadows that fall on the backs of people get light and that you have light reflecting off of slightly reflective surfaces like hair and such to give things more pop.  A highly direct light will make parts of this effect stronger, but you get different qualities with a softer light.  Neither is wrong, just depends on what you are looking for.
Reflector lights aren't better, they are just different.  A reflector is a lot like a softbox without the front panel and some nicer kits actually have a softbox where the diffusion panel can be removed.  This way you can get the best of both worlds in a single kit.

Thanks. You mention the soft box throwing light forward, but I can't really get it very far behind the subject. The best I could do is wedge it in the corner between the ceiling and the wall. That would be maybe 1-3 feet behind the subject, but since the soft box is a few feet wide, that means it's nearly directly above. Based on your answer it sounds like using a reflector wouldn't necessarily improve my situation, just give different light.

@brentonstrine - yeah, you aren't going to be able to backlight without a little space.  What would improve your situation would be something like a florescent array or an LED array.  You need something thin and high surface area that you can get back far enough.

Thin in what sense? Thin like a long-tube florescent would be? Would it be possible to 'emulate' a thin light by using barn doors on a spot?

@brentonstrine - I mean that it is physically a thin fixture.  You could use a spotlight with a barn door and bounce it off a reflector.  That would also work well as long as you have something dark to absorb any excess light.  The key is getting a light source as far back as you can to get the angle right.

all_licenses: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/3.0/


text:
Why is MP4 black background gray in Internet Explorer 11?
I exported a Flash movie with a black background to MOV, and converted the MOV to mp4 (H.264). In Quicktime player, the background of the MOV and mp4 are black. In native players in Firefox and  Chrome (desktop) and Safari and Chrome (ipad), the background of the mp4 is black. In IE11... it's dark gray.
The actual gray is rgb 16 16 16, hex #101010.
Any ideas?

The solution was to turn off IE-11's "hardware acceleration" feature which (says here) "lets Internet Explorer move all graphics and text rendering from the CPU to the Graphics Processing Unit (GPU)".
I disabled that under Tools -> Internet Options-> Advanced by selecting "Use software rendering instead of GPU rendering".  It's pictured here
Then, after obligatory re-start (of IE), all the grays were black and colors bright in IE-11.
Now, how I communicate this knowledge to IE users viewing my washed-out videos is a tough new question.

Thats a hard nut. Something you can't really tell your users, they either ignore it or will be too lazy to do that or simply dont want to.
There is also webm as an HTML5 alternative but thats not supported by IE. The only real alternative would be using Flash Player as its probably installed on most machines that primarily use IE.

Thinking of IE, I have left a flash fallback. Until next time...

The root cause is very likely the color space settings in your file. The video is also grey in Firefox on my machine but not in Chrome.
If you open your file in MediaInfo you can see this at the bottom of the video stream:
Color primaries                          : BT.601 NTSC
Transfer characteristics                 : BT.709
Matrix coefficients                      : BT.601

This should say BT.709 in all three categories. What is happening that the player is honoring the color spaces differently and mixing stuff up. This setting likely started out in the Flash export to mov. Handbrake shouldn't do that without explicitly giving it a command line option to do this.

With Mediainfo, the MOV has no color primaries, Transfer characteristics or matrix coefficient info. If I export the MOV to H.264 with Avanti 0.8.1, same result - no color primaries etc. So, it must be Handbrake? But, problem within the problem - my Avanti export is "invalid" for IE 11 and Firefox (but not for Chrome), so I cannot tell whether the gray/black issue is solved in my IE (and your Firefox). I've put both videos here: www.casedasole.it/video/ie.html -  NB: there's no audio, it's just a test of the black.

Thats expected that these things don't show up in the mov, those are h264 specific flags. Handbrake just uses what it gets fed and the BT.601 color space is very likely set in your source codec. What codec are you using in you mov export? You might want to try the "Animation" codec and then try exporting with handbrake again. Also try the Normal and Android High preset this time (might need to adjust the resolution manually).

The MOVs are Animation, have no info on the specific codec. Exported with Handbrake as Android or Normal, I still get gray - http://www.casedasole.it/video/HB.html  ...I'd like to see what Avanti makes of these files, but - as I wrote above - the files it makes are invalid. In fact, when I use Avanti to export any regular MOV (audio and video) as H.264, there is no video in any of them, only audio. Could we sidetrack to see what the Avanti issue is, so I can use it to export the mp4s, hopefully with real black? My unsuccessful settings are here: http://www.casedasole.it/video/avanti.html

With Animation do you mean your video content or the codec?
I would recommend to not use Avanti, its a horrible GUI for ffmpeg.
You might want to try to just use ffmpeg itself with this command: ffmpeg -i input.mov -vcodec libx264 -preset slow -acodec copy -pix_fmt yuv420p output.mp4
Though note that ffmpeg/avanti and handbrake both use x264 as the encoder.

The MOVs were exported from Flash with setting "Animation", millions of colors. I downloaded and unzipped ffmpeg, 7MB of stuff, but no exe. Gee, even exe's are GUI? Anyway, I'll test a little more with Avanti, to figure out why it exports the audio without the video (just for contrast, an AVI exported from Flash and then exported as H.264 with Handbrake has video but no audio). Thanks for the tips, will update later.

This sounds like it: "Q: How can I see if the levels are wrong? A: The video looks washed out and the colors are not vivid. Black is displayed as dark gray." http://avisynth.nl/index.php/Luminance_levels ... some stuff to read...

Yes thats a very similar issue but you shouldn't have different results in different browsers on the same machine.
You probably downloaded the source code of ffmpeg.
If you are on windows download here: http://ffmpeg.zeranoe.com/builds/
If you are on mac download here: http://www.evermeet.cx/ffmpeg/
Just download the 32bit static build.

Thanks for bearing with me. Downloaded ffmpeg-latest-win32-static.7z from zeranoe, found three exe, none of which did anything except flash white text in a black windowette for a split second before disappearing. Ffmpeg documentation is like an advanced Tibetan language class. So, giving up on seeing if ffmeg exports mp4s with black black not gray black. What to do? How about - http://vimeo.com/album/2830795/video/37582984 (at 05:15), i.e. correct alpha with QT Pro? Also I noticed the MOVs are color space  RGBa, while the mp4s from Handbrake are YUV. Any significance?

I guess you haven't use a command line tool before?
Open a "Command Prompt" window and drag and drop the "ffmpeg.exe" into the cmd window. Then just use the command I posted but you can ommit the "ffmpeg" part. Then replace input.mov with the path to your mov and the same with output.mp4. You can drag and drop here aswell, just go to the right position with the text pointer and drag and drop the old input/output file into the cmd. Its actually very easy to use once you get the hang of it. Dont bother with the manual, look up online tutorials for the basics.

Well yes there is of course a conversion between RGB to YUV but it should still output a 100% black. What he describes in the video only really applys to uploading to Vimeo, he bascially tailored the file to the vimeo h264 encoder.
What you can also try is to export your file as an Avi with HuffYUV encoding and see if that makes a difference.

Of course my answer only addressed IE. Why the blacks are gray in your Firefox and not mine is another question.

Probably also hardware acceleration, my FF is not running with standard render settings. Nice find!

I had this issue for a very long time in pretty much every program I played MP4 videos in. It turns out that by default, the Nvidia drivers don't actually have the full dynamic range enabled. I changed it, and tested it just to confirm that it really worked. Just open up the control panel, and change the dynamic range to "Full":

Regarding the current accepted answer: it doesn't seem to regard the fact that there will almost certainly be a large performance hit when disabling hardware acceleration, and is not a proper solution as a result. If it resolved the problem for you, it's pretty likely that just changing the driver settings (my answer) is far better than outright disabling hardware acceleration.


text:
Why do SRT subtitles fail to appear in my MP4 videos on iPhones?
I'm using videojs in an HTML page to publish a video with VTT captions. Problem is: iPhones do not play the mp4 in the videojs player - it renders the full videojs player, but when you click the Play button, it opens the mp4 in it's native player (QT player, presumably). This is normal behaviour for video on iPhones - but at that point I lose my captions, which are inserted in the videojs player through css.
So I ran the MP4s through Handbrake with imported .srt files. In my local VLC player, the captions appear. But when I put the same files (MP4 + SRT) in the same directory on my web server, the subtitles do not appear on the video in iPhones. In fact, the subtitles - or any subtitles option - also do not appear in the native players of desktop Firefox, Chrome or IE 11 (which uses a QT plugin for video).
It's not a problem of coding (used UTF-8) or server configuration - if I insert two <tracks> in the videojs <video> element - one the vtt file, one the srt file - both play, together, in the videojs player.

Glad you found something.  Feel free to post it as an answer and mark it as answered if it solved the problem.  That way we can upvote it as a thanks for sharing.

Update with answer
It can be done. Run your source files through Handbrake, after importing the subtitle files you want. Then export as Mp4. I've read (a) you should put the SRT file/s in the same folder as the Mp4 on your server, and (b) the SRT should have the same name as the mp4. But (a) is probably wrong (in a text-editor, you can see the subtitles have been coded into the mp4 by Handbrake) and (b) is definitely wrong - two different language SRT files will obviously have different file names.
Testing... On iPhone, a little speech bubble appeared on the right side of the QT player control bar when it loaded my MP4. Tapping that popped up the two subtitle language options. So, it worked. But it only worked because first my tester had to enable "closed captions" in his iPhone's:
Settings > General > Accessibility > Subtitles & Captioning > Closed Captions + SDH

In other words, an extra chore for users and the result is crappy-looking subtitles anyway. And all this because, unlike Samsungs and most other mobiles I've tested on, the iPhone overrides the videojs player and plays your videos in Apple's own Quicktime player.


text:
Are the properties (bitrate, fps) of my h.264 video OK for the web?
I'm converting a Flash vector animation to an mp4 video for the web. After trying and failing with Swiffy, it's the only way I have of preserving the work "for posterity", once Flash is gone.
When exporting a FLA to MOV, the frame rate changes. For example, an 18 fps FLA comes out as 9.6 fps in the MOV (according to the QT player properties).
Because the animation is jittery, I used Handbrake to export the MOVs as h.264, with framerates of 24, 30 and 60. They look smoother. (I was surprised the time-length of the video doesn't change, I thought at higher framerates it'd speed up).
Anyway, an mp4 produced like this has the following properties (according to the QT player):
Format: H.264, 550 x 250, millions, AAC, Mono, 48 kHz

FPS: 24.00
File size: 7.41 MB
Data rate: 202.25 kbit/sec
Length: 00:05:07.09

My newbie question is: can anyway tell me, at a glance, whether those properties are within the normal range for a video that is meant to be served from a dedicated web server or CDN?

Higher or lower framerate doesn't mean the video gets longer or shorter, it just means you show more information in the same interval.

Sure - it seems ok. However, it is also a good idea to offer other types of video for browsers that do not support mp4 / h264. The usual best practice involves supplying mp4, webm and ogg as containers. This site is a good reference.
A back of the napkin calculation:
1000 viewers / month @ 7.4 MB = 7.4 GB / Month.
Which is probably within the acceptable range for a generic server, just make sure the traffic allowed by your server provider can deal with it...
Assuming your server has a gigabit uplink (which is generally a bit more expensive), you could "theoretically" serve this video to 5000 users concurrently, however this won't work with normal apache servers - and it is probably a good idea to host the media files at amazon AWS (or whatever) if you are expecting that kind of traffic.

let me finish that comment... I have webm copies, done with Avanti/FFmpeg. Thanks for covering a few other points I'm mulling over. I'm getting about 15000 vistors a month for the Flash files. Irony is, in Flash the animation is 440Kb (16 times smaller than the mp4). But for mobiles, there's no alternative but video.

Sure - animations are just little bits of code - not pixel data. However, I disagree that video is your only option. These days many of the things that were previously done with flash can be realized with SVG / Canvas...

And furthermore, soon we will all be using h265 / vp9. I have already had some success installing these and using them with ffmpeg, and it is true, the resulting size is (in my tests) about 30-40% smaller, and yes - it takes longer to encode them. Here is a bit more information:  http://bloggeek.me/h265-vs-vp9/

I spent months converting Flash to Swiffy (including re-doing all the audio, because Swiffy wouldn't loop sounds). It did a great job with animations (SVG/Canvas), but unfortunately on mobiles (Apple and Android), the audio wouldn't play. More here: http://stackoverflow.com/questions/23634866/how-to-make-audio-in-swiffy-html5-files-play-in-mobile-browsers

h265 is miles away from being a web codec, its not even adopted on the desktop yet

with soon I meant years, and ffplay can decode vp9 / h265 already (if it's compiled right)

I would try and see if you can't reduce the bitrate a little more even, you have a very low resolution here so you might be able to improve it even further. Just take it to a point where you can say the quality is still satisfiable, size matters on the web.
Handbrake has a lot of options available to tweak the video size. The RF slider being the most straight forward one.
Also like denjello suggested, you may want to offer other formats aswell, preferably webm.

With Handbrake, I can get that file to 7MB (bitrate 184 kbps) using RF 27. But I also see a Handbrake option to export at an average bitrate, instead of using RF. What's a... good average bitrate?

Depends on your content, the codec is very adaptive.
Just try it out, its not like it takes long to encode. The only thing that is important is that it looks good, just reduce the bit-rate until it doesn't. I would start with ~150kbps

At 150 kbps, the pixels are huge. But at 30 RF (177kps, 6.8 MB) it's still OK.  Thanks for the tips.


text:
Why does VLC player convert a 4-minute mp4 to a 4-hour webm?
I used standard webm settings in VLC player 2.2.1 (the latest) to convert a 4-minute mp4 made in Handbrake. In the conversion panel it says "Streaming 04:00" but the end result is "03:49:15" and, on two further attempts, "03:56:28" and "04:04:23". The file size is almost the same as the mp4 (4MB).
The length of the webm video - i.e. more than 4 hours - is confirmed by MediaInfo and by Firefox native player, videojs player, and VLC player. In VLC player, I tried clicking on the progress bar to explore exactly what takes up 4 hours, but on-click it closes the video. In Firefox, the same test returns the video to frame 1.
Update (30 August)
I did a test on this "generic mp4": http://download.wavetlan.com/SVV/Media/HTTP/H264/Talkinghead_Media/H264_test1_Talkinghead_mp4_480x360.mp4. Do not know if it was done with Handbrake. Then converted it to webm, using default settings, with VLC 2.2.1.
Results: The mp4 is 00:00:14s, the webm is 22:40:00s. But the webm is not really 22 hours long, it plays for 14s just like the mp4. However, in a html5 player, Firefox and Chrome native players and VLC player, the progress bar gives the length as 22:40:00.

Can you post the source mp4?

@Mulvya - see update in the question above. It does not seem to be a problem of the mp4 source - the new file I tested on I found at random and it has the same problem in webm as my own mp4 files. To test, see link in my question.

Yes, it seems to be a problem of generated timecode. See https://trac.videolan.org/vlc/ticket/12713#no1
Switch to ffmpeg (with a GUI like Avanti) to avoid this issue. My answer to an earlier webm question may guide you on settings.

if the ticket is 10 months old and they didn't fix it, probably means I shouldn't be holding my breath over it?

Yeah. Use ffmpeg instead.


text:
Old Camcorder needs Repair
I have a Canon H680 Hi8 camcorder that fell off a shelf many years ago and hasn't been used since.  Now I want to use its optics in a low-budget live video system for my church.  Basically, I'm impressed with its ability to zoom way in, focus manually, then zoom out to frame the shot without losing focus.  I don't need to record with it.
I asked some local shops in Kansas City (USA), and I got a unanimous, "Sorry, we don't work on those anymore".
What still works:

It still powers on, using the original AC adapter.
The viewfinder displays the text overlay clearly.
All the buttons that I tried change the overlay as expected.
The autofocus hunts around smoothly when enabled.  No gear grinding or other suspicious noises.
The last time I could get a testable image (see below), the optics seemed to be okay, which is how I know their capabilities.

What doesn't work:

I can't get a decent picture in the viewfinder.  The closest I can get is a set of very garbled dots that change when I move the camera, but are not clear enough to recognize.  Sometimes I can't even get that, only solid black with some faint analog noise.  At one time, I could get a badly distorted but recognizable image, but not this time.
The video output seems to be completely dead.  While I saw in the viewfinder that it was trying, the VCR that I had it hooked up to never showed anything.  This could be operator error.
I suspect that the autofocus range sensor may also be damaged because its almost-opaque cover is broken off from the fall and it never settles down when enabled.  This isn't a deal-breaker though; I'd rather use manual focus anyway.

Anyone know how I can get this working?

Edit: The lens is indeed good, determined by taking it out and looking through it from the sensor end while wiggling the controls.  I still can't make the sensor work.

This probably isn't even worth getting working.  Even a minimally cheap camera using a digital zoom will far outperform a Hi8 relic.

Maybe so, but I already have it, versus buying something, and I've always been skeptical about digital zoom.  All they really do is crop the image and expand that to the original size, so focus is guaranteed but resolution is not.  I've disabled that feature on my still camera because I can crop it later and even re-frame it, which I can't do with a digital zoomed original.  'Course I've been out of the market for a while, so maybe they've gotten good enough to not be overly sensitive or jerky while moving and the arbitrary-with-digital zoom limit is still unnoticeably clear on a projector.

No digital zoom is still bad, but a cheap modern sensor is still far better quality cropped than a hi 8 Camera Un cropped

Yeah, that's probably be true.  1.21gigapixels (or whatever they're up to by now) versus 480 TV lines: I think I have some room to crop that.  But then there's the question of smoothness and controllability.  I'd like the camera operator to be able to make changes live without being a distraction - slow push or pull, for example - and it's pretty hard to beat a direct, analog, tactile interface like this one.  Besides feeling unnecessary, my experience using digital zoom has been with a three-position switch - (in)/hold/(out) - that moved a bit faster than was useful to me.

ah, yeah, the variable speed analog zoom is hard to replicate on a cheap device.  I would still question the frugality of spending time and resources on such an old device versus investing in a new one unless it turns out to be an easy (and very cheap) fix.  I wouldn't spend more than $30 or 5 hours on it for sure.  Modern equipment is really miles and miles better now, even for devices as cheap as a couple hundred dollars (that would include variable speed optical zoom even).

Well, I took it apart and found the lens to be good, as I thought.  It does what I expect when I look through it from the sensor end and wiggle things.  There was a motorized shutter/aperture that springs closed, so I took it out and tested again with the same results.  So I'm in the market for a good sensor or a good camera.  (see http://video.stackexchange.com/questions/12581/recommendations-for-a-parfocal-video-camera)


text:
Mp4 Video Container and the Codecs use with it
I have started to learn about mp4 file format, and I just learned that mp4 is nothing but just a container that defines the structure of the video file, and that it has different codecs inside it for audio and video, as well as other data like metadata and subtitles.
I have been searching around for a while now but couldn't find so much on the basics of mp4 containers and the working and complete structure explanation of it.
So far I have read this and this, but there is not enough information specifically about mp4 container.
My question is,
There are so many Audio/Video Codecs available which are used, but which Codecs are used with the mp4 container ?
Can we use any Codec with the mp4 container ? because there are like dozen different Codecs and how one would know which can be used with the mp4 container ?,
and is there a book or a paper on Mp4 container structure and explanation ?

Old question with a good new answer here: Understanding containers and codecs

The Wikipedia article on MPEG-4 is a great start as the MP4 file specification is part of the MPEG-4 spec.  Specifically version 2 of MP4 is MPEG-4 Part 14. While not free, you can purchase copies of the ISO spec under ISO# 14496-14:2003.  A preview with some detail is available from the ISO here.
It is designed to contain any of the various MPEG video formats, including MPEG, MPEG-2, MPEG-4 Part 2 (generic MPEG-4) and, probably most commonly, MPEG-4 part 10 (H.264).  It can theoretically support almost any format of video stream, however those 4 are the most widely supported for the file type.
The full list of officially registered codec types is available from the MP4 Registration Authority here.

Can't any container theoretically support any codec? Isn't this just a matter of the player being able to understand the two correctly?

@digivisionmedia depends on the container.  Some may have enumerations of allowed codecs as use an int to identify it rather than an open entry.  You could theoretically make a container that can hold any codec though.

all_licenses: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/4.0/


text:
What is the maximum amount of memory Adobe Premiere Pro can efficiently utilize?
From my experience with programming I know that just throwing more memory against even a well paralized program will not speed it up after a certain limit due to various practical limitations (tasks can only be split in so many parts, waiting==processing or countless of other scenarios). Is there a limit at which which Adobe Premiere Pro doesn't speed up significantly anymore? Does it make sense to build a PC with 128GB or 512GB of memory? (My colleague is considering building a PC with 128GB and I am just a bit skeptical of this being... worth it, though I might be absolutely wrong as this really is not my area of expertise (and just for the record, I know that it's a 64-bit application and that it can address all available memory up to windows' limit, what I am asking is about the practical world)).

I would love to know why I received the downvote, after all, I think the question can be helpful for anybody building a workstation for video editing using Adobe Premiere Pro.

LinusTechTips video: 128GB of DDR4 Memory!!! Does more RAM = better performance?. Doesn't address the question in the context of Adobe Premiere Pro but it does generally discuss that 128GB of RAM doesn't confer much performance enhancement over 16GB in the particular benchmarks used.

That entirely depends on what kind of footage he work with and how long his average cuts are. If we are talking hour long movies a bigger amount of RAM can be worth it.
Though 128GB would be completely useless if he only uses Premiere it just doesn't use that much RAM.
We built a high-end workstation once for huge 3D renderings that has 64GB RAM, the only times we utilize that fully is when working with gigantic 3D scenes in Cinema 4D or 3Ds Max. After Effects barley goes beyond 20GB unless you need an hour long RAM previews for some reason and Premiere is usually around 5-7GB even when cutting 60min plus movies.
So if hes only using Premiere, 128GB would be a complete waste of money. I would not recommend anything more than 32GB on a video editing only workstation.
When using Premiere a high-end GPU is a lot more worth performance wise, Premiere can render in realtime with a powerfull GPU making having a ton of system RAM a bit useless.
I can recommend using gaming cards instead of workstation cards, the only difference is support and drivers, the gaming cards are much more powerful and a lot cheaper. I have never experienced any stability differences in Adobe software with a Workstation card compared to a gaming card. A good mixture of gaming GPU and workstation GPU is the GeForce GTX Titan, its meant for CUDA development and other CUDA usage.
Alternatively in the latest Premiere version there is also full OpenCL support, so a high-end AMD card would also be a good choice.
F.e. The R9 290X or if he wants a workstation GPU for some reason the FirePro W9100 is currently the high-end model, though a waste of money in my opinion. You do not need 16GB Vram with Premiere. I would probably go for the W9000 or W8000.
Edit: As AJ Henderson mentioned, footage gets almost never fully cached in RAM so a fast SSD or maybe an SSD array will be much more beneficial than more RAM aswell.
Going for fast disk I/O and a good GPU is a good combination nowadays. Having a high-end multi core CPU and lots of RAM is getting less and less important in the graphics world.

added some info concerning disk io

As non-linear video editing is random access by definition (that's where non-linear comes from), you will benefit from more RAM at least until you can fit all of your source footage in memory. The more data you can leave cached in memory, the faster access you can have to the footage whenever you need it.  (I'm not sure exactly how Premiere handles this, but that is the only thing that would possibly benefit from insane amounts of RAM.  If it isn't able to cache it all, then you would only benefit for however much it would bother to cache.)  On the After Effects side of things, more RAM does mean more space for RAM previews.
Processing speed is really a very secondary concern when it comes to memory as things are a predictable and linear process at that point since the computer can anticipate what is coming and data access is not going to be the limiting factor at that point, but rather processor speed.  DMA can retrieve data from the hard drive in to RAM as processing occurs and the processing of individual frames and groups of pictures isn't going to require that much memory space.
Some high memory consumption processing might benefit, but the primary use of RAM is going to be for holding assets in RAM for quick access while working with the footage.


text:
Bulk cutting and compression
I am looking for a piece(s) of software that can cut bulk videos into pieces and compress them.
So say I have 10 videos each 20 min, I would like to make a setting 5 min and the output would be  1 full compressed video and 4 cut compressed videos for each video for a total of 50 files.
Is there anything out there that does this?
Edit: i forgot to mention that adding a watermark to them all would be great also.

You would use FFmpeg for that.
It requires that you are a bit familiar with using command line applications but even if you are not its really not complicated.
The things you want to do have been covered in these questions (and probably others):
Why does quality degrade so much if just cutting video with ffmpeg? (different topic but the answer tells you exactly the two ways to cut in ffmpeg, the re-encoding one is the one you want).
Add an image in front of video using ffmpeg (watermark)
What you want to do is make 5 separate ffmpeg commands, 4 for your 5 minutes segments and one for your complete video.
Put those into a batch/shell/apple script depending on your OS and loop over your files replacing the input file name for each command set iteration.


text:
Rendering without quality loss in Kdenlive
I've used SimpleScreenRecorder for screencasting. The settings are shown below. This file is of very good quality. I've then added this clip to the Kdenlive project with the same settings as the video. To test the output, I rendered some 5 to 10 seconds of the video and the final result was not good as the source file. The bitrate and other settings during rendering are shown below.

I have the same use case. I want to render some audio + video as an intermediate clip for further editing. For this intermediate clip, I don't really need any compression. And I just found out that one can use a kdenlive project as a clip in another project! This avoids any rendering until one is really finished.

To the command that kdenlive generates "acodec=aac ar..." add preset=slow. I'm not sure if kdenlive honors that but these presets are available for x264 in ffmpeg and avconf. They are good presets and are the same that you could choose from when you recorded your video (superfast in your case). Slow is generally a good option if you want to avoid visual quality loss.
If adding that line didn't work you can try to generate a script instead and add -preset slow after -vcodec but before the output file.
You probably want to delete the vb=%bitrate% bit, the preset will have its own value for that.
If you want to be really lossless in terms of video information you need to choose a lossless codec. I'm a bit puzzled that you have so few formats available. Maybe the "Show all profiles" checkbox gives you more options?
A recommendable codec for screen recordings would be QuickTime Animation or any other RLE based codec.
The Dirac codec from BBC is also a great lossless opensource codec, it can be found under the name libschroedinger in ffmpeg.

There are some lossless codecs listed: Lossless FFV1+FLAC, Lossless HuffYUV+FLAC, Lossless MPEG-2+AC3, Lossless MPEG-4+PCM and Lossless H.264+AAC. Which one amongst these would you recommend?

The lossless MPEG profiles can't be truly lossless and the h264 lossless profile is extremly bad supported by software not based on ffmpeg/x264. FFV1 is a codec by the FFMpeg devs and in an experimental state, also again bad compatability outside the linux world.
I would recommend to go with HuffYUV but try PCM instead  of FLAC if possible. Be aware that HuffYUV produces extremly huge files.
If you are doing your final encode and are not encoding the file a second time after your export I recommend to make a good quality h264 encode instead.


text:
Superwhites when grading for web
When grading solely for web, is it preferable to grade including superwhites within the tonal range rather than placing whites at 100, keeping everything within legal range?
By web I mean upload to Video or YouTube.


text:
What is the ffmpeg filter equivalent of "Automatic levels" for colors?
Looking at the documentation about filters there seems to be a curve filter to manipulate color with the following presets:

color_negative
cross_process
darker
increase_contrast
lighter
linear_contrast
medium_contrast
negative
strong_contrast
vintage

Unfortunately the documentation doesn't mention what these presets do or what their parameters are. I'm looking for a simple option to take a video and auto level colors for all the frames. Does any of these presets do that?

Here's the details on what the presets do:
[PRESET_COLOR_NEGATIVE] = {
    "0/1 0.129/1 0.466/0.498 0.725/0 1/0",
    "0/1 0.109/1 0.301/0.498 0.517/0 1/0",
    "0/1 0.098/1 0.235/0.498 0.423/0 1/0",
},
[PRESET_CROSS_PROCESS] = {
    "0.25/0.156 0.501/0.501 0.686/0.745",
    "0.25/0.188 0.38/0.501 0.745/0.815 1/0.815",
    "0.231/0.094 0.709/0.874",
},
[PRESET_DARKER]             = { .master = "0.5/0.4" },
[PRESET_INCREASE_CONTRAST]  = { .master = "0.149/0.066 0.831/0.905 0.905/0.98" },
[PRESET_LIGHTER]            = { .master = "0.4/0.5" },
[PRESET_LINEAR_CONTRAST]    = { .master = "0.305/0.286 0.694/0.713" },
[PRESET_MEDIUM_CONTRAST]    = { .master = "0.286/0.219 0.639/0.643" },
[PRESET_NEGATIVE]           = { .master = "0/1 1/0" },
[PRESET_STRONG_CONTRAST]    = { .master = "0.301/0.196 0.592/0.6 0.686/0.737" },
[PRESET_VINTAGE] = {
    "0/0.11 0.42/0.51 1/0.95",
    "0.50/0.48",
    "0/0.22 0.49/0.44 1/0.8",
}

For each preset, each x/y pair maps input x to output y, where the range is 0-1. If not set, the filter automatically sets 0/0 and 1/1 i.e. input black = output black and input white = output white. Whereas 0/1 would mean set input black pixels to white in output. Where you have multiple pairs in quotes, separated by commas, the sequence is "R","G","B" mapping. The interpolation between the points is natural cubic spline.

For auto leveling, a crude method would be use the autolevels subfilter of the pp filter.
ffmpeg -i input.mp4 -vf pp=al output.mp4

What this does is stretch luminance to full range.

To check levels before (and after) any adjustment you do, you can generate a RGB parade for a frame like so
ffmpeg -i input.mp4 -vf "format=rgb24,waveform=c=7:d=parade,scale=1200x512" -vframes 1 frame1parade.png

For a specific frame, use
ffmpeg -ss 12.4 -i input.mp4 -vf "format=rgb24,waveform=c=7:d=parade,scale=1200x512" -vframes 1 frameNparade.png

Relevant update: lavfi/curves: do not automatically insert points at x=0 and x=1.


text:
Want to set the in/out points but modified the existing clip
I am new to Adobe Premiere Pro CC 2014. The source pane is in such a state:

and when I want to mark a new in point for a new clip, it will be like

which will erase one of the clips:

How to exit this "edit mode"? Thank you.
Update: if I right-click the source pane, I can see the "Clear In", "Clear Out", and "Clear In and Out" are greyed out.

And you are doing nothing else to tell it to perform a 3 point edit?  It just automatically happens when you set the third point?

@AJHenderson I am not doing a 3 point edit and just want to create a new clip from the source but it seems I can only modify the in/out point of some existing sequence. I also notice that the "Clear" family items are greyed out.

My best guess is they did some kind of ability to load a clip in to the source viewer to view the clip in it's entirety.  My expectation is that you need to load the clip from the project window in to the source window.  That should disassociate it from a particular edit.

Thanks, this works as a work-around. Do you know the name of this mode so that I can know more about it?

I don't think it is a special mode so to speak.  It is just allowing you to open a particular edit in the source window.  It's a bit of an odd thing to do, but my guess is they did it in a 3 point editing style to allow for sliding the end points of the edit more easily.  It's basically a more advanced version of the old sliding edit tool.

authors: نجيب الحميري


text:
Good software for a simple, slide-show style video presentation?
So we have to make a short video (Less than 5 minutes) for a leadership course as part of our degree. (Engineering)
We're not really video people, so we've decided to simple slide show style video (Using something like Prezi, so that it at least looks and feels somewhat proffesional) with some voice-overs (which we've already recorded.)
Can anyone offer any suggestions for a simple piece of video edition software that's free? I don't need anything too feature rich, just something that can let you mix visual with audio and is quick to learn?
(Also, as a quick aside, can someone suggest background music that's generic and vaguely inspiring?)
Edit:
Posted my own answer, but still chose Vladislav's answer because it was good. Also, Youtube Audio Library was awesome. Best background music ever. Thanks.

Try out Google Picasa - it's not actually an video editor, but can combine pictures and sound to video: Creating a movie
There is a videotutorial on Youtube: Creating a Movie with Photos and Music using Picasa
Also you can use Microsoft Power Point as presentation editor - it can save presentation as a video: Turn your presentation into a video
For background music it would be better to start new thread. Check Youtube Audio Library.

So, I ended up using Prezi to run a presentation and camtasia studio to record it and render it to the video file I needed. Both were 30 day free trials, so that worked out nicely.
I put all the audio in Prezi (It lets you add background music for the whole presentation as well as voice overs on a slide-by-slide basis) but I could have just easily have done it in camtasia.
I needed the voice overs for timing in the Prezi, which is why I did it that way, but there's nothing stopping you from just putting them in anyway, and removing the sound when it gets to camtasia, and putting them in as separate tracks. You'd probably have better control of volume, etc, that way.


text:
Corrupt MP4 [recording interrupted]
I was recording an MP4 file using PlaysTV, and my computer had a power fault half-way through the recording.
I'm sure that the file contains valid data, it's just that no media player will recognize it.
To fix it I have tried Avidemux, I have tried numerous programs listed in other questions on stackexchange. And so far nothing has worked.
The ffmpeg -i output is as follows:
  libavutil      55. 24.100 / 55. 24.100
  libavcodec     57. 43.100 / 57. 43.100
  libavformat    57. 37.100 / 57. 37.100
  libavdevice    57.  0.101 / 57.  0.101
  libavfilter     6. 46.100 /  6. 46.100
  libswscale      4.  1.100 /  4.  1.100
  libswresample   2.  0.101 /  2.  0.101
  libpostproc    54.  0.100 / 54.  0.100
[mov,mp4,m4a,3gp,3g2,mj2 @ 000000000262d040] moov atom not found
2016_05_27_20_08_12-ses.mp4: Invalid data found when processing input

Mediainfo output:
General
Complete name                            : F:\vids\2016_05_27_20_08_12-ses.mp4
Format                                   : MPEG-4
Format profile                           : Base Media / Version 2
Codec ID                                 : mp42 (mp41/isom)
File size                                : 1.21 GiB

There are probably paid services that will fix this file for me, however since it is a (quite)large-ish file, they cost too much.
Can anyone help me here?

I've occasionally been successful with mplayer when ffmpeg didn't care for a file. Be that as it may, I'm not near as confident as you are that the file contains enough valid data to be of any use.

Similar questions on superuser: https://superuser.com/q/1033251/514709 and https://superuser.com/q/417100/514709.

I recently encountered this exact problem and I was able to repair the file using Untrunc, a program created specifically to solve this problem, as suggested by sparrowt on SuperUser:

For this method you need:

another video file which isn't broken
a linux installation (I used Ubuntu 12.04) and basic ability to use a command line.

This is what to do:

Install some pre-requisite libraries with this command:
sudo apt-get install libavformat-dev libavcodec-dev libavutil-dev
Download the source code for Untrunc from the github repo:
wget https://github.com/ponchio/untrunc/archive/master.zip
Unzip the source code:
unzip master.zip
Go into the directory where it's been unzipped:
cd untrunc-master
Compile the source code using this command (all one line):
g++ -o untrunc file.cpp main.cpp track.cpp atom.cpp mp4.cpp
  -L/usr/local/lib -lavformat -lavcodec -lavutil
(you can try skipping this step and using the ready-provided
  executable, but it didn't work for me)
Then you can actually fix the video. You need both the broken video and an example working video.
Ideally the video should be from the same camera & have the same
  resolution (mine was but it might work without). Also if it is at
  least as long as the broken one (preferably roughly the same) this may
  help.
Run this command in the folder where you have unzipped and compiled
  Untrunc but replace the /path/to/... bits with your 2 video files:
./untrunc /path/to/working-video.m4v /path/to/broken-video.m4v
Then it should churn away and hopefully produce a playable file
  called broken-video_fixed.m4v

That's it you're done!
VLC Media Player should now be able to play the file. However it may
  be reporting the wrong length information (Untrunc tries to guess/work
  this out, but doesn't always get it right). To fix this try
  re-encoding the video through another program.

I have this error when trying to build: track.cpp:60:32: fatal error: libavcodec/h264dec.h

@unfa I have the same issue, so I've used the port of untrunc made by@anthwlock which is far easier to build and install.

Updated: this tool can now recover files from more sources.
Try with recover_mp4_to_h264. It's a command line program, and will require a good reference file.
Usage as indicated:
recover_mp4 in_good_similar.mp4 --analyze
recover_mp4 in_corrupted.mp4 {out_video.h264 | out_video.hevc | --novideo} [out_audio.aac | out_audio.wav | out_audio.mp3 | out_audio.raw | --noaudio] [options]

I had a go with that before, it said the format wasn't supported.

Restore.media, the company that makes recover_mp4, does not offer that download any more, and instead only repairs files online via their site (for a fee). You can still get an earlier version of that tool (legally so; Restore.media even provides the direct link for the download). Sadly, it's closed source, and available for Windows (32/64bits) only...

You may also, to save yourself trouble, check to see the data is even there first. The file size being 1.21 GB, does that sound correct for the time until you lost power?
I bring this up because some programs write the data first to memory... sometimes very long large chunks of data, before actually committing it to disk.
With an MP4, the video should play, if it has valid headers, up until the last good packet containing the correct key/i frames.
What pops into my head, is the data may not be there, as in, it had been committed to memory, but not to disk-- I'd do a test record (factoring the time it "should be", and compare file sizes). Before you jump through hoops.

The MOOV atom, containing stream info and sample positions, is written at the time of finishing the file i.e. when all the media stream data has been committed to disk. You can have a MP4 with a MOOV atom upfront with just the stream info, which makes the file playable but not seekable. However, very few apps or devices write MP4s in this way.

Bandicam, a very popular screen capture application has an option as to how often it commits the data captured into ram to disk, which is why i mentioned it- just to check. Theres so many software applications out there. A non-seekable file can also be fixed using ffmpeg, and VLC can do it also by inserting in the proper key frames. Another example of larger cache rewrites are with AJA products, some of which wont write to disk until 60 seconds has passed.

I tried using a piece of freemium software to see if it could be recovered, and yes the data is definitely there. The video data is at least. However like I said, I don't really want to go buying software for one video file I don't need that much.

license: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/4.0/


text:
Line animations

If you watch the above video at 29seconds, there's a line that is drawn around the number 1. Many of these animations are littered throughout this video (again at ~1:02) and I'm wondering how I can create this effect in AE?
To be more specific, the main part of the animation I want to create is the "trailing" effect the line has. The tail tries to catch up with the head of the line, the tail doesn't just stay at the beginning, it follows the same path of the head of the line.
If there's a tutorial I can follow that'd be great. Sorry I don't know what this animations are called.

Create a mask on the layer you want to apply the effect to. In that case in the form of a circle but it can be any desired shape of course.
Then apply the "Stroke" effect on the same layer and in the "Path" option of the effect you choose the circle mask you just created. The Stroke effect allows you to animate start and end point of your line individually, enabling you to create exactly this effect.
The grey area is just to visualize that this is the mask I drew.

This can easily be achieved using a write on effect and altering the start and end point positions independently.  You make a path that you want the line to follow and you then have the start point of the line animate slightly more slowly than the end point, resulting in the end slowly catching up.


text:
Which video editing software should I use for youtube videos?
I'm interested in making YouTube videos. I’m new to the whole video editing process.
I would like to know which video editing software provides:

music
cloning
animations
special effects
transitions
text editing
and others

For filming, I have intentions to use a digital camera, my iphone 5 and a webcam.
I want to ensure that my video quality is decent and not fuzzy or pixilated. As far as my computer operating system, I have two laptops (Windows 7 & 8). Basically, I need video editing software that provides excellent video quality and contains the features above.
My question is: What affordable video editing software provides excellent video quality? I would like to sing, dance, make music videos and do all sorts of silly skits on my youtube channel.

ffmpeg will do most of those things if you have the time and patience - and it's free

I've been making YouTube videos for 8 years.  At first I was using iMovie, which came free with my Mac laptop.  It's a solid piece of basic editing software.  I did very precise editing, added music, transitions, and some special effects on about 300 videos with it.  (They're on YouTube.com/CreatedByBrett if you want to see the quality.)
But you're using PC's.  Six months ago I switched to a PC laptop and Adobe Premiere + Adobe After Effects.  The system requirements for After Effects are pretty steep, so if you decide to use Adobe software, see if you can do what you need to with Premiere itself.  Premiere lets you do some animation, maintains great video quality, includes tons of special effects and transitions, and has a built-in title creator.  It also has a decent chromakey (green screen) feature.  I like the pricing plan, which is just $20 a month for a "subscription", which allows you to get any upgrades they put out.  It's better than hundreds of dollars up front!
Windows comes with free video editing software. It's called Windows Movie Maker.  I haven't used it, but from what I've heard it isn't very "feature rich".  (For example, doing a picture-in-picture effect isn't possible without a plugin.)
YouTube also has its own free editing software online.  That has even fewer features than Windows Movie Maker.
You mentioned that the video quality is important to you. If you have an HD camera with a decent lens, you'll be in good shape for YouTube videos.  I've shot several on my iPhone, though I usually use a Sony Handycam HD.  (It lets you set exposure, focus, and white balance manually, which is why I bought it!)  The next thing to be aware of is your lighting.  I use "daylight" colored bulbs for my shoots.  I also use a 2-point light setup:  one key light mostly in front of me, and an extra-bright fill light to one side of me, to make my face appear more rounded on camera.

I didn't spend much on my lights either.  They're just fluorescent tubes, so the light is more diffuse.  Single-point lights can cause harsh shadows.

If you actually plan to follow through with getting into video editing then I would fork out a few bucks to get Adobe After Effects, currently it costs $20/month. It is relatively cheap and there are thousands of amazing (and free) AE tutorials on YouTube.

After Effects isn't an editing program. It's a great tool for compositing and special effects, but editing with it is like using a hammer to slice bread. Use Premiere for editing and do your special effects in AE.


text:
After Effects - No preview window after reopening my project
I just reopened my project and in all compositions that have 3D layers the preview is gone:

It looks like a bug to me but maybe I'm missing something?
ps: don't mind the lack of timeline, it's on a second display.

That looks like the preview panel is just not opened in your current workspace. Have you tried resetting it under window -> workspace -> reset active workspace (or something along these lines)?

Yes I tried. The preview panel is fine because it work ok on Compositions without any 3D layers. If I create a new Composition and include a 3D layer it looks fine, but after restarting AE it disappears, only rulers remain in place.

If Window>Workspace>Reset Standard Workspace as Gin-San mentioned don't solves the issue, you should send for all of us a bug report to adobe.

Check that the current time of the composition is not before the beginning or after the end of the composition. This can happen if you have linked compositions and they don't all start / finish at the same time.

@stib good point!


text:
How to view my project elements while working in a composition?
Is there a way to see other project elements when working in a composition to be able to align and synchronized the elements of the animation one with the others? When I open up a composition to adjust my elements I don't see all my elements in others composition and main project.

Short answer: yes.
Say you have a subcomp which you want to work on and you want to see how this affects the composition in which it is nested. This is easily done; you just need to open up a new viewer. You can have as many viewers open as you like (until your graphics card catches fire), this will let you see any number of linked compositions at once.
To do it from the menu go to View>New Viewer or hit Ctrl/CmdaltshiftN or right-click in your comp window and choose New>Viewer from the contextual menu.
By default (?) this viewer will show the current composition (this is useful when working in 3D because you can set it to a different perspective), and it will switch when you change comps, so we have to lock it. That's what that little padlock icon is at the top of the comp window.

(I just noticed when taking this screen shot that the icon was already locked. Adobe may have changed the default behaviour of new viewers).
With this padlock locked the viewer will stay on whatever comp you set it to, so you can hop over to a child comp, make changes and see it update in the parent. You can drag your timeline to a new frame by dragging the tab, meaning you can see both timelines and compositions concurrently. Below is an example where you can see both a pre-comp and the composition it is used in, to allow for editing and live updating without switching tabs.

So far I understand the question - OP wants to see and edit the layers in the subcomp instead of a new viewer.

Well you can have multiple timelines open at once, each with their own viewer. Just drag the timeline tab somewhere else in the window.

Upvoted to prevent that this question comes over and over again. It's a nice and solid answer, so I don't understand why the OP ignored it.

The idea of After Effects is to work with nested compositions.  The only opportunity is to use the flow chart diagram to get some kind of orientation:

It really depends on what you want to achieve. If you need to work in 1 Composition, I suggest you to create Adjustment Layers (not visible in the viewer and also not visible in the render) in order to facilitate the work. Thus it's possible to separate the content (the layers) visually, if they are well labeled like:

As alternative use a node based compositor like Fusion, Nuke, Natron or Blender to see everything at once, but as I said this really depends on the task and your requirements.


text:
OBS (Encoding X264) fails
Since a few days I have a new computer. Here my specifications:

GTX 980
I7 5820k
Windows 8.1

I'm trying to stream with Open Broadcast Software (OBS), but when I try to preview I already get frame lagg. When I disable encoding while previewing, the frame lagg is gone.
What can I prevent this or what is the problem with this? I talked already with a lot of people about this, but no one really knows a solution. I hope someone here has an idea how to encode x264.
Thanks.

What do you mean by "frame lagg"?

Related: http://gaming.stackexchange.com/q/152502/50186 read also the answer from user spudone

My upload speed is 70mb...

Here are some things to try:

Switch to OBS Studio. OBS classic is no longer supported and has been replaced by the "studio" version.
Tell your OS to run OBS in "high priority" mode.
Set your encoding preset to a lower quality and/or lower FPS and/or lower definition
Use your GPU to encode (NVENC). Your CPU will no longer encode your stream and will be able to run other tasks, but it will downgrade the quality of your video.


text:
Equipment & Software for video bridge (video link) event
I need to create a portable setup for events built around a video bridge:

The performer is abroad the audience & presenters are in-house
The performer needs to see the audience & presenters on screen
The performer will be on screen in-house, visible to the audience & presenters
The event needs to be broadcasted over the internet simultaneously
we also need to have the separate video & audio from the audience, presenters and performer feeds recorded for later editing

So the questions are:

What video equipment makes sense? What cameras, in particular?
What sound equipment makes sense? What mikes - and what board... and what else?
I'm presuming a dedicated computer for this. What computer makes sense? What other equipment along those lines?
What software makes sense? In particular, should we stick with skype to bring the performer in? Google hangouts? Is there something better?
Any other advice, recommendations, etc.

Thanks in advance!

Your question it too broad. Perhaps you should narrow it down a bit. Or you should contact a professional video studio and tell them your requirements.

Thanks for this.  Any advice?  In the end, we do need to find answers to all these things.

Should I break it up into a series of specific questions?  And also - do you have professional video studios you'd recommend contacting?

I would search for a video studio that already does what you want. Is this a music performance? Find a studio that has already done it for example.

Yes these are multiple questions. 1)The distance between presenter and audience 2)The live internet streaming. 3)The interaction between presenter and audience

It's not a music performance - it's a new interactive nonprofit multinational poetry initiative.  I don't know that anyone HAS done exactly this before.   ...AND 2) Do you think I should repost this as several different posts? Are there other forums you might also recommend? I appreciate the response, we really need some help figuring this out!


text:
Keeping metadata (time/date) when extracting frames from video
Circumstances
I recently started to extract frames from videos (GoPro) for underwater photography. I'm currently using Adobe Premiere Pro to do so, which works, but when I imported these new photos into Lightroom, I realized that the date/time metadata of the pictures don't match with the video's metadata (they have the date and time of when I extracted them, for obvious reasons).
This is really not convenient, since I need to manually re-adjust the time for each of these new pictures (I want all of my pictures to have accurate date/time metadata, since I often look back and want to know when I took these pictures).
Question
How can I extract a frame from a movie file and store the date/time metadata from the video to the frame? If this is possible, how can I store the time difference between the location of the frame and the start of the video?
Thank you very much.

Welcome Julian :) Please start with the tour: http://video.stackexchange.com/tour to get your first badge ;) Enjoy the site!

Good question.  I think ideally you'd want the extracted frames to have the time/date stored in EXIF metadata, as well as (or instead of) file mod time.

Copying the file mod time from one file to another file is easy (touch file.jpg --reference=file.mp4 on GNU/Linux or cygwin), but IDK of any video frame grabbers that do that automatically.

Do you know if it'd be possible to have a small program that would go through an entire folder (where both the pictures and videos are) and do that automatically? The only issue would be that I create several frames for each video (or sometimes don't create a frame from another video). So if the video is named: GOPR2499, my frames are named GOPR2499.MP4.Still001 and GOPR2499.MP4.Still002 etc...

I've taken 2 computer science class, so I can see how I could write a program that advances through each file, checks for IF statements and does stuff accordingly, but I just never wrote a program that affects files in my computer so I don't know what language to use or how to reference things in my computer. I know OCaml and JAVA which I both use on the IDE named Eclipse.

If you are saving frames from PP using the snapshot tool, then by default it's saving a file that's of the form SEQUENCENAME_TIMECODE.  If you know the date/time of the start of the sequence, you can compute frame-accurate metadata by adding the timecode of the image to the adjusted datetime of the sequence start.  (By adjusted datetime, I mean that if your sequence starts at 01:00:00:00 and your actual clip was 16:20:25:15 on Apr 1, 2014, then you need to subtract one hour from the clip time to account for the SMPTE offset).
As for programming languages that will do what you want, look at bash (the Bourne Again Shell), Python, and/or Perl.  Perl is wicked cool in how it can slice and dice strings, do math, and put the strings back together.  But it is also wicked hard to learn idiomatically.  Python may be the best starting point.
EXIFtool is a great way to embed correct metadata into image files: http://www.sno.phy.queensu.ca/~phil/exiftool/
And it's a way to learn some Perl while you are at it.


text:
Correct lens distortion with ffmpeg
It seems to be possible to correct lens distortion with ffmpeg. According to the manual you can adjust K1 and K2 values. What this means? How to use it correctly?

Example still image - captured with a canon 60D and a focal length of 18mm (EFS 18-55mm zoom lens)

Can you provide a screenshot to use as an example input? ffmpeg -ss 10 -i input -vframes 1 output.png

@LordNeckbeard, of course :)

Thanks. What lens are you using?

@LordNeckbeard lens added to question.

In the manual it says:

To use opencv use the calibration sample (under samples/cpp) from the
  opencv sources and extract the k1 and k2 coefficients from the
  resulting matrix.

If you go to the opencv website there's a sample source code for a lens correction program, written in c++, here. You'll have to compile it yourself, after installing OpenCV (sounds like you better put on a pot of coffee).
When you run it it will spit out an xml file containing the values for k1 and k2, which you can then use as inputs to the filter.

Haha - Thanks stib as always! Note: You could also preview k1 and k2 values in Blender. But I'm not sure what these values mean. I'm trying to figure it out :)

Also, you can obtain the xcenter and ycenter values from the OpenCV camera matrix. You'll need to scale them from their OpenCV pixel coordinates to fractional width and height coordinates for use in ffmpeg. I'm not sure if ffmpeg's coordinate system is the same as OpenCV's, though – that's something to look into.

Rather than using the lenscorrection filter, you would probably get better results with the lensfun filter.
Lensfun has a database entry for the Canon 60D that you're using as well as for various EF-S 18-55mm Canon lenses (apparently there are many).
You can read aboud various details in this post that I made on a similar subject.


text:
Which would be the best VFX software for an absolute beginner?
I am absolutely new to VFX designing and I have tried my hands on Blender, which I find quite useful. I tried After Effects, but couldn't do anything due to its complexity. I want to know about a program with which I can do simple editing cool stuff like say, create a virtual light-saber, or an action movie effect like plane crash etc. in my videos.
Thank you!

In general you can't create visual effects within a single application, because there are too many different departments like:

Match moving
Keying / Rotoscoping
Modeling
Texturing
Animation
Simulation
Lighting / Rendering
Compositing

Some of them are more artistic and other very technical tasks. For every task there are 2+ specific applications to solve the issue, because in order to achieve best results in the predetermined time it's key to use a confortable application with no or less limitation to complete a task. To connect the work of all departments the industry hires technical directors. In most cases these are computer scientist, trying to built so called pipelines for a solid studio environment.
The idea of Blender is to do everything in it, but Blender also has known limitations like:

Scene Assembly - Issues to display large amounts of geometry
Compositing - Compositor is quite slow, missing nodes like denoise or deep compositing
Rendering - Cycles is not very good at rendering caustics at the moment
Simulation - Bullet Engine is not fully integrated at the moment

These are very special and more professional cases - therefore, I think it is a very good idea to dive into visual effects with blender and learn about your interests.

Related:

Sean Kennedy - Using Blender for VFX in Hollywood
Tears Of Steel - Official VFX Breakdown

After Effects is probably the easiest if those are the types of effects you want.
It's not free, but I'm pretty sure it's cheaper than most alternatives for effects or compositing & has tons of online resources to learn with. Premiere Pro has some similar features (masks, shape layers, animation w/keyframes, etc), but not as robust or easy to use.
You could also look into Apple Motion - it's geared toward FCP X users and motion graphics. Not sure about effects & compositing (I haven't used it). It's also not free & doesn't seem to have as much community support, but it is cheaper than AE. Blender's the only decent free 3D program I know of.
If you're a student, look into the Autodesk Education Community - they have free education versions of Maya, 3DS Max, and most other tools. Adobe also has discounted education versions.
For AE, start here: http://www.videocopilot.net/basic/
It's maybe a bit outdated, but the concepts are good, and VideoCopilot is a really great (free) resource for learning AE.
He has about 120 detailed tutorials covering all sorts of topics: http://www.videocopilot.net/tutorials/
Before bothering w/software, consider how you might create or shoot those effects w/just a camera & props if you had no computer at all. You mentioned that you're already making videos - do you consider (and keep detailed notes about) how you stage them? Where the camera goes and how it moves? Where the light comes from & how it affects the scene? What makes a shot look dramatic, or soothing, or creepy? How a person moves when they use a normal sword? What happens to dirt when you drop something heavy on it (if not a plane, then a big rock)? You don't have to actually DO all of that, but at least think through it.
It's really easy to learn a software program's interface and follow tutorials, but you're stuck being a copycat unless you have a grasp of basic filmmaking & some real-world equivalents. If you haven't already, look into books/websites about cameras work, lighting, physics & motion, and practical special effects.

So a downvote just for the heck of it, or do you have a reason?

Sometime soon The Foundry will be releasing a free non-commercial version of their Nuke VFX software. The program is fairly intuitive for beginners and will let you get started with learning visual effects right away.

Somebody should mention Blackmagic Design's Fusion.  There's a free version that's limited to 1080p.  https://www.blackmagicdesign.com/products/fusion

Although I am not a compositor, I will mention Blackmagic Design Fusion.  It is a high-end node based compositing application with a very impressive feature set. Especially the 3d toolset is amazing. It definitely deserves a place in this list of suggestions.
Having said that; I think it's really important to determine your goal before you decide which application to use. Are you going to use it as an independent filmmaker? Blender or Fusion will both be very good choices. Do you work as a video editor and do you want to expand you skill set? Perhaps Adobe After Effects is something for you. (there are a LOT of resources available for AE). If you want to make it into high-end compositing, it will probably b.e Nuke. (Although I see a big future for Fusion there as well)

If you are new to vfx, I can really recommend Hitfilm. Their free version (Hitfilm 3 Express) will take you a long way, but if you want to go even further you can get the full version (Hitfilm 4 Pro), which is one hell of a deal. Hitfilm 4 Pro includes the marvellous Hitfilm Ignite plugin pack too, and you should definitely go check it out.
Another great alternative could be the free versions of Da Vinci Resolve and Fusion. I think they will be even more powerful/useful than Hitfilm, but then it's of course not in one software package.

I can't compare with the other tools, but I second Hitfilm. I've even started using it as my NLE There is an excellent free online course teaching the basics of VFX: https://www.futurelearn.com/courses/vfx-for-filmmakers

I think Blender is the best because you can do everything you need to do VFX inside it, including

Modeling
texturing
lighting
rendering
compositing


text:
Why is my Time Ruler in After Effects displaying seconds like this?

I know that Cmd clicking on the time stamp in the left corner alternates between frames and seconds, but why are my seconds displayed like this? every other screen of the app I've seen with other users (on youtube tut's) it's a much more understandable 01s...02s....03s etc.
thanks!

I think you might have answered your own question?  When your timeline looks like that you are showing time in frames, not seconds.  If you CMD + click to change the setting from frames to seconds, the whole timeline should change as well.

I know that Cmd clicking on the time stamp in the left corner alternates between frames and seconds:

Thats exactly whats happening here.You switched to frames so After Effects is showing the frame count instead of a second count. Do a Ctrl / Cmd click on the time stamp and you will get seconds:

To see all time values in the timeline simply drag the zoom slider to the right or use Alt and the mousewheel in order to 'zoom in':


text:
After Effects expression - define two positions, tween back and forth
So I want to do something simple: define two sets of coordinates (a "from" and a "to" position), along with a duration in frames. I want the animation to be executed, then reversed, and looped.
I know I can set two keyframes, and use loopOut("pingPong"); but I want to try and achieve this with a simple expression.
I'm sure it's possible!

I don't have specifics, so I won't post an answer, but I presume part of this could be done with a While loop:
while(time < 50) { [value[0]+1,value[1]+2] ) }

The while loop would be executed every single frame. The above expression would run forever on frame 0, because for that frame time will always = 0

or indeed any frame < 50 the loop would run forever.

Darby Edelen posted an answer on Creative Cow.

You won't be able to define any spatial paths any other way, but this
  should work:
d = 5;
fd = d * 2;
p1 = [200, 500];
p2 = [500, 200];
t = (time - inPoint) % fd;
if(t <= d) linear(t, 0, d, p1, p2);
else linear(t, d, fd, p2, p1);

This starts from p1 at the beginning of the layer and runs to p2 over
  5 seconds, then goes back to p1 and begins again. If you want the
  animation to ease in to each point you could use the ease() function
  instead of linear() providing the same arguments.
-Darby

Hi and thank you for your contribution. Could you please fix the link to the Creative Cow website?

It's trickier than it seems if you want to do the whole thing from scratch.
//first make some shortcuts
//choose the property to drive it - could be any property on any layer
myproperty=transform.position
//choose the keys that define the movement - in AE key indexes start at 1, not 0
key1=myproperty.key(1);
key2=myproperty.key(2);
//more shortcuts
pos1=key1.value
pos2=key2.value
//period is the length of the cycle
period=key2.time-key1.time
//phase is the point in the cycle we're at
phase= Math.abs(Math.abs(time - key1.time) % (period*2) -period);
//avoid divide-by-zero errors
if ( period == 0 ) { //this shouldn't happen
    pos1;
} else {
    (pos1*(Math.abs(period-phase))+pos2* phase )/period;
}

Now what we're doing with phase is creating a value that goes from 0 to period and back again, and then making a weighted average of the two keyframes' values. It's easier to understand if you say there are 4 frames in the cycle and the first keyframe is at zero.

At frame 1, phase is abs(abs(4-1) % 8 - 4) = 1 (the % is the modulo
operator, aka the remainder). When we substitute it into the last expression, the result is (pos1 * (4-1) +pos2 * 1)/4 or to expand it 3/4*pos1 + 1/4*pos2 - so basically pos1 is influencing the position 3 times as much as pos2.
At frame2: phase=2
and it works out to 2/4*pos1 + 2/4*pos2, so half and half, so it will be the average of the two keyframes.
At frame 3 phase=3, so it's 1/4*pos1 + 3/4*pos2

The second expression is basically doing the job of the built-in linear() interpolation method. Once time > period, then the abs() function kicks in and phase heads back to the original value.
You could also use the phase variable with the valueAtTime property of the position property: transform.position.valueAtTime(phase), if you wanted a complex motion path. that way it would shuttle backward and forward along the motion path between the two keyframes.
If you don't want no steenkin' keyframes the first few lines could be replaced thus:
pos1=[123,456]; //or for a 3d layer [123,456,789]
pos2=[987,654];
period=123;
startTime=12;
phase = Math.abs(Math.abs(time - startTime) % (period*2) -period);

The benefit of using keyframes is that you couple the power of expressions with the ease of the GUI.
I can see the value in this as a learning exercise (and a couple of glasses of Islay single malt this evening made it extra challenging), but one has to ask: why not use the built-in loopOut() expression? It probably will run much faster.


text:
How do I turn audio into video (that is, show the waveforms in a video)?
I have to create a video. Part of it involves "showing" a radio interview. Rather than just having a black screen and listening to the audio, I'd like to have a varying waveform on the screen and a caption.
Is there any free or cheap tool I can use that will do this?

If I ask a friend to do it, is there anything in the Adobe Creative Suite that can do the job?

It's worth mentioning that the "visualizer" tool you're probably looking for is an oscilloscope, which may inform your search.

You can use ffmpeg to convert directly - ffmpeg convert audio into video Using filters you can get an aesthetically pleasing video.

You can use ffmpeg to create video from audio using several filters.

ahistogram
Convert input audio to a video output, displaying the volume histogram.

ffmpeg
ffmpeg -i input.flac -filter_complex \
"[0:a]ahistogram,format=yuv420p[v]" \
-map "[v]" -map 0:a output.mp4

ffplay
ffplay -f lavfi "amovie=input.flac, asplit [a][out1]; [a] ahistogram [out0]"

See the ahistogram documentation for more options and examples.

aphasemeter
Convert input audio to a video output, displaying the audio phase.

ffmpeg
ffmpeg -i input.wav -filter_complex \
"[0:a]aphasemeter=s=1280x720:mpc=cyan,format=yuv420p[v]" \
-map "[v]" -map 0:a output.mp4

ffplay
ffplay -f lavfi "amovie=input.wav, asplit [a][out1]; [a] aphasemeter=s=1280x720:mpc=cyan [out0]"

See the aphasemeter documentation for more options and examples.

avectorscope

Convert input audio to a video output, representing the audio vector scope.
ffmpeg
ffmpeg -i input.mp3 -filter_complex \
"[0:a]avectorscope=s=1280x720,format=yuv420p[v]" \
-map "[v]" -map 0:a output.mp4

ffplay
ffplay -f lavfi "amovie=input.mp3, asplit [a][out1]; \
[a] avectorscope=zoom=1.3:rc=2:gc=200:bc=10:rf=1:gf=8:bf=7 [out0]"

See the avectorscope documentation for more options and examples.

showcqt

Convert input audio to a video output representing frequency spectrum with musical tone scale.
ffmpeg
ffmpeg -i input.mp4 -filter_complex \
"[0:a]showcqt,format=yuv420p[v]" \
-map "[v]" -map 0:a output.mp4

ffplay
ffplay -f lavfi "amovie=input.mp4, asplit [a][out1]; [a] showcqt [out0]"

See the showcqt documentation for more options and examples.

showfreqs
Convert input audio to video output representing the audio power spectrum. Audio amplitude is on Y-axis while frequency is on X-axis.

ffmpeg
ffmpeg -i input.mp4 -filter_complex \
"[0:a]showfreqs=mode=line:fscale=log,format=yuv420p[v]" \
-map "[v]" -map 0:a output.mp4

ffplay
ffplay -f lavfi "amovie=input.mp4, asplit [a][out1]; [a]  showfreqs=mode=line:fscale=log [out0]"

See the showfreqs documentation for more options and examples.

showspectrum

Convert input audio to a video output, representing the audio frequency spectrum.
ffmpeg
ffmpeg -i input.oga -filter_complex \
"[0:a]showspectrum=s=1280x720,format=yuv420p[v]" \
-map "[v]" -map 0:a output.mp4

ffplay
ffplay -f lavfi "amovie=input.oga, asplit [a][out1]; \
[a] showspectrum=mode=separate:color=intensity:slide=1:scale=cbrt [out0]"

See the showspectrum documentation for more options and examples.

showwaves

Convert input audio to a video output, representing the samples waves.
ffmpeg
ffmpeg -i input.m4a -filter_complex \
"[0:a]showwaves=s=1280x720:mode=line:rate=25,format=yuv420p[v]" \
-map "[v]" -map 0:a output.mp4

ffplay
ffplay -f lavfi "amovie=input.m4a, asplit [a][out1]; [a] showwaves [out0]"

See the showwaves documentation for more options and examples.

showvolume

Convert input audio volume to a video output.
ffmpeg
ffmpeg -i input.mka -filter_complex \
"[0:a]showvolume=f=1:b=4:w=720:h=68,format=yuv420p[vid]" \
-map "[vid]" -map 0:a output.mp4

ffplay
ffplay -f lavfi "amovie=input.mka, asplit [a][out1]; [a] showvolume=f=255:b=4:w=720:h=68 [out0]"

See the showvolume documentation for more options and examples.

Notes

See FFmpeg Wiki: H.264 Encoding Guide for more detailed information regarding output quality.
format=yuv420p makes sure that libx264 uses a pixel format that is compatible with crappy players like QuickTime.
Instead of re-encoding by default, you can use -c:a copy to stream copy the audio if your output container format supports the audio format. Think of stream copying (re-muxing) like a copy and paste – no re-encoding.

Get ffmpeg
You should always use a recent version since development is very active. Links to builds of ffmpeg for Windows, OS X, and Linux are available on the FFmpeg Download page. Or you can follow a step-by-step guide to compile ffmpeg.

The OP will probably want to look at the other answers which link to After Effects tutorials, but these excellent ffmpeg examples are really useful to have here. Thanks!

@LordNeckbeard OP here. It's been a while, but I'm back, and this is a great answer.

I've just created a question http://superuser.com/questions/1184922/how-do-i-insert-a-background-image-on-spectrum-audio-effect-using-ffmpeg How can I set a background image?

For Ubuntu installation simply use sudo apt install ffmpeg. It includes ffplay and ffprobe which is all I needed for now. Your visualization techniques look promising for when playing song. When song paused the album artwork will be displayed instead.

Many music players have visualisers. Play the audio in one of them and use a screen-grabber to record the video.
You could also try to use gstreamer as described at http://www.vidarholen.net/contents/blog/?p=23
Another option is Sonic Candle, http://sourceforge.net/projects/soniccandle/

After reading the great answer from LordNeckbeard I went on created a small script to make a visualization with ffmpeg and the showspectrum filter.
I also added an upload option for myself to encode directly to my remote server that has a better connection than at home to upload big videos. It also uses the great script youtube-upload!
EDIT: uploading directly slows down the encoding process significantly!!
Script
#!/bin/bash
# ffmpeg spectrum maker

action=$1

infile=$2

outfile=$3
upload_server="sftp://cloud"

upload_location="/home/master/videos/"

remote_command="youtube-upload --title=\"Remote_upload\" --privacy=\"private\" $upload_location$outfile"

#simple spectrum
filter1="showspectrum=s=1920x1080:slide=scroll:mode=combined:color=intensity:scale=cbrt:saturation=1:win_func=hann[tmp]"

#vertical mirror
filter2="[tmp]crop=iw:ih/2:0:ih/2-3,split[up][tmp];[tmp]vflip[down];[up][down]vstack[tmp]"

#horizontal mirror
filter3="[tmp]crop=iw/2:ih:iw/2:,split[left][tmp];[tmp]hflip[right];[left][right]hstack[tmp]"

#fisheye effect VERY SLOW!!! if used make change the size of the spectrum to (1920*11/10)x(1080*11/10) and use the crop filter below
filter4="[tmp]frei0r=filter_name=defish0r:filter_params=1.5|n[tmp]"

#make sure the resolution has the desired size
filter5="[tmp]crop=1920:1080"

#pass the stream to the output for ffplay
testpass="[tmp]copy[out0]"

vcodec="-codec:v libx264 -pix_fmt yuv420p -tune grain -crf 21 -preset medium -bf 2 -flags +cgop -r 25"

acodec="-codec:a libfdk_aac -b:a 128k -movflags +faststart"

#acodec="-codec:a copy"

extraflags="-movflags +faststart "

if [ "$action" = "test" ]
then
        ffplay -f lavfi "amovie=$infile,asplit[a][out1];[a]$filter1;$filter2;$filter3;$testpass"
fi

if [ "$action" = "make" ]
then
        ffmpeg -i "$infile" -filter_complex "[0:a]$filter1;$filter2;$filter3" -map [tmp] -map 0:a $vcodec $acodec $extraflags "$outfile"
fi
if [ "$action" = "upload" ]
then
        ffmpeg -i "$infile" -filter_complex "[0:a]$filter1;$filter2;$filter3" -map [tmp] -map 0:a $vcodec $acodec $extraflags "$upload_server$upload_location$outfile"
        ssh cloud $remote_command
fi
exit

If you have access to After Effects, there's a plugin called Trapcode Keys that can do this very effectively.  The results look really nice - I've used it on many projects for exactly what you've described, but it's not cheap - $150 on it's own, or $899 for the full Trapcode Suite.

You can do it for free using VEED.IO, this video explains how to do it (Disclaimer, I am the developer of VEED.IO)

You need to disclaim your ownership of this program, since it's illegal promotion otherwise.

Thank you @FlorianClaaßen, I have now added it.