text:
How h265 settings / presets affects the target device cpu while decoding and how can I tweak them?
h265 is a very powerful but still not widely supported codec, recently I found myself in the need of prepare some h265 videos and have them played on various smartphones.
While a powerful desktop pc has less issues and is outlet powered modern smartphones still struggle with battery savings.
Recent ones are able to decode h264 / avc and aac audio with dedicated hardware but almost no one have support for h265 / hevc at time I'm writing this answer.
What settings can I use to reduce the CPU consumption (and so the battery) on the target devices? The best goal could be make the final cpu needings close to the h264 ones.
Are presets such as slow, veryslow useful for this task or they are good only for reducing the output file size ?
There are other settings that I can tweak for obtain my pourpouse?
PS: please also provide some examples with ffmpeg, thanks!

My first approach would be to limit the number of reference frames and GOP size.

@Mulvya limiting the reference frames doesn't work against shrinking the size of the final file? Can you provide some -flags for the h265 as examples?

As @Mulvya suggested, the best approach is use short GOP chains, the filesize will obviously increase a bit, but the cpu processing will be limited doing so.

Try Encoding using "--tune fastdecode" and also check if "Average Bitrate" with "2 Pass" is better than "Constant Quality" with your particular Decoder; trying to maintain Quality over Bitrate can spike the Bitrate (holding a particular Bitrate will drop the Quality on complex Scenes).
Try a few Test Files (short Clips from your Source) and determine which Encode Settings produce the lowest CPU load when Decoding.
Decoding x265 works best with Hardware support which is not going to be available in most Phones, the Phone will probably decode x264 much easier since so many people/years have gone into decoding x264.
Reference: http://x265.readthedocs.io/en/default/presets.html
See also: http://www.techspot.com/article/1131-hevc-h256-enconding-playback/page4.html


text:
Is lighting a green screen necessary?
I need a green screen for a project I'm making. However, after some research, they said I need to light it.
I didn't think I'd have to light it, and it looks to complicated. As long as there are no shadows, would it be ok to not go through complicated steps to evenly light it and just use it?

You'd probably want to light it anyway, as it will make it easier to pull a key if it's properly lit. The farther you can keep it away from the objects or talent you'll be keying, the better. But light is essential to accurately capturing color, so if you can light it, you should. You want it to be evenly lit so that you don't have to choose too wide of a color range to key out.

I must agree. Have done it with and without proper lighting. Had to spend over an hour in premiere and AE trying to get the full key.

I don't understand why lighting is so important...  if you are keying out a particular hue, why does it matter how bright it is? And yet, it's like it's not keying on hue at all because darker instances of the same hue are NOT being keyed out, when totally different colors are already being removed!

You also want to avoid shadows from being lit only from the front. Try to go from above and on the sides going across so they are independent of the subjects lighting. Otherwise you will get a messing key and have blotches of grey or clipping in the subject.

I agree with the answer you received. Without lighting you will have a tough
time keying the effect you want. You can use table lamps to light the screen up if need be. But, like was stated, you just have to watch out for the shadows.

source: Stack Exchange

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

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

sort: votes


text:
Interpreting 50fps to 23.976fps in Premiere Pro
with my DSLR, I used to shoot in 60fps and then interpret footage as 23.976 so slow it down. Now that I have moved to mirrorless (Sony) in PAL I can only shoot in 25 fps or 50 fps. If I shoot in 50fps and slow it down to 23.976 fps, will it be the same or will my footage look glichy?

The recommendation from Adobe for slowing down motion is to use Optical Flow.  If you put a 50 fps onto a 23.976 fps timeline, select the clip and set Speed/Duration to 47.952% with optical flow, then you should get a good quality result.  And of course you are on your own for sound, because slowing things down 2x is not going to make any sense for the audio you recorded.
Shooting at 25 fps for a 23.976 timeline could be a 4.1% slowdown (in which case you might want to pitch shift your audio so you can keep it) or a re-interpretation (where you drop/optical flow frames) in which case you can keep your audio as is and mate it to the retimed video.
If you find yourself doing lots of 25->23.976 conversions, you may want to seriously rethink the idea of using a PAL camera do make NTSC deliverables and instead buy a camera that is NTSC-friendly.

Note that Optical Flow isn't magic. Sometimes it produces strange artefacts where it guesses the motion incorrectly, in which case it's better to use frame blending.

Absolutely true.  But it's a lot easier for optical flow to go from 50 fps to 23.976 than the other way around.

@MichaelTiemann what if I shoot 100fps instead? How much do I have to slow it down to in order to get nice slow motion effect? Will 100fps reduce video quality?

"nice" is in the eye of the beholder.  I like 96-120 fps (4:1 or 5:1), but 60 fps down to 24 (2.5:1) has its place.  Here's a dog playing in snow, slowed down 5:1: https://www.youtube.com/watch?v=fZBgizsnpy4

The speed you need to shoot totally depends on your subject. Someone doing a somersault, 4:1 slowdown should give good results, a bullet hitting a watermelon, you might want 40:1 slowdown.

If you're doing an Interpret Footage on the clip it won't look glitchy, but you won't get quite the same slow-down factor.

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


text:
Freeze frames in DaVinci Resolve
How can I take a single frame of footage and extend it over several seconds on the timeline?

Right click on the clip (or open the Clip menu with the clip selected) and select "Change Clip Speed". A popup will open:

Check the "Freeze frame" check box and then hit "Change". The clip can now be resized and it will only show that frame for its duration.


text:
MKVToolNix equivalent for .MP4's
Good day! I'm looking for MKVToolNix equivalent software for .MP4's. I will use it in a video file without subtitles, I'll find it's subtitle and merge it with the video file just like what I did in MKVToolNix. Thanks!

I needed the same thing. I couldnt find, and contacted them, and asked to add ability to "bake" the result in "mp4" too, not only in mkv..

waiting their answer.. till that, i've found nice topic here - https://forum.videohelp.com/threads/382060-I-want-a-software-which-converts-mkv-to-mp4-without-reencoding

Muxing a file simply means to extract individual streams out of existing container files or mix existing streams together into a new container file. For MP4, this can be done with ffmpeg and the -c copy switch. If you don't want to write command line inputs, XMedia Recode is a good, free GUI for ffmpeg (only available for Windows). There's a documentation on the website, simply select Direct Stream Copy to avoid reencoding the individual streams.

Can you point me to where is Direct Stream Copy? Can't find that function you're mentioning. Thanks!

@JuliusAlfeche That exact phrase was taken from the website (see link). To copy a stream instead of converting it, load a file in the program, open the respective tab (video/audio) and set the Mode dropdown to Copy

XMedia Recode is NOT available for Linux. That link is dead.

@cipricus Thanks for the note, I've updated the link and added a note that it's only available for Windows.

I just went through a very similar use-case working with TS files.  MoritzLost has the key point but as ffmpeg options can be quite difficult to sort out when you are first getting started, here is a more detailed answer.
Short Answer
For a single input mp4 file and single input SRT file, we can keep all streams from both files and merge them into a new mp4 container (only transcoding the subtitle stream...ie lossless on the audio/video) like this:
ffmpeg
    -i input.mp4 \
    -i subtitle.srt \
    -map 0 \
    -map 1 \
    -codec copy \
    -scodec mov_text \
    output.mp4

If you have unknown stream types, multiple subtitle streams, or other things going on then this may not work and you might need to revise the options.
MP4 vs MKV container - limitations of mp4
You should know that the MP4 container does not support embedded srt (subrip) streams.  It only supports mov_text for soft-subs.  So we have to transcode the SRT to mov_text or use hard-coded subs (where the subtitle text is encoded into the video stream directly and cannot be turned off).
This is one of the reasons that I prefer the mkv container format over mp4.  It allows me to easily maintain multiple audio and subtitle streams with many different formats all within a single file (keep everything together).  Yes overall file size is larger for people that don't care about those extra audio/subs... but I don't share over the network and hard-disk space is cheap.
Plex and VLC and most other modern media players have no trouble with MKV right out of the box...so something to think about whether you really want to use mp4 if you are someone that cares about soft-subtitles and keeping everything together (single file).
ffmpeg
ffmpeg is a very powerful free/opensource tool.  The command line options can be confusing but once you understand how to use the -map and -codec options, you can already do a lot.  If you are semi-technical and do lots of video work it is worth learning how to use the command line on your OS and how to use tools like this.  Windows Services for Linux makes this easier than ever for windows users on Windows 10.  For Mac/Linux it has always been easy to install and run these tools.
How to mux multiple inputs into a single mp4 container
The following would take an input mp4 (or other) file and a second srt input file, take all streams from both files and mux them into a new output.mp4 file.  We tell ffmpeg to copy the audio/video streams (no transcoding or quality loss) and to convert any subtitle streams into mov_text since that is the only type that mp4 container supports.
ffmpeg
    -i input.mp4 \
    -i subtitle.srt \
    -map 0 \
    -map 1 \
    -codec copy \
    -scodec mov_text \
    output.mp4

Depending on how you run this on windows, the \ to continue the command on the next line may not work and you may need to remove the backslashes and condense the command into one without newlines.
Again but with comments explaining the options.
ffmpeg \
    -i input.mp4 \          # first input file (index 0)
    -i subtitle.srt \       # second input file (index 1)
    -map 0 \                # select all streams from first input file
    -map 1 \                # select all streams from second input file
    -codec copy \           # copy audio/video streams (no transcode)
    -scodec mov_text \      # transcode all subtitle streams to type mov_text
    output.mp4              # name of output file

Running this command will show you output something like the following for a simple input mp4 with a single audio and video stream.
...
Stream mapping:
  Stream #0:0 -> #0:0 (copy)
  Stream #0:1 -> #0:1 (copy)
  Stream #1:0 -> #0:2 (subrip (srt) -> mov_text (native))
...

You can see it copies the first two streams (audio/video) from input 0 (the first input) and does a conversion on the third stream from input 1 (the second input...the srt file).
Alternatively, go from MP4+SRT to MKV with mkvtoolnix
If you aren't opposed to MKV containers, then there is no reason you can't just take the input mp4 and separate subtitle file and mux all the streams into a new MKV file instead.  This would also keep the SRT as an SRT and not transcode it into mov_text.
Remember MP4 and MKV are just "containers" and so you can copy around the video/audio/subtitle streams from inside these containers without any transcoding (loss of data/quality)...as long as the destination container type supports that stream's codec.
mkvmerge \
    --output output.mkv \
    input.mp4 \
    subtitle.srt

In this case, because we are taking all streams from the input files and mkvmerge doesn't do any transcoding, the command is much simpler.
If it was me with your use-case I would just go to mkv unless you are trying to build a file for a player that only supports mp4 and don't have any other option (ie get a different player).
References
https://en.wikibooks.org/wiki/FFMPEG_An_Intermediate_Guide/subtitle_options#Set_Subtitle_Codec

dmMediaConverter is very similar to MKVToolnix.
It is just a ffmpeg gui, so it can save in any format.

To replicate the described MKVToolnix use, select "Convert", then "Add files", selecting both video and subtitles.
Check "Enabled" to keep the stream, uncheck to remove it.
Check "Copy" to keep the stream as it is, uncheck  to trasnscode it.


text:
Creating a video effect template
A friend of mine has a Gopro and something happened to the lens last weekend. We didn't realise that it was damaged and now we have a bunch of videos of our camping trip with a circular smudge looking thing in the centre of the screen.
The smudge gives the centre of the picture a blur.
Is there a way that I can set up a template so that I can make some changes to just the section that it is damaged in an attempt to correct the blur. Once I have found the best settings I would be able to reuse the template for all of the videos. I'm sure it won't fix it perfectly but I would like to try it.
If anyone can point me in the right direction (a link or tutorial) that would be great. I have the Adobe programs so preferably using those
Im a noob
Thanks for you time

Do you just want to correct the smudge/blur in the original files, or do you want to create an edited video with the original files?

out of interest, how are you correcting the blur?

If I understand your issue, it sounds as if you could duplicate the video to a second layer, apply whatever correction is needed to that layer, and reveal the layer where needed using a soft circular matte.


text:
After Effect CC - How to combine and crop videos
I have 4 videos which i want to combine it into 1 video file.
Drag and drop should do the combining but i don't know how to crop it.

I am new in video editing, so any suggestion or even keyword will help.
Thank you.

After Effects and masking are both total overkill for this problem.
First you want a video editor, not a complex VFX system, as your baseline.  If you have After Effects, you likely also have Premiere Pro.  Drag and drop each video onto a separate video layer.  In Premiere Pro, each video layer has an Effects tab that includes a Motion effect.  The Motion effect includes scaling and translating video (shifting it left/right or up/down).  Scale each video to 50% (they should all scale toward the middle of the screen), then translate each video to their respective corner.
The last piece of the puzzle is to crop the videos as you wish.  In Premiere Pro, there's a video effect in the Transitions category called Crop.  By cropping left, right, top, and bottom by a certain number of pixels, you will get the rectangle (or square) you want.
But almost any video editor at all has Layers, Scale, Translate, and Crop.  That's what you need to solve your problem.

Thank you very much for your detail explanation, i am quite confused whether i have to use Premiere Pro or After effect.

Use Premier Pro for simple video editing tasks like this.

You need to mask each video.
Masking is a way of revealing or hiding parts of a layer based on a shape that you draw. So in your case, you would draw a rectangle on top of the video layer you wanted to crop, and this would reveal only the area inside the rectangle. See this tutorial for more:

Having said this, Premeire can also achieve the same effect. After effects might be overkill for something like this.


text:
Chroma subsampling notation - rules
Are there some simple arithmetical relations (rules, properties) between numbers in x:y:z chroma subsampling notation?

The numbers in chroma subsampling notation are the ratio of the sampling rates of the luminance, chroma difference, and alpha channel, if present (Whitaker, 2003).
For example:

4:4:4:4 The color difference (and alpha) channels are sampled at the same frequency as the luminance channel.
4:2:2 The color difference channels are sampled at half the rate of the luminance channel. This yields a 2/3 compression ratio.
4:1:1 and 4:2:0 The color difference channels are sampled at one quarter the rate of the luminance channel. The difference is the pattern of the subsamples.

Less technically, the numbers can be looked at as number of horizontal (y) and vertical (z) chroma subsamples for every x horizontal luminance samples (Pizzi & Jones, 2014).

Yes, there are.
Let x:y:z is a chroma subsampling. Then

x = 4
So the begin of the notation is 4:.
y|x (y is a divisor of x)
So there are 3 possibilities for the first two numbers: 4:1: or 4:2: or 4:4:.
z = 0 or z = y
So there are 6 possibilities: 4:1:0, 4:1:1, 4:2:0 4:2:2, 4:4:1, or 4:4:4.
y + z determines the resulting color quality (higher is better).
So 4:4:4 is the best (as 4 + 4 = 8) while 4:1:0 is the worst (as 1 + 0 = 1).


text:
After reading separate video and audio tracks (in Shotcut), just export a portion of it as one video
I am using Shotcut for my video editing (I am a beginner). I record one big video file, and one audio file separately, but when I load them into Shotcut actually I just need some portion of it. Is there a way then when I have read in the video and the audio into separate tracks to just export a portion of it (like from 1min - 2min or so)?
The way I do it now goes like this: I add them both to Shotcut, export everything, so that I end up with one big mp4 file. Then I reread this into Shotcut and just add the portion (with the blue/red-slider beneath the preview) I actually want (as a track), and then I export this again. But this additional step of exporting (and thereby rendering) everything I wish to skip, as it takes some time. So is there a way to do this?

I'm not familiar with Shotcut, but you should be able to use the cut / razor tool to cut the clips / tracks in the timeline (both the video and audio), delete the part you don't want, and then use the rest.

Yes, I tried to do it in the timeline, but I can just delete the whole portion after the mark but do not know how to mark some specific portion and delete this.

I am using Shotcut in version 17.03.02. There are probably more ways how you can accomplish this.
The simplest is to mark in and out points in you video after adding it to the playlist. You can do this using keyboard (I - for in) and (O - for out) also while playing the clip.
Then you can right click the file name in playlist and either Replace the clip with the new cut points or Insert cut, basically inserting a second clip with the cut points marked. Then you can append the file into the Video Track. Do the same with your audio file. Create cut points and append it to a new audio track.
You can do some additional trimming in the track editor. For example using the Split At Playhead and delete the parts you don't want. That way you can trim both files to the same length. Now you have to export the project.

Thanks for your answer. But this way I can delete portions from single tracks, but I want to delete, say the first minute from all tracks. The only way I know is to export it, reload it, and then do what you have described, but is there any way to let shotcut just export a portion of the entire film (with all tracks)? Do you get what I mean?

Okay, I solved it by trial and error. I wrote everything up as a separate answer, but to give you credit I accept yours.

I figured out how to do it (I use version 17.02.05, and the steps from Pavols answer are employed).
So suppose I have a video track and an audio track, and I want just the portion, say from 1min to 5min extracted. As written mark those positions and do (in both tracks!) the Split At Playhead (right click when the cursor is into the track). Then select the portion before (or behind) the marker and delete it. If it is at the end, and nothing else is there, the video and all tracks are shrinked automatically. But if you do this for a portion before the position, there is still some "empty space", i.e. if you export the video you see a black screen (from 0min to 1min in the above example). But when I finally right click in the tracks on these empty parts and click remove, and do this for every track, then after this everything is pushed to the start, so that the video starts at 0min as wanted.
Don't know if there is any shorter way, but this is what I was looking for.


text:
Source patching audio "light" will not turn on
The basic question is why the audio source patch of the first audio track will not toggle on.
I'm looking for confirmation or the correct reason.
I created a sequence preset based upon the DLSR 1080p preset and change it to be square 1080 x 1080 but did not change any of the audio settings.  I created a sequence with that preset.  The preset has three audio tracks.
I put my source sequence and set in and out points and then hit over write and it put the audio in a new (fourth) track.  So I undid it and then tried to toggle the source patch "light" of the A1 track but it will not toggle on.
After reading and surfing, I came to the belief that this is because my source audio is different.  The properties of the source says 48000 HZ - Multichannel while the target sequence properties says 48000 HZ - Stereo.
It also seems I can not change these settings once the sequence is created.

Your guess is correct. If you have an audio asset active into the Source Panel, you can't activate the Source Patching for an audio track that does not match the type of the asset. Premiere seperates between Standard (Stereo), Mono, 5.1 and Adaptive. You can tell the track type by the corresponding icons in the timeline:

From Top to Bottom: Standard (no Icon), 5.1, Adaptive, Mono.
You can't put Multichannel audio (where multi means more than two) in Stereo tracks and vice versa. Instead, you need to create new tracks of the matching type. To do this, right-click on any audio track1 and select Add Tracks… from the context-menu. This opens a pop-up menu where you can chose to add any number of Audio and Video Tracks. Make sure to select the right Track Type (in your case, you'll need 5.1 or Adaptive). You can also delete the superfluous Audio Tracks from the same context menu (accessed via right-click).
Note that this will not change the Audio Master Type. When creating a sequence, you can change this in the Tracks tab, as well as control how many audio tracks of which types are added.

1 Note that you have to right-click in the right area, as there are several available context-menues hidden in the timeline, depending on where you click. To access the context-menu described above, you need to click anywhere between the Sync Lock icon (to the right of the Track Targeting toggle) and the column containing the Track Type icons (to the left of the timeline itself). You can also access this via the menu over Sequence → Add Tracks….


text:
FFmpeg - how to omit individual frames by the list of their numbers?
I have an input video and I want to omit (or delete) individual frames from the next processing (because of the added disturbing big text irregularly occurred on top of some individual frames).
I have the list of ordinal numbers of these frames but maybe it would be better to recognize them during processing by some filter (if it is possible; the text is the same and at the same position).
Is there some way how to exclude them from the next processing?
(The list has about 20 items.)

The direct selection method is simple.
ffmpeg -i in.mp4 -vf select='not(eq(n,45)+eq(n,47)+eq(n,75))',setpts=N/FRAME_RATE/TB out.mp4

Frame count starts from zero.  Audio is ignored.
(I'll check for a detection method)

Thank you very much - you again resolved my problem. I appreciate your wisdom and your goodwill to dedicate a significant part of your precious time to help me and others. - A potential detection method will be of course interesting, too.

Key to this filtergraph is the "setpts", otherwise it just repeats the last frame it decoded.

After some study, what you probably want is the "removelogo" filter.
"Suppress a TV station logo, using an image file to determine which pixels comprise the logo. It works by filling in the pixels that comprise the logo with neighboring pixels."


text:
How to throw fire from a Saxophone (in live)?
In this video of Post Modern Jukebox (Burn - Ellie Goulding), you can see fire thrown from the saxophone at 2:10. I can't see how exactly they are doing this.
So, how to throw fire from a Saxophone live? What is the technique they used in the video?

This is not really the right place to ask this question as it has nothing to do with video production. Your best bet would be finding a Practical Effects forum or even a Pyrotechnics forum to get this answered

The way the fire gag is handled in the video you link to is plain crazy (indoors, with a tight group of people gathered around, none of which are wearing protective gear). In other words, the gag poses a serious risk of injury to the talent and crew. Hire a professional with real bona fides. Also, this is not the forum to ask for help on such practical effect.

@AdamMannPro - personally (mod hat off) I disagree with that assessment.  I don't think we should be answering beyond the level of explaining that why you need a pyrotechnics guy to do it live and how to find one and maybe some basic details that would be relevant to a video producer, but effects work for video is certainly part of video production and we have many, many other effects related questions.  This also doesn't appear to have been a practical (live) effect from what I can see in the video.

If someone is about to engage in some potentially very dangerous (if not lethal) activity, they need to be warned about it, whatever rules this forum has. I've seen too many accidents on sets to let that pass. Also, this gag, as seen in the video, was definitely an on-set gag: there's smoke, there's the other musician's surprised/fearful reaction, the light changes in the room. Real and really dangerous.

A tube is clipped to the side of the sax. At one end of the tube is the little flame. At the other end, off frame, a technician holds a small canister of gas equipped with a valve. The valve helps the technician control the amount of gas that gets in the tube.
When s/he gets the signal, s/he opens the valve and lets more gas in the tube, which makes the flame go up. It's a very simple and a very common technique.
That's how it's done.
The question is, should it be done?
Good luck.

It honestly appears like that was added in post.  I see nothing in the sax itself the lighting effect from it seems like a general effect, not actual fire (way too bright for such a small flame).
This could be done using a mix of motion tracking the sax, placing a special effects fire video at the center and then using either a pre-made lighting effect or just boosting the redish orange luminance around portions of the image that would be expected to be impacted.
It would also require some matte work to ensure that the lighting effect doesn't impact things it shouldn't, though a similar effect could be achieved by having an orange/red light hidden on set and controlling it's brightness to match the flame that will be added in post.
Looking more closely, I'm increasingly confident that the light trick is exactly what they did.  There is an unexplained extension cord coming in to the shot and disappearing behind the center singer.  My guess is that they have a light source there to emulate the light of the fire and then simply matched it up with the artificially added flame.  There is no ignition of the flame, it just appears and the behavior of the flame in relation to the angular movement of the sax doesn't appear correct.  If it was a fixed emitter, the base of the flame should rotate as the fuel would take time to heat and move vertically after exiting the source (turn a stick lighter and see how it behaves for yourself).  This isn't a real flame.
As others have mentioned in comments, as far as doing something like this as a practical effect (practical effects mean they are done for real), it really isn't practical or safe.  The fuel source and emitter would make the sax unplayable for any live audience and even still it would not be safe for the player or anyone in the immediate vicinity.  This is an effect better done in post production with some on set lighting tricks.


text:
ffmpeg: concat Results in "Buffer queue overflow" and Short Audio
I have this video file that at one point introduces an async of ~1 second. So I tried to make it work by duplicating a short segment at that point as it's silent there:
$ ffmpeg -i DFW.mp4.mkv -filter_complex '
[0:a] aselect=n=3:e=lt(t\,18*60+42.100)+gt(t\,18*60+41)*2 [as] [ae] [am];
[am] asplit [am1] [am2];
[as]  asetpts=PTS-STARTPTS [as];
[am1] asetpts=PTS-STARTPTS [am1];
[am2] asetpts=PTS-STARTPTS [am2];
[ae]  asetpts=PTS-STARTPTS [ae];
[as] [am1] [am2] [ae] concat=n=4:a=1:v=0 [a]' -map 0:v -map '[a]' -c:v copy DFW-1.mp4

In other words I have

as the start until 18:41.000
ae the end from 18:42.100
am the middle section between 18:41.000 and 18:42.100, which should be repeated once

The segmentation works, the concatenated audible part sounds good. However, ae turns out to only be ~5 seconds short and ffmpeg starts to print spammy "Buffer queue overflow, dropping"-lines. The entire video is 1h30 long leaving me with plenty of silence until the end.
In other words the video and audio are fine until about 18:48.000 and the remaining 1h11 of the video has no audio.
Why is ffmpeg doing that and how can I fix it?
I also tried to include a silence audio segment instead as plan B, but failed.

A buffer overflow occurs when a filter having multiple inputs is waiting on one or more inputs, which are late. The inputs already queued have a frame drop threshold which is crossed if those inputs are sufficiently late. What's wrong with just adding a blank segment?

@Mulvya Well, I failed creating/using one. It would solve my problem, though. -- But, then again I don't know why ffmpeg stops after five seconds. I'd say either use the entire rest of the stream or nothing at all. However, ae is ~5 seconds long, which is weird.

Assuming there are no timestamp discontinuities in the audio, a simple atrim and a null segment should work.
ffmpeg -i DFW.mp4.mkv -filter_complex '
[0:a]asplit[a][b];
[a]atrim=0:1122.1[pre];
[b]atrim=1122.1,asetpts=PTS-STARTPTS[post];
anullsrc,atrim=0:1.1[seg];
[pre][seg][post]concat=n=3:a=1:v=0[a]' -map 0:v -map '[a]' -c:v copy DFW-1.mp4

Ah, so this is how that's done. Cool.

After inserting five pauses like this ffmpeg starts to complain about "Buffer queue overflow, dropping" again

What's your new command?

I use the exact same way like you do. I just change the positions in the atrims.

As in multiple commands? Or additional filters in single command?

Well, I took your call and executed it multiple times with different values for the atrims.

Still not clear. Multiple or single command?

Again, exactly what you posted in your answer. Anyway, we were told that we will get a full audio stream from a different source and hopefully can apply that to the entire video.


text:
Premiere Pro CC 2017 - Displacement map
Can't find it:

Is it a plugin I have to import?
Thanks for your time.

The displacement map effect relies on another layer as a source for the map. Since Premiere doesn't have unique layers like AE does it doesn't support this plugin. If you have After Effects then replace the shot with an after effects comp (right-click then choose Replace With After Effects Composition) and apply the effect in AE.


text:
FFmpeg graph2dot tool
In FFmpeg Filters Documentation is the section 3 graph2dot is this about graph2dot program:

The graph2dot program included in the FFmpeg tools directory can be used to parse a filtergraph description and issue a corresponding textual representation in the dot language.

I have FFmpeg from Zeranoe's build (Windows, 64-bit, static) and I have no tools directory.
So I tried find this program by Google for downloading it but without success.
Is this part of the documentation obsolete or is it possible to obtain this program?

I don't use Windows, but in Linux you can download the FFmpeg source, then:
cd ffmpeg
./configure
make
make tools/graph2dot

Then you can use it:
echo "nullsrc,scale=640:360,nullsink" | tools/graph2dot -o graph.tmp
dot -Tpng graph.tmp -o graph.png

Resulting in:

Not Windows specific, but maybe helpful for any Linux user who also wants to use this tool.

I should note that I get an error for make tools/graph2dot on Windows with mingw-w64 with a vanilla source tree: "target not defined" or something like that. This is just after I built ff* binaries. I had to add graph2dot to the start of TOOLS and then make alltools.

Note: for Windows build, use make tools/graph2dot.exe.

I maintain a Windows build of graph2dot and other tools at https://www.gyan.dev/ffmpeg/builds/. Look in the tools section.


text:
ffmpeg Color Correction: Gamma, Brightness and Saturation
How is ffmpeg used with a video filter circa 2017 to adjust gamma/contrast, brightness and saturation?
Stack Exchange resources that are a few years old point to the filter mp=eq2=, but it seems to be deprecated1 and replaced with just eq=. The link does not reveal a good understanding of the setting ranges, however.
How is eq= (or equivalent filters) used? E.g., what is the format and appropriate settings/ranges?
For my personal usage, I'd like to keep gamma where it is, while increasing brightness and saturation a fair bit, for a dark video.

1Throws error message: No such filter: 'mp'

Checks the docs, and look into the curves or pp filter as well.

The syntax is the same as for all filters. i.e. filtername=option1=value1:option2=value2:option3=value3... These can be in any order.

These settings helped me to lighten up a dark video using the filter eq, with some added saturation.
Syntax:

filtername=option1=value1:option2=value2:option3=value3... These can be in any order.

Filter ranges and all options:
https://ffmpeg.org/ffmpeg-filters.html#eq
Preview:
ffplay -vf eq=brightness=0.06:saturation=2 INPUT.MOV
Render:
ffmpeg -i INPUT.MOV -vf eq=brightness=0.06:saturation=2 -c:a copy OUTPUT.MOV

Alternative filters: curves and pp.

the preview ffplay is an awesome added value

works like a charm. Thanks!

Gamma correction is likely to be a better choice than brightness, to stretch the histogram to the right rather than push it over:
# tinker with numbers
ffplay -vf eq=gamma=1.5:saturation=1.3 original.vid

# render
ffmpeg -i original.vid -vf eq=gamma=1.5:saturation=1.3 \
    -c:a copy  outfile.vid

Is there a reason the saturation needs to be changed with the gamma?

Been a few years but my recollection is that when you brighten a dark video it looks a bit muted color-wise.

I'd also try curves:
ffmpeg -i input.vid -vf "curves=all='0/0 0.5/1 1/1'" -codec:a copy -codec:v libx264 -y output.vid

The 0.5/1 maps mid-range brightness (0.5) to full bright (1)

One reason to use curves instead of eq: the latter seems to affect pixel format. If you convert from YUV to BGRP for conventional blending purposes, but blending for some unexplainable reason happens in YUV anyway, replacing eq with curves may help. Another filter that seems to mess up blending is normalize.


text:
Control key frame value with slider control
I have an object in After Effects comp and I need its scale to change from keyframe A to keyframe B and I need keyframe A to have value of 95% and keyframe B value of whatever is set via slider control. Now I know how to set overall scale by slider, but I seem to have problem finding a way to link just that one keyframe to my slider control.
I am fairly new to expressions and I tried to re-purpose following one I found for the same thing but with opacity, but it doesn't work. I think it's because it supplies just one value and scale needs two values, but I honestly have very little idea whats going on in the expression and how to adapt it.
if (numKeys > 1){
  t1 = key(1).time;
  t2 = key(2).time;
  v1 = 0;
  v2 = comp("INPUT").layer("CONTROL").effect("Zoom intensity")("Slider");
  linear(time,t1,t2,v1,v2);
}else
  value

You were close.
if (numKeys > 1){
  t1 = key(1).time;
  t2 = key(2).time;
  v1 = [95, 95]; //or if it's 3d [95, 95, 95]
  slider = comp("INPUT").layer("CONTROL").effect("Zoom intensity")("Slider");
  v2 = [slider, slider]; // or [slider,slider,slider] if 3D
  linear((time, t1, t2, v1, v2);
} else {
  value
}

You were right that the scale property requires 2 (or 3) dimensions. So you need to use arrays, which look like [value1, value2], or [value1, value2, value3,… valueN] for as many members you want the array to have.

On line 4 I assume you want it to be 95% not 0. I also changed it to an array.
on line 5 I assign the slider value to a temporary variable and then put that in an array. You could do it in one line by repeating the comp("INPUT" … (Slider) phrase inside an array, but it would be really long and awkward. Alternatively you could use a point control if you wanted to be able to set the dimensions separately.
on line 8 the else without curly braces works, but it makes me nervous.

How to do that with the position @stib ? Thank you very much!

Exactly the same, that expression would work for position too


text:
Audio playing at a lower pitch than original file with clicking noise
I've imported an audio file into Lightworks.  The same problems happen whether the input file is in MP3 or WAV format.  Both original media files play correctly in mplayer.
The audio in the file plays slightly lower than it should.  The first tone in the tune is E5; in LightWorks the tone emitted is between D5 and D#5.  This is a frequency ratio of between 1:1.0595 and 1:1.225.  The audio also runs slightly longer, but only by about a second for the entire 6m10s file.  This is a significantly smaller ratio of 1:1.0027.
While the audio is playing, there are frequent and regular mid-pitched clicking sounds audible, at a rate of roughly 10-20 per second.  They are louder when the audio is louder.  These clicking sounds are also audible during playback of video files which have associated audio track; again, the sounds are not audible during playback of the same file under mplayer.
I'm running LightWorks on a non-Retina MacBook Pro (2012).

Restarted LightWorks and both problems seem to have disappeared.


text:
Does ffmpeg always produce the same YUV file when decode a video file?
With the same computer, same OS, and same version of ffmpeg and decoder, does ffmpeg always produce the same YUV file when decode a video file? By same I mean the YUV value is exactly the same.

A search didn't produce any indication of non-deterministic video decoding for a digital --> digital signal flow.

In any case, you can first run :
ffmpeg -i in.mp4 -flags +bitexact out1.y4m

ffmpeg -i in.mp4 -flags +bitexact out2.y4m

And then run
ffmpeg -i out1.y4m -v 0 -f md5 -

ffmpeg -i out2.y4m -v 0 -f md5 -

Compare the MD5 values. Same here for H.264 input.


text:
privacy: the easiest way to blur out some location specific objects in a video
My customer sent me a video, where she wishes to hide all location specific objects. The video viewer should not recognize where the video was filmed.
To blur out the location specific object, a human must decide what is privacy related and what not (it can't be done by algorithm). I wish to select an object (some tiny and some 50% of the resolution) and then some "magic" happens that this object is blurred in hole video. I wish to blur out only small portions of the video, that the result is enjoyable for our viewers.
I search for a very easy solution. I am not a Professional Video guy. I use macOS Sierra, did some basic stuff with ffmpeg and QuicktTime player (Trimming). For me it's possible to buy an extra software for about 100$. I prefer a very simple way to do this.

So are you looking for a software recommendation? I used to have a job where I had to do exactly this: taking out location specific things so we could sell our videos to overseas customers, but the challenge was that it wasn't supposed to be noticeable. I learned a lot about After Effects that way. You might want to look into AE, you can hire it for a short term, but I'm betting you'll spend waaaay more in your time than any software is going to cost.

You are going to need to use; preferably After Effects to do this. You could also do it in Premiere; but AE is the way to go, because you can use the tracking feature to auto follow objects; combined with a custom mask (with a blur filter applied).
Other than that your options will be limited.
I believe Adobe CC allows a 30 day free trial; and it's monthly in terms of cost, you could always try it and see if it suits your needs, and go from there).


text:
Cannot boot up OBS, prints an error

Distro: elementaryOS Ubuntu Linux 16.04
Kernel:
4.4.0-72-generic
OBS version: 18.0.1

I tried installing OBS via the installation instructions for Ubuntu Linux, but when I tried to run obs, I received an error in the provided log. I then tried to compile OBS manually and received the same error message.
$ obs

Gtk-Message: Failed to load module "pantheon-filechooser-module"

(obs:12741): Gtk-WARNING **: Unable to locate theme engine in module_path: "pixmap",

(obs:12741): Gtk-WARNING **: Unable to locate theme engine in module_path: "pixmap",

(obs:12741): Gtk-WARNING **: Unable to locate theme engine in module_path: "pixmap",

(obs:12741): Gtk-WARNING **: Unable to locate theme engine in module_path: "pixmap",
debug: Found dbus service: org.freedesktop.ScreenSaver
Attempted path: share/obs/obs-studio/locale/en-US.ini
Attempted path: /usr/share/obs/obs-studio/locale/en-US.ini
Attempted path: share/obs/obs-studio/locale.ini
Attempted path: /usr/share/obs/obs-studio/locale.ini
Attempted path: share/obs/obs-studio/locale/de-DE.ini
Attempted path: /usr/share/obs/obs-studio/locale/de-DE.ini
info: Using preferred locale 'de-DE'
Attempted path: share/obs/obs-studio/themes/Default.qss
Attempted path: /usr/share/obs/obs-studio/themes/Default.qss
Attempted path: share/obs/obs-studio/license/gplv2.txt
Attempted path: /usr/share/obs/obs-studio/license/gplv2.txt
info: Processor: 4 logical cores
info: Processor: Intel(R) Core(TM) i5-4570 CPU @ 3.20GHz
info: Physical Memory: 15975MB Total
info: Kernel Version: Linux 4.4.0-72-generic
info: Distribution: "elementary OS" "0.4"
obs: symbol lookup error: /usr/local/lib/libobs.so.0: undefined symbol: XGetXCBConnection

After the first failed attempt to install OBS from the PPA they provide, I had to resort to installing it via the general linux installation guide, to no avail. As the guide suggested, I installed the xcb libraries:
$ sudo apt-get install libx11-dev libgl1-mesa-dev libpulse-dev libxcomposite-dev \
                       libxinerama-dev libv4l-dev libudev-dev libfreetype6-dev \
                       libfontconfig-dev qtbase5-dev libqt5x11extras5-dev libx264-dev \
                       libxcb-xinerama0-dev libxcb-shm0-dev libjack-jackd2-dev libcurl4-openssl-dev
[sudo] password for limeth:
Paketlisten werden gelesen... Fertig
Abhängigkeitsbaum wird aufgebaut.
Statusinformationen werden eingelesen.... Fertig
Hinweis: »libfontconfig1-dev« wird an Stelle von »libfontconfig-dev« gewählt.
libjack-jackd2-dev is already the newest version (1.9.10+20150825git1ed50c92~dfsg-1ubuntu1).
libv4l-dev is already the newest version (1.10.0-1).
libx11-dev is already the newest version (2:1.6.3-1ubuntu2).
libxcb-shm0-dev is already the newest version (1.11.1-1ubuntu1).
libxcb-xinerama0-dev is already the newest version (1.11.1-1ubuntu1).
libxcomposite-dev is already the newest version (1:0.4.4-1).
libxinerama-dev is already the newest version (2:1.1.3-1).
libqt5x11extras5-dev is already the newest version (5.5.1-3build1).
libx264-dev is already the newest version (2:0.148.2643+git5c65704-1).
libcurl4-openssl-dev is already the newest version (7.47.0-1ubuntu2.2).
libfontconfig1-dev is already the newest version (2.11.94-0ubuntu1.1).
libfreetype6-dev is already the newest version (2.6.1-0.1ubuntu2.1).
libgl1-mesa-dev is already the newest version (12.0.6-0ubuntu0.16.04.1).
libpulse-dev is already the newest version (1:8.0-0ubuntu3.2).
libudev-dev is already the newest version (229-4ubuntu16).
qtbase5-dev is already the newest version (5.5.1+dfsg-16ubuntu7.2).
Die folgenden Pakete wurden automatisch installiert und werden nicht mehr benötigt:
  libboost-regex1.58.0 libopenjfx-java libopenjfx-jni linux-headers-4.4.0-42 linux-headers-4.4.0-42-generic linux-headers-4.4.0-43
  linux-headers-4.4.0-43-generic linux-headers-4.4.0-57 linux-headers-4.4.0-57-generic linux-headers-4.4.0-59
  linux-headers-4.4.0-59-generic linux-headers-4.4.0-62 linux-headers-4.4.0-62-generic linux-image-4.4.0-42-generic
  linux-image-4.4.0-43-generic linux-image-4.4.0-57-generic linux-image-4.4.0-59-generic linux-image-4.4.0-62-generic
  linux-image-extra-4.4.0-42-generic linux-image-extra-4.4.0-43-generic linux-image-extra-4.4.0-57-generic
  linux-image-extra-4.4.0-59-generic linux-image-extra-4.4.0-62-generic openjfx switchboard-plug-gcc-bluetooth
Verwenden Sie »sudo apt autoremove«, um sie zu entfernen.
0 aktualisiert, 0 neu installiert, 0 zu entfernen und 20 nicht aktualisiert.

I also tried reinstalling them:
$ dpkg --get-selections | cut -f1 | grep libxcb | xargs sudo apt install --reinstall

Didn't help either.

Although this is video related, you're more likely to get a better answer on superuser.com

I had outdated libraries in the /usr/local/lib directory.
I moved them in a backup directory using the following commands:
cd /usr/local/lib
mkdir bak-libobs
mv libobs* bak-libobs/


text:
Why do VHS tapes degrade in two different ways when copied?
Generation loss occurs when a VHS tape is copied, the copy is copied again, and so on. I have seen two different patterns in how video and sound degrade.
In one type, horizontal bleeding starts in early generations. Colour bleeds, then is lost. Horizontal tracking becomes very poor. Timing of both image and sound remains good for many generations. Example
In the other type, ringing artefacts appear. Colour forms horizontal bands in the primary colours, and takes more generations to disappear completely. The video speeds up, slows down, sometimes repeats, and the audio track desyncs. Horizontal tracking takes much longer to degrade. Example
What causes each of these two patterns, and why do they differ so much?

I work more at the systems level than I ever spent time on analog decks, but I suspect that the different problems result from variations in tape stock, the different tape speeds (SP, LP, & EP), the VCR's drum size and head configuration, and the interaction with the color-under subcarrier arrangement.

I'd say it was mostly the latter. Basically you can think of colour-under as being an analogue form of compression. Just like the colour information in digital video is sub-sampled, the colour information going to tape was heterodyne-d to a much lower frequency, which inevitably involved information loss, as well as analogue noise. Each successive generation involved more loss. https://en.wikipedia.org/wiki/Heterodyne

This is a difficult question to accurately answer; because you haven't detailed out the exact setup of how the tapes are being duplicated.
First, VHS is an Analog format, and the video signal is typically output via a composite connection. Some higher end VHS consumer units did have component out, either by RGB or via S-Video Out. This connector would yield a higher quality transmission from your feed deck vs your record deck.
So signal loss plays a big factor, especially if the decks are connected via composite (co-axial) connection, as all color information, along with luminance information, is on the same channel.
Using S-Video at least separates out the Blue and Red Values; and pairs luminance with Green.
Quality of the decks comes into play. Are we talking consumer decks; or professional Sony Editing/Duplicating decks. In their hey-day, The Sony Editing Decks, which were the size of about 3 normal VCRs tall, and 1.5 times as wide; were highly accurate in terms of carriage speed for the tape. The highest end decks were nearly frame accurate. They allowed pre-roll, where the decks would back up the tape, get the tape up to speed, and then insert edit in the record at the correct designated frame.
Lastly; if the decks are not synced, there will be slippage regardless... It's analog not digital.
The only way to maintain that both decks sync frame for frame is via genlock. The unit most popular during the Pro-VHS days was called a "Kitchen Sync", it was basically a black burst generator that had a bunch of outputs that all of your decks (they made different size syncs); would connect to, and all the decks would keep in sync with the master clock.
Without that; it's impossible.
Finally; VHS over time stretches, becomes brittle, there's different quality tape, it's magnetic, so it's susceptible to loss of information based off magnetic contact.
Cheers!

Just a point of order: S-video is not color-difference video. It doesn't separate red & blue from luminance (Y, R-Y, B-Y), it separates the narrow-band chrominance from luminance (Y/C). It's a good match with  VHS because it doesn't require encoding/decoding steps when dubbing.

The earliest VHS cassettes were often using existing tape stock that was produced for open reel recorders.As the format developed, a number of tape manufacturers produced tape with differing formulations in the coating, which produced a very noticeable difference, particularly in reproduction of the chrominance signal.
These differing formulations also varied in terms of head wear, with the coarsest head grinding tapes tending towards the best signal reproduction, whilst the gentlest generally produced inferior quality image reproduction.


text:
How do I know if a video file is encoded perfectly or not?
I have to encode (transcode) many video files (usually from AVI to MP4). But to see if the encoded files are correct or not I will play all the files manually, which is rather tedious.
Is there any tool to check if an encoded file is perfect or not?

Your question is unclear. Do you want to assess the quality of the output, which is what the current answers address? Or see if all frames were encoded and without any errors during processing?

@Mulvya Thanks for your comment. In fact, both answers are very helpful, I am battling with myself to decide which one is better (please give me some time). You mentioned that if some frames are not encoded, I consider the file to be incorrect if some frames are not encoded. I wonder if those tools are able to detect that?

You can use a free tool like the Moscow State University Video Quality Measurement Tool or something like Tektronix Aurora or Interra Baton in a professional setting.
However, you should always visually check at least the heads and tails of the video, in addition to any areas flagged by an automated QC tool. Spot checking the middle of the file is also a good idea. A specialty player like QCTools is helpful.
One thing to note: I've generally found that the amount of time needed to set up a good automated QC workflow is only worthwhile if you have a lot of material to QC (tens of hours or more) or you will use the workflow repeatedly for a long time. The amount of work needed to automate the QC outweighs the time spent checking short term, small workloads.

There are several methods/algorithms to compare a transcoded file against its original.
This is a good article which I believe covers what you're asking. It touches on algorithms such as Peak Signal-to-Noise (PSNR) ratio and Structural Similarity Index (SSIM) used to perform objective analysis -- without having to watch the actual video.
http://www.streamingmedia.com/Articles/ReadArticle.aspx?ArticleID=110206&utm_source=RSS&utm_medium=RSS&utm_campaign=Article_Reads

Without question, the gold standard for assessing video quality is a controlled subjective test, which, as previously mentioned, can be time-consuming and expensive to run. Objective quality benchmarks are algorithms that compare the compressed video with the source and render a value that predicts how the compressed file would fare in subjective tests. There are multiple algorithms, all rated according to how well they correspond with actual subjective evaluations. None are perfect, but some perform better than others.

Jan Ozer, the article author, even links to a demo of the Moscow University Video Quality Measurement Tool showing good and bad frame-to-frame comparisons.

Cheers,
Ian

There is also PEVQ and ITU-‐T G.1070.

True! There are several. Each has its own strengths and weaknesses.

I used to do everything in AviSynth. I would mix my Videos and call Batch Files to compress with x.264/5.
AviSynth also has Math Functions like Compare which compares Frames: http://avisynth.nl/index.php/Compare - Not difficult to write a Script that grabs a few Frames whenever there's much of a difference and create a Visual Report (a Video of the excess differences).
A Program that did everything perfectly is likely to be expensive due to a limited Market (with rich customers) and a Test that simply gives you one number doesn't necessarily mean much nor does it identify the problem - if it's a single dropped Frame would you want to spend hours recoding (possibly with the same result).
If you want to Automate for a low cost you'll have to learn to write the Program or simply do it with Scripting - AviSynth is designed for this sort of problem.
There's a reasonable chance of finding the Script written for you but the URL above gives a couple of examples of how easy the Language is to learn.


text:
Vegas Pro will not properly render PCM audio in avi file on the timeline
I have an avi video with video codec mp4v and PCM audio. When I bring the video into Vegas Pro, it loads up fine except the audio gets seriously messed up. It gets chopped. See the waveforms below.
I used ffmpeg to extract the audio using the command ffmpeg -i video.avi -vn -acodec copy audio.wav. The resultant file will load correctly in Vegas Pro. See the waveforms and compare. These should look exactly the same.

What is causing this and how do I fix it?
ffprobe reports the following on the file:
Input #0, avi, from '01-1.avi':
  Duration: 02:01:44.47, start: 0.000000, bitrate: 2060 kb/s
    Stream #0:0: Video: mpeg4 (Simple Profile) (MP4V / 0x5634504D), yuv420p, 1024x768 [SAR 1:1 DAR 4:3], 626 kb/s, 30 fps, 30 tbr, 30 tbn, 30 tbc
    Metadata:
      title           : DVI2USB 3.0 [D2S354466]
    Stream #0:1: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 44100 Hz, 2 channels, s16, 1411 kb/s

Mux to another AVI or MOV and check. Could be something as simple as a buggy or non-standard AVI muxer used by the original app. I notice that the audio is 2ch but the waveform is 1ch. Is that a compare of 1 of the channels or is the stream selection set to 'combined'?

@Mulvya Yes, two channels in the file, but I set vegas to only show the one that's there. The other channel is blank. No feed when recorded, apparently.

@Mulvya So ffmpeg -i input.avi -vcodec copy -acodec copy output.avi? Is that what you want me to try? Just tried it, didn't work.

And also to MOV.

@Mulvya Thank's for the suggestion. I ran this command: ffmpeg -i input.avi -vcodec copy -acodec copy output.mov. The mov file will open the audio correctly. The video will not load, however. Seems like progress. What does this mean, though? An issue with Vegas and AVI files?

Sounds like your Vegas' AVI reader doesn't like PCM audio, although it works here in VP12. As for no video via MOV, probably just an issue of video tag. What does ffprobe show for the MOV?

@Mulvya Here's a snapshot

@Mulvya So is it Vegas or the original file?

It's Vegas. A MOV with the same V and A codec opens fine here. I would suggest to reinstall QT.

I've been able to solve the issue recently with the following command in ffmpeg:
ffmpeg -i "input.avi" -c copy "output.mov"

I still have no understanding why Vegas would not work with the AVI. My system does this container rewrap at about 350x, so it's very fast. The only issue is if you have a ton of videos and you create a batch file, you should check your hard drive space before you try it.


text:
Why do a lot of animation videos have wiggly lines?
You see this style often in animated videos, e.g. this one:

The outer borders/lines of the elements sort of wiggle (for want of a better word) at a high frequency, giving the video more overall movement/activity. Of course for traditional animation that is drawn frame by frame, this is a byproduct of the illustrator drawing the shapes a bit differently every time. However, the video I linked above rather looks like most of it's elements were animated in After Effects (or similar software) rather than being hand-drawn frame by frame.
I see this style quite often, I would like to know if this most likely an intentional effect (for example to give the impression of a hand-drawn animation) or the byproduct of a digital animation method. Also, is there an easy way to replicate this effect in After Effects without having to draw every frame (or manually transform the paths of my vector elements every frame)?

The style imitates hand-drawn cel animation, where each frame is drawn separately. Usually the lines will be slightly different in each drawing so you get what is called "boiling" or "line boil".
This can be seen as a defect, but can also be used to give a stylistic look, much the same way as film scratches, lens flares, fogging etc. are added to animation that is created on a computer.
Turbulent displace can be used in After effects to simulate it, as discussed in this tutorial.

This seems to typically be called 'Squigglevision', it's even patented. There do seem do be ways to replicate this in After Effects.

I had no idea that was patented. I've used that effect myself. I'm assuming that specific technique is patented.

Presumably it's a very specific scope of patent, since a lot of people seem to use it.


text:
video format for pre-demosaic'ed stream
As we all know individual cells in CMOS sensors are essentially identical. The only thing that differentiates them from each other is the thin filter layer (turning them into R, G, B sensor cells). The most standard pattern for that "coloring" is the RGGB "Bayer filter".
In essence those individual cells produce grey-scale image which is then turned into color by the process called demosaicing.
Here's my question:
Is there a recognized (standard?) video format for streaming/storing that kind of video stream?
N.B.
Please note that a naïve answer "this is grey-scale!" doesn't work since a simple parameter like windowing will affect the image, completely changing its colors. Also there's definitely a need for "sensor sensitivity" information to be able to properly reconstruct the original color. And so on and so forth...

Turns out the answer is yes. Such format is called CinemaDNG and is used for professional video production since 2009.
Here's the spec for the format: http://download.macromedia.com/pub/labs/cinemadng/cinemadng_p1_spec_091009.pdf
Among other things it supports:

Integer sensor values of any bit depth from 8 to 32 bits
Arbitrary size color filter arrays with up to seven color channels
Black level, white level, and linearization parameters for scaling of sensor values
Color-processing parameters for mapping camera RGB to CIE XYZ color space

Adobe's Creative Suite supports CinemaDNG on both Windows and Mac OS platforms since version 4 and the codec (at least for Windows) is available from Adobe's website: http://supportdownloads.adobe.com/product.jsp?product=194&platform=Windows
There are other products out there that process video in CinemaDNG format, some even with GPU (CUDA) support.


text:
How can I import subtitles/captions into a letterboxed video like this?
How can I easily create captions that look like this?

(Click to see a video that shows a good example.)
I have a video that is 1280 x 720 pixels but converted to a square of 1280 x 1280 pixels so that there is empty space above and below.
Using Adobe Premiere Pro CC 2017, I've then added a "Default Still" Title to the top.
Given an .srt or other file of captions, how could I import them to be shown in the bottom band of the video at the appropriate time?
I want them "burned in" so that they are always visible regardless of the device used to play the video.
(So maybe they're called "open captions" instead of "closed captions".)
I want to be able to choose the font style and size.
I want to avoid creating a "Default Still Title" for each sentence of text manually—that would be a lot of hassle for a long video.
I have Adobe Premiere Pro CC 2017 but could buy other software if necessary or could use ffmpeg if that is capable.

Can be easily done with ffmpeg. But Premiere, IIRC, can do it too.

You can use ffmpeg. Make your subtitles with Aegisub or manually with a text editor. ASS subtitles are fancier, but SRT are simpler if you want to manually make them.
Alignment & Margin
The default settings will likely work, but you can control the general location, or alignment, using the "keypad" coordinates. For example, 2 is bottom center. For more granular control you use the vertical margin. In Aegisub these options are available in Subtitles > Style Manager > Edit.

You can also choose the font and font size in this screen.
ffmpeg examples
Now run ffmpeg with the subtitles filter to make your hardsubs:
ffmpeg -i input -filter_complex "subtitles=subs.ass" output

Or if you want to avoid using Aegisub you can use the force_style option:
ffmpeg -i input -filter_complex "subtitles=subs.ass:force_style='Fontname=Arial,Fontsize=20,Alignment=2,MarginV=10'" output

Resulting in:

If you do want to use ffmpeg make sure to output from Premiere using a lossless format, such as UT video, because ffmpeg will re-encode it which is required when filtering.

Very cool. Thanks! And I'd never heard of https://en.wikipedia.org/wiki/Ut_Video_Codec_Suite Interesting. Thanks.

@Ryan It's a decent format and works well as an intermediate file. It's main advantage on Windows is the ease of installation and easy integration into Premiere.


text:
Do you have to build ffmpeg from source to use 10-bit codecs in Windows?
I'm trying to find somewhere I can download pre-built binaries of ffmpeg for Windows with 10-bit codec support.  Apparently, from what I've read, ffmpeg has to be either 8-bit or 10-bit, and the builds on www.ffmpeg.org for Windows are all 8-bit.
This thread on the ffmpeg forums suggests that there were 10-bit releases for a time, but no longer.
My google searching has turned up several sites with 10-bit builds from 2013, 2016, and so on, but nothing consistent over time.
Before I go to the trouble of trying to set up a way to build this from source, I just want to confirm-- there's no site regularly providing 10-bit Windows builds of ffmpeg, right?

Not quite. The x264 encoder, specifically, can be compiled with either 8-bit or 10-bit support, but not both.That restriction doesn't apply to x265 or any other encoders that I can think of. So, unless you need to encode to H.264 10-bit using x264, the regular builds of ffmpeg are fine.
You can fetch standalone binaries for 10-bit x264 from the official site at https://download.videolan.org/x264/binaries/ Too much hassle to compile ffmpeg with all other dependencies if you just need that one 10-bit encoder.
Edit: This is no longer true as of late Dec 2017. x264 now compiles and links as a multilib with both 8-bit and 10-bit support.


text:
Why videos taken in the dark has color artefacts (noise)?
can someone tell me, why videos (taken in low light place) has noise (or i dont know what to call that, the pixels playing/blinking continuously) , for example:

My questions are:
1) Why that noise is added at all? why cant the image could be static, i mean, where is black color, there should be black without noise...  (same for other colors...) why colors are not static and why this annoying noise is added?
2) is there any method in photocameras (mobile, CANON etc..) , to force camera to record without noise (like professional videocameras do)?

The noise in dim-lit environments is a result of how digital cameras work. The exposure of a picture or video depends on three essential parameters: lens aperture, shutter speed and ISO. The first two are about how much light falls on the camera sensor. The larger the aperture, the more light can enter the camera. The slower the shutter speed (i.e. the longer the exposure), the more light can enter the camera. ISO/gain is a digital amplification of the digitalised sensor signal By amplifying the signal, the camera can essentially make it brighter. However, the noise that is captured is also amplified.
What's important to understand is that if you were to expose a light and a dark scene using the same aperture, shutter speed and ISO, the dark one wouldn't have more noise than the light one, it would just be darker. The noise is a result of the camera increasing the ISO/gain to achieve a well-exposed scene (which for the camera means a normally distributed histogram).

1) Why that noise is added at all? why cant the image could be static, i mean, where is black color, there should be black without noise... (same for other colors...) why colors are not static and why this annoying noise is added?

What probably happened with your example video is that the camera noticed a dim-light environment and cranked up the ISO/gain to achieve a well-exposed video. This inadvertently increases the noise of the video as well. What you can do to circumvent this is to switch to a manual exposure mode where you set the aperture, shutter speed and ISO manually. This way, you can set your camera to underexpose the image. It will turn out rather dark, but less noisy. Keep in mind though that this does not mean you should just underexpose your video and just turn up the brightness in post-editing. This will once again increase the visible noise, because it's basically the same thing as increasing the ISO, only less efficient. So there's a tradeoff between noise and exposure as well.

2) is there any method in photocameras (mobile, CANON etc..) , to force camera to record without noise (like professional videocameras do)?

High-quality lenses will usually be faster, meaning their minimum f-number (maximum aperture) will be lower. A larger aperture means more light entering the camera in the same amount of time, so with a larger aperture you will get a brighter image than with a smaller one (while shutter speed and ISO stay the same).
High-quality cameras will usually have slightly better low-light performance, meaning there will be less noise under the same circumstances with the same settings, but that difference is rather negligible in scenes as dark as the one in your video.
You can also use a tripod to steady your camera, allowing for slower shutter speed (meaning each individual frame of your video will be exposed for a longer time). However, the shutter speed can't be slower than the inverse of the framerate for obvious reasons, so that will only do so much to brighten up your scene.
What you really need to do to lower the noise is bring in more light. You can still darken the video in post-editing, but if you are able to shoot a well-exposed video with a low-ish ISO value (the meaning of low in this context depends on your camera model), the resultant video won't have much noise regardless of how you decide to edit it. Alternatively, if you want an underexposed video (if that is the style you're going for), you can just set your camera to manual and purposefully underexpose the scene as described above.

excellent answer... for example, 1) ....just turn up the brightness in post-editing  -- did i misunderstood that? because, lets say, if raw image if complete black, if i make it brighter in video-editor, then it will make it brighter without noise... i.e. http://i.imgur.com/M0EHWPB.png

the problem is that my JVC videocamera captures without noise, but with Canon Photocamera (SX50, video-record mode) in same brightness, has about 3-4 times more noise..

@T.Todua First, you are probably not capturing RAW video unless you are using a production-grade camera. But regardless of that, the video will never be completely black even in the areas that appear to be black on the screen. The noise is a result of the analog to digital conversion and influenced by a couple of variables (including sensor size, as explained in LetTheWritersWrite's answer, forgot to mention that in my own post), brightening it up will just increase it. TBC

I supposed if you underexpose hard enough, the video will eventually turn out completely black, but then there's no information to recover in post ...

When you have a camera with a small sensor, the little photosites can't read light very well. Photosites are like little pixels that are buckets of light that build up the image. When your sensor can't read light very well, it has to kind of guess what the light is and you just get random pixels firing off, creating that noisy pattern.
And to get rid of noise, you have to adjust the dark values with a curves or levels effect. You will crush the black levels and essentially eliminate the noise in the dark regions of your video. This is the only way to film high contrast, dark shadow images. Now, if your whole image was underexposed, then it's not as salvageable because your whole image is in the noisy threshold and will get affected by your effect right along all the other noisy parts you are trying to eliminate.
Conclusion, you can avoid this in the future by using plenty of light, a bigger sensor, or a faster lens.
Here's a great article by a talented cinematographer
http://www.thehurlblog.com/film-education-testing-your-cameras-emulsion/

The noise is not a result of any kind of conversion from analog to digital or any of that nonsense. The 'noise' is the world that exists between the camera lense and whatever you are pointing it at. The barely visible world of the micro is swirling around us constantly. Inside and outside! Turn a flashlight on in a dark room and you'll get a peak at that world.


text:
How can I increase the bass in audio (documentary narration, people speaking)?
I have several clips where I want to increase the bass of the audio to make the voices deeper.  The audio content is people talking in normal voices; there's no music or singing.
To edit, I'm using Resolve 12.5, which has no audio plugins of its own but accepts VST plugins.  I'm also open to installing additional software if necessary.
I'm relatively new to audio editing so perhaps I'm missing something obvious, but it seems like most commercial audio plugins (such as MaxxBass) are intended for music, not speaking voices.  What can I use to increase/deepen the bass?

Izotope has great plug ins but they are expensive. In the end all you really need is an eq.

EQ won't make the voices deeper, it will just bring out the lower frequencies of the voice, meaning it could just sound muffled. If you want to actually make the voices deeper could try a pitch shifter - there's 38 free pitch shifter effects listed on this page, that might be a start: http://www.vst4free.com/index.php?plug-ins=Pitch

And then the voice is going to sound completely different...

An article by Larry Jordan gives the following idea for using the Equalizer effect in FCPX:

To warm a voice, here are the settings I recommend you start with:
  Men: Add 3-5 dB around 180 – 200 Hz.

There's more info in the article.  Based on this, I was able to make several improvements to the audio in Resolve.


text:
ffmpeg: Convert 4K 10-bit file to DNxHR 444
I have a 2160p29.97 AVI 10-bit RGB file recorded with a Blackmagic Intensity Pro 4K capture card.  I want to convert this file to DNxHR 444.
I used the following command to do so on Windows 10 with ffmpeg 3.3.2.
ffmpeg -i "test.avi" -c:v dnxhd -profile:v dnxhr_444 "test_dnxhr444.mov"
I received this error:

"[dnxhd @ 00000000026e6c60] dnxhr_444 or dnxhr_hqx profile is not
  implemented. Update your FFmpeg version to the newest one from Git. If
  the problem still occurs, it means that your file has a feature which
  has not been implemented."

I tried running the command again with dnxhr_sd instead, which works.  So, does this mean that dnxhr_444 does not work with ffmpeg at the moment?
Here is the full output for reference:
ffmpeg version N-83133-ge664730 Copyright (c) 2000-2017 the FFmpeg developers
  built with gcc 5.4.0 (GCC)
  configuration: --enable-gpl --enable-version3 --enable-cuda --enable-cuvid --enable-d3d11va --enable-dxva2 --enable-libmfx --enable-nvenc --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libfreetype --enable-libgme --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenh264 --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-libzimg --enable-lzma --enable-decklink --enable-zlib
  libavutil      55. 43.100 / 55. 43.100
  libavcodec     57. 73.100 / 57. 73.100
  libavformat    57. 62.100 / 57. 62.100
  libavdevice    57.  2.100 / 57.  2.100
  libavfilter     6. 69.100 /  6. 69.100
  libswscale      4.  3.101 /  4.  3.101
  libswresample   2.  4.100 /  2.  4.100
  libpostproc    54.  2.100 / 54.  2.100
[avi @ 0000000000946500] non-interleaved AVI
[avi @ 0000000000946500] Stream #0: not enough frames to estimate rate; consider increasing probesize
Guessed Channel Layout for Input Stream #0.1 : stereo
Input #0, avi, from '20mintest.avi':
  Duration: 00:21:51.84, start: 0.000000, bitrate: 1535764 kb/s
    Stream #0:0: Video: r210 (r210 / 0x30313272), rgb48le(10 bpc), 3840x2160, 1582152 kb/s, 29.97 fps, 29.97 tbr, 29.97 tbn, 29.97 tbc
    Stream #0:1: Audio: pcm_s24le ([1][0][0][0] / 0x0001), 48000 Hz, stereo, s32 (24 bit), 2304 kb/s
[dnxhd @ 00000000026e6c60] dnxhr_444 or dnxhr_hqx profile is not implemented. Update your FFmpeg version to the newest one from Git. If the problem still occurs, it means that your file has a feature which has not been implemented.
Stream mapping:
  Stream #0:0 -> #0:0 (r210 (native) -> dnxhd (native))
  Stream #0:1 -> #0:1 (pcm_s24le (native) -> aac (native))
Error while opening encoder for output stream #0:0 - maybe incorrect parameters such as bit_rate, rate, width or height

Yes, not implemented at this time.

As stated in this answer (includes an example), as of ffmpeg 3.3.6, this is now supported.
The error no longer appears and you can convert to 444 without trouble.


text:
How were copies of movies meant to be distributed to theaters made?
In the "olden days" before digital movie projection and the Digital Cinema Package were around, movies were recorded onto film (usually 35mm, I have heard of 70mm instances). The "master film" was the 35mm roll, and somehow copies were made to be distributed to theaters, which could also be in the 35mm format but 16mm could be used as well. Just how was this done effectively?

Regardless of format; 16, 35, 65, etc... The studios would distrubute release prints. The prints were shipped (speaking about 35mm here) on 2000' reels; 5 reels to a can.
In the olden day's they would use two projectors and the projectionist would have to literally load reel one, and two to the other, and they would switch over. Back and forth. A typical movie in today's world (2 hours) would run about 5 reels.
So let's talk the 1990s. The theater receives a can of 5 reels. The reels would be sent up to the projectionist booth. The projectionist would then assemble the reels into one giant reel; on a platter; basically a large spinning lazy-susan. The platter can feed either from the inside; called the core (the core is roughly 10 inches; and has a center mechanism so with rollers in an assembly so the film never has to be "rewound".
The projectionist would first add blank leader, just black, typically 30 seconds; then they would use a film splicer and film tape to add the theater opening title, and each trailer which would play before the film. Some films; shipped with specific trailers on them. But most times; there would be racks and racks of trailers (small film reels about 6 inches (3 minutes) of film; and the projectionist would; whatever his preference or theater policy; add the trailers he wanted (typically matching action with action films, etc). Then any other small film reels would be added; "Turn off your cell phones". Etc.
Lastly; the projectionist would add reel 1, then 2, and so on; and the platter is motorized so it literally pulls the film off the reel which is setup on a rolling stand.
Each reel would need to be checked at the tails; and spliced and glued together.
The final reel would be a very large reel of film; roughly 5 feet in diameter, with a core about 10 inches in the middle.
Because this would be the "first run", the start of the movie would be on the inside, in the core; so the film would be pulled out of the core; through multiple rollers; and into the projector; and then fed to a take up platter either below or above the feed platter. (Typically there would be 3 platters so you could have more than one movie available on any given screen).
This setup would yield after the movie with the film left on a new platter, ready to be "re-threaded" through the projector.  Every showing required the projectionist to check the platter; and reload the projector threading the film over rollers with sprockets; through the gate, and then to the take up reel.
Release Prints were VERY expensive for the studios to produce. So many theaters had rollers for "Big Releases" - think "Titanic"; where one platter would run through the projector, then instead of going straight to a take up platter; it would be fed through a series of rollers down a long wall; to a 2nd or even 3rd projector; and they would have 3 screens starting all at the same time. The final take up reel would be at the last projector.
After the film was finished being run. The projectionist would then literally do the opposite of putting it together. Trailers typically discarded; and the film put back onto the 2000' reels. The film reels would be put back into the can; labeled for FedEx, and sent to a B-Theater; a less popular/lower income movie house.
This is why when you saw movies in the pre-2000s at say an old mall movie theater; there would be lots of scratches and dust, because the film had been played so many times and had been out for so long.
Now; you can find release prints on ebay; I almost bought a "Terminator 2" release print just to have... they were owned by the studio, and destroyed after use... so they are fairly scarce.
The projectionist would have to pay close attention during assembly and tear down; because you cannot rewind the platter.
I speak from being a projectionist for a year after highschool. One time I assembled a movie in the order of reel 1, 2, 4, 3, 5. So half way through the movie people got confused and came out and complained. With no way to rewind or fixed, the rest of the days shows had to be canceled, and the film reels taken back apart and put back into the same order.
Last note; you can typically see the change from reel to reel when watching a movie; either by seeing what's called a cigarette burn (small circle top right of frame), or simply, you notice a weird cut/shift in color/sound where the splice was... Because the release prints were made on multiple printers, color always didn't match reel to reel. Most times, you could at the least (if the film had an optical audio track); a small pop. Towards the later 90s... films went to digital DTS, and THX went digital as well. But before that, the film was a waveform optically printed on the left side of the frame. The audio, was optical.
In terms of how they did it "effectively". It's just how it was done for almost a 100 years. They were very very happy when things went digital. And theaters had to literally fight the studios, because most projectors in film houses were decades old... mechanical... and the studios wanted them all to upgrade to 20K Lumen 4K Dual Projectors (Digital); which run about $200,000 each.
Cheers!

You seem to be answering a different question from the one asked. You're talking about what the theater did, but the question seems to be asking about how the reels were produced for distribution before the theaters received them.

Yes, thank you @Martin Andrews for this answer, but what I am wondering is how the release prints were made. I do not understand how film copies are made to be distributed to the theaters.

He asked how it was done effectively; My answer commented yes on some off topic parts; but it discussed the release print process; how the films were transfered from a level film houses to b, then to c houses, then destroyed. The release print costs were a huge cost... as far as the printing process; they simply made "release prints" using a contact printer off sets of negative prints the studios made from a set of master positives; which were made from likely from just a few negatives... quality was lost in each transfer. As far as 35 to 16, that's just done using an optical printer /lens

http://www.oxberry.com/images/oxberry1600.jpg    They were made on these...

In my local theater, before they went digital, they used to show "turn off your cellphone" as well as some commercials, with a digital projector (not bad, but clearly not really cinema capable, slightly smaller image etc) and then start the main feature with the film projector. I think Avatar was the last movie I saw on film... or maybe John Carter...

It would have been unusual for 16mm prints to be struck from 35mm negatives. This would only be done with an optical printer, which is an expensive frame-by-frame process. If an extensive 16mm release were needed for a 35mm film, a 16mm interpositive and duplicate negative ("IP/dupe neg") would be made using an optical printer and distribution prints struck from that. Many dupe negs could be made from one IP. It would be more common for 65mm (so-called 70mm) films to be treated this way using 35mm dupe negs.
Typically 35mm prints were struck using a contact printer, a continuous-flow process, from one of a set a daughter negatives. These second-generation negatives were made using the IP/Dupe Neg process mentioned above.
In the early days prints would be "bicycled" from theater to theater (town to town), with second run and third run venues getting the prints in order. By the end of the chain the prints would be in very poor condition.
Of course, these days the master negative isn't nearly as valuable because everything is done using a digital intermediate process, where the true master is bits on a server that can be "printed" at will.


text:
Drawing a line over video that is camera tracked
Complete noob here with After Effects but I feel I am so close of achieving it yet...
I am trying to draw a line using the pen tool and get this line to follow along with the camera movements. Something like this:

I have created this using Track Camera on the footage, then selecting a target, right click and create null object. Then I draw the line on the null object using the pen tool, so it creates it as a Mask. All I want is that mask to stay in the footage, no effects, nothing special. Just this yellow line.
So it does work fine if I have the mask selected and I play the footage, but it disappears when I see the video from Premiere (they are linked)
What am I missing?
Thanks!

here is what worked for me:
Use track camera on the video, select a target point and right click to create a Solid.
Expand the solid layer as needed. Draw a mask with the pen tool while having the solid layer selected. This will create Mask 1
Click Mask and add Stroke effect to it
Select the Stroke effect and change the Paint Style to 'On transparent' so the solid layer will not be visible
The final result should look something like this

Masks do not render in after effects, the lines and boxes are UI elements of the program. To render a mask you have to apply an effect such as the stroke effect to the layer, using the mask as the source.
You could also add a stroke as a drawing on a new layer. You can do that by using the pen tool when there are no layers selected. That will create a shape layer with the current fill and stroke settings, so you may have to turn off the fill.
The boxes around the points would also have to be drawn as individual elments. You could use the square shape tool to draw them as either a source for the stroke effect or on the shape layer.

Thanks @stib adding a shape layer with the pen tool worked! Now all I need is to parent that to the tracked video. Do you know how to do that? I tried parenting it to my Null object that I created by right clicking on a tracked points. But it doesn't work

Did you create a camera as well? If you create a tracked camera and make the shape layer a 3D object it will track. However there is a slight problem: the pen is not drawing a 3D shape, it's drawing a 2d line that matches the perspective in one frame, on a plane parallel to the viewport, rather than horizontal. You may have to make a shape layer and rotate it 90 degrees on the x axis to make it flat to the ground, then draw your shape.

I ended up with creating a solid layer from the camera points and a Mask for it using the stroke effect. Not the best but will do the job. Gonna write it as an answer to all the others


text:
After Effects: How to do line animation on a moving camera
I've got a drone shot of an area where there will be built a road in the future. The drone shot is a simple pan to the left and I want to draw where the future road will be built with line animation.
I've got the shot camera tracked, but I'm having problems figuring out where and how to put the line animation when there are points that will at different times be on or outside the current camera view.
Btw: I'm trying to do this in After Effects.

After more research I found the solution myself:
I created a null track layer from the camera tracker data, then a new shape layer. The shape layer then needs to be a 3D-layer and then linked to the null track layer. Once that was in place I was able to draw the path I needed and then animate it.


text:
How to extract frames and saving frame type to filenames with ffmpeg?
I have a research project where I need to apply very, very computationally heavy image filters on a h264 video. Due some restrictions outside my control I have to use proprietary filter that works only on images and not video. Filter has two modes, A mode is very computationally heavy but produces production ready quality and B mode is fast but produces less than stellar quality.
My theory is that given how h264 uses I-frames to get the reference and rest of the frames are "non-essential", if I can find apply the high quality A mode on I-frames and B mode on other frames, I should be able to leverage h264's own compression to get the result without having to use filter on A mode to every frame. Another avenue would be to try with h265 because it's more robust frame prediction capabilities.
What I've figured out so far is that I need to find a way to extract all frames from a video while knowing which ones are I-frames, then do a filter on all the frames, and then re-encode the video back together with minimum quality loss.
So first question is that how can I extract frames with ffmpeg so that it somehow identifies each frame type on the filename?
ffmpeg -i C:\test.mp4 -vf select='eq(pict_type\,I)',setpts='N/(25*TB)' C:\testTemp\%09d.jpg

Above gives you i-frames but I haven't figured out how I can get this to export all the frames and to put the type on the filename?
Second question is that how can I re-encode the video so that it keeps the I-frame positions?
ffmpeg -framerate 24 -i frame-%03d.png output.mp4

Above would make the video out of frames but the I-frame positioning eludes me.
I know this is a complex problem so all help is truly appreciated!

Can't comment on the soundness of your theory, but here's a way to do it. Not directly, but in a roundabout way.
FFmpeg's segment muxer can break up a file at GOP boundaries, so running the command below generates a set of videos which each start with a keyframe but contain no other keyframes.
ffmpeg -i test.mp4 -c copy -f segment -segment_time 0.001 -segment_list list.ffcat -reset_timestamps 1 segs%d.mp4

This will create
segs0.mp4
segs1.mp4
...
segs101.mp4
..etc

Extract each segment to images
ffmpeg -i segN.mp4 outN-%d.png

Apply A on first frame of each image series and B on the rest.
Then for each processed series, run
ffmpeg -framerate X -i procN-%d.png -c:v libx264 -keyint_min 1000 -x264opts stitchable "result\segsN.mp4"

-keyint_min value should be greater than no. of frames in each series.
Hopefully the names of the resulting MP4s are the same as the original split segments, which makes the next step more convenient.
Copy the list.ffcat created in the initial segmenting command to the results folder and run
ffmpeg -f concat -safe 0 -i list.ffcat -c copy processed.mp4

This works but my theory needs more work ;) I can clearly see "the switch" between filter modes so next step is to see if I could maybe apply it to every 10th frame or something like that. Thanks!


text:
ffmpeg h264: VLC could not decode the format "aivx"
I am using the following command to make h264 archives of video with ffmpeg:
ffmpeg -i myfile.mov -c:a copy -c:v libx264 -preset slower -crf 20 myfilearchive.mov

To get 10-bit h264 support for capture with decklink, I switched my ffmpeg from a version I downloaded from ffmpeg.org to a version I built using the media autobuild suite.  Now, however, when I run the same command to make an archive video, the output can't be played in VLC.
This is the error I get in VLC:

Codec not supported: VLC could not decode the format "aivx" (No
  description for this codec)

This is the output (from MediaInfo) for an archive video made with the ffmpeg I downloaded from ffmpeg.org:
Video
ID                                       : 1
Format                                   : AVC
Format/Info                              : Advanced Video Codec
Format profile                           : High 4:2:2@L5.2
Format settings, CABAC                   : Yes
Format settings, ReFrames                : 8 frames
Codec ID                                 : avc1
Codec ID/Info                            : Advanced Video Coding
Duration                                 : 5 min 4 s
Bit rate                                 : 26.3 Mb/s
Width                                    : 3 840 pixels
Height                                   : 2 160 pixels
Display aspect ratio                     : 16:9
Frame rate mode                          : Constant
Frame rate                               : 29.970 (30000/1001) FPS
Color space                              : YUV
Chroma subsampling                       : 4:2:2
Bit depth                                : 8 bits
Scan type                                : Progressive
Bits/(Pixel*Frame)                       : 0.106
Stream size                              : 953 MiB (92%)
Writing library                          : x264 core 148 r2721 72d53ab
Encoding settings                        : cabac=1 / ref=8 / deblock=1:0:0 / analyse=0x3:0x133 / me=umh / subme=9 / psy=1 / psy_rd=1.00:0.00 / mixed_ref=1 / me_range=16 / chroma_me=1 / trellis=2 / 8x8dct=1 / cqm=0 / deadzone=21,11 / fast_pskip=1 / chroma_qp_offset=-2 / threads=12 / lookahead_threads=1 / sliced_threads=0 / nr=0 / decimate=1 / interlaced=0 / bluray_compat=0 / constrained_intra=0 / bframes=3 / b_pyramid=2 / b_adapt=2 / b_bias=0 / direct=3 / weightb=1 / open_gop=0 / weightp=2 / keyint=250 / keyint_min=25 / scenecut=40 / intra_refresh=0 / rc_lookahead=60 / rc=crf / mbtree=1 / crf=20.0 / qcomp=0.60 / qpmin=0 / qpmax=69 / qpstep=4 / ip_ratio=1.40 / aq=1:1.00
Language                                 : English

This is the output (from MediaInfo) for an archive video made with the ffmpeg I built locally:
Video
ID                                       : 1
Format                                   : aivx
Codec ID                                 : aivx
Duration                                 : 4 min 30 s
Bit rate                                 : 27.2 Mb/s
Width                                    : 3 840 pixels
Height                                   : 2 160 pixels
Display aspect ratio                     : 16:9
Frame rate mode                          : Constant
Frame rate                               : 29.970 (30000/1001) FPS
Bits/(Pixel*Frame)                       : 0.110
Stream size                              : 878 MiB (92%)
Language                                 : English

Can I get playback in VLC by changing the command used to encode the videos?  (I want to use h264, but it doesn't have to be 10-bit for the archive.)  Or should I just use one ffmpeg for capture (with 10-bit support), and another ffmpeg for archival output (in other words, use the ffmpeg.org binary ffmpeg to do my archives)?

aivx is simply a specific tag for 4K H.264 streams. Surprising that VLC doesn't probe the stream.
Try with
ffmpeg -i myfile.mov -c:a copy -c:v libx264 -preset slower -crf 20 -vtag avc1 myfilearchive.mov

In some cases, ffmpeg may fail to set the tag without warning. Add -strict -2 if that's the case.

In my case I needed to add -strict -2 as suggested.

In my case, -strict -2 (equivalent to -strict experimental) was sufficient; no other explicit tags were necessary.

you can attach -pix_fmt yuv420pto make it compatible with VLC and QuickTime


text:
Using delogo twice to mask a Video
I know that the below line will mask the video
ffmpeg -i "aunt1.mp4" -vf delogo=x=4:y=0:w=120:h=22 -c:a copy au1.mp4

However I want to delogo in two sections of the video in one command. I tried this separated by comma but didnt work
ffmpeg -i "aunt1.mp4" -vf delogo=x=4:y=0:w=120:h=22, delogo=x=40:y=50:w=120:h=22 -c:a copy au1.mp4

What happened that makes you say it didn't work?

I was missing the quotes

You haven't mentioned what doesn't work, so taking a guess:
ffmpeg -i "aunt1.mp4" -vf "delogo=x=4:y=0:w=120:h=22, delogo=x=40:y=50:w=120:h=22" -c:a copy au1.mp4


text:
Why this font layouts differently between AE and Microsoft Word?
I'm new to this website so I'll try to be as clear as possible.
I downloaded a font online and I want to use it in my AE CS6 composition. When I wrote something using this font, I noticed that it appeared differently from what was shown in the preview from the website.
I tried opening a Word document and write something using the same font, and I confirmed my doubts: the font is right, but AE shows it in a simil-italic style for un unknown reason. The images below show the difference between Word and AE.
The font is not equipped with an Italic version, and (as you can see from the screenshots) I wrote using the only option available: "Regular".
Do you know what may cause this issue? Thanks in advance.

What font are you trying to use?

Check if the Faux Italic option is on. It's at the bottom of the Character panel (below the font name/size).

This looks like you have the Faux Italic option activated. You can turn that option on and off using the switch at the bottom of the Character panel. Here's a screenshot of that panel with Faux Italic turned on.

You can use that option to simulate an italic (slanted) version of a font that doesn't come in that style. It's generally a bad idea to use this option, as it is subpar to an actual italic font style. The difference is that the italic style variant of a font-family is specifically designed for that purpose and differs from the regular style in more ways than just being slanted. The Faux Italics option merely distorts the individual characters, which can lead to unwanted artifacts such as illegible characters, altered grey values and aliasing.
Another possible cause of your distortion problem is any sort of distortion effect that is applied to the text layer or a superordinate adjustment layer, but I find that unlikely.

Thanks, it was quite a while since I used AE and I forgot that possibility. I just had to enlarge the "character" window to find that.

@Magnaos Glad I could help! Oh yeah I forgot to mention that .. in Premiere Pro the relevant options are often hidden behind the Show Options checkbox, in After Effects there's oftentimes just not enough space for all the panels ...