text:
How to mask footage video with text?
I want to make a footage video "shine" through a text, so that the letters serve as a mask and only what's inside from the footage will shine through. Also, 3D Camera movement should be possible afterwards.
How could I do this? I know I can create masks from text, and then copy that letter masks on my footage clip. But that will only work for 2D. How could I achieve the same for 3D?

Thats rather simple if I understand correctly what you want to achieve. One way to do it is to right click your text layer and choose the "Create Masks from Text" option. Then pre-comp your video layer and copy the masks your just created (AE creates a new solid that contains the masks) onto the video comp layer. Now make the video comp layer 3D and you can animate your camera however you want in your master comp and also go into your video comp and animate the camera there as well for some parallax effect.

Yes ok, but that would me give a 2D mask of the text letters. Can't I also get a 3D "mask" of the text letters (eg 3D extruded letters), and fill that mask (and all of it's 3d sides) with a footage clip? Because a plain 2D text will still look very plain if I animate the camera in my master comp.

Oh ok, not thats not possible with native AE effects. Thats actually something your would do in a 3D suite like Cinema 4D or 3Ds Max. After Effects now comes with a "lite" version of C4D, it integrates very nicely into AE, you might want to check that out.
The only thing you could do in terms of extruded text inside AE would be to use the RayTraced renderer or Element 3D from VC, make extruded text and use that as a layer mask but that would just be like a stencil shadow on the footage, just like a 2D text mask but with some 3D perspective inside the mask.


text:
How to apply track mattes to multiple layers?
I want to create a track matte/mask that is applied to multiple layers.
The layers should not be precomposed!
How could I achieve this, that I can just change the matte shape and this is reflected to any of the layers. Because currently only the layer right below the matte is masked accordingly, other layers not.

You can use the silhouette alpha or stencil alpha modes on a matte layer, which will matte any layers below it.
Or if that doesn't work for the composition you can use expressions. Here's how:  make your first matte layer, with its mask, and then duplicate it and put it over another of the layers you want to matte. Now with both matte layers selected press m to show the mask path property for both. Select only the new layer, and while holding alt/option click on the stopwatch next to the mask path property to add an expression to it. You'll see a pick-whip (the spiral thing) next to the expression. Click and drag the pick-whip to the mask path property of the original layer. It should say something like thisComp.layer("the name of the original matte layer").mask("mask1").maskPath

To make those layers follow the original matte layer they shoul be parented to it as well.
Of course the simpler, faster to render way is to precompose the matte layer on its own and use copies of that comp as your matte layers. Why was it you don't want to precomp?

But if I copy the precomposed matte layer, wouldn't I have duplicates, so I have to change each of them for animation changes lateron? I don't want to have a precomp of the layers where the matte is to be applied, as these are layers that must have some animation in the same precomp, and the mask should just be an addition. I'd prefer thus having the mask also inside the same composition as all the layers where the matte is to be applied.

No, you use the same precomp with only the matte layer in it, so when you make one change you affect all the copies of that precomp. Note that if you need the original footage layer to guide where you put the mask you can add it to your pre-comp as a guide layer Layer>Guide Layer

Great that works very well for my case! Just one more question: what if I really would want to duplicate the matte/mask layer, and having individual masks. Can I also copy the precomposed matte and tell after effects to tread it as an individual composition decoupled from the other one?

You'd have to go to your project window, duplicate the pre-comp and then use that duplicate to replace the pre-comp layer in the composition (select the layer in the composition and alt/option drag the new pre-comp from the project window to replace).

source: Stack Exchange

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

sort: votes


text:
Can I output video from my DSLR to a smartphone or iPad or laptop?
Pardon my ignorance on the subject; I have recently bought Sony A6000 to take video of my new borns. I have a question related to uncompressed output from this camera through HDMI. I know we can output video through this HDMI to a recording device like ATOMOS Ninja (or similar), but can we do same thing (output video) to a laptop or a smartphone or tablet (like iPad)?
I tried looking for similar question on StackExchange, but failed to find one which discusses on this exact matter. If there is any such discussion, could someone point me to that; I will try to understand from that discussion.
Thanks, NN

You need a relatively solid HDMI capture device to capture uncompressed HDMI output.  I'm not aware of any HDMI capture devices that will work with a phone or tablet, but there are options you could use with a laptop, such as the Black Magic Intensity, however, at that point, you are really probably better off going with a purpose built device such as the Black Magic HyperDeck Shuttle which takes a laptop SSD hard drive as media and records the uncompressed HDMI directly on to the drive for you.
The Shuttle will be more reliable, consume less power and be more portable than options involving a laptop and an HDMI capture interface (as well as likely being cheaper overall).

You can to a laptop using an adapter (Blackmagic make some).
If you want something a bit more portable the Atmos Ninja (or similar) would be your best options.

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


text:
Composition shows mask instead of content
I have the following project layout:
[null]
[comp1]
  mask/matte
  texture

When I'm inside the comp1 I see the content correctly. But in my main project view, I just see the mask(!) (black/white) instead of the content! What might be wrong here?

Can you post screen shots by any chance?  There are lots of check boxes and such on the layers that could be related.

Check whether you have Collapse Transformations enabled in your comp1.  It's a litte sun icon:


text:
How to move a layer only in one direction?
Is it possible to just move a layer along one axis, eg x?
I need to move many layers individually in a 3D space, but only along one axis. It would be much quicker if I could lock all axis but one, and then move along that.

It's easy to do with a quick expression:
Alt/Option-click the stop watch for the position property. You'll see the default expression transform.position is automatically inserted. The position property is an array – it contains the X, Y and Z value components. We want to lock it so that only one of the values can change. So we have to pick the array apart into its components, and then create a new array using some constant values.
So say we want to lock the layer to movement only on the X axis. We'll use the X component of the transform.position array and then put in a constant value for the Y and Z components. Say the layer's Y position is 123 and its Z position is 345. We'd use this expression:
[transform.position[0], 123, 345]

note that the enclosing square brackets are part of the expression - they turn the three values back into an array. The bit where it says transform.position[0] selects just the first component of the array (just to be annoying, most computer languages count array components from 0, so the first component is [0], the second [1] and so on).
You could refine this to make the layer easier to edit:
[transform.position[0], transform.position.valueAtTime(0)[1], transform.position.valueAtTime(0)[2]]

here transform.position.valueAtTime(n) is a function that returns the value of the position property at time n. The round brackets are the input to the function, in this case the start of the comp or 0. Then as we want just one part of the position, we then use the square brackets to stipulate which bit: [1] for Y and [2] for Z (remember [1] means the second value in the array and [2] means the third). So the layer will be locked to the Y and Z position it has at the start of the comp, and will be free to move on the X position.
To do the same with the Y position or the Z, or the scale, or rotation or whatevs, you just use the same form, but change the array index (the number in the square brackets). So to lock the movement to only the Y axis:
[transform.position.valueAtTime(0)[0], transform.position[1], transform.position.valueAtTime(0)[2]]

or Z axis:
[transform.position.valueAtTime(0)[0], transform.position.valueAtTime(0)[1], transform.position[2]]

By now you should see the pattern.
Note that for 2D layers, the array only has two components, so you'd leave out the third part altogether, so to lock a 2D layer to the X axis you'd use:
[transform.position[0], transform.position.valueAtTime(0)[1]]

Expressions are your friend!

You can move any object by dragging on the Position coordinates in the object's timeline.

Alternatively, you can constrain to a single dimension when moving an object in the canvas by putting your cursor over the appropriately coloured arrow (R, G, B, = x, y, z).  Wait for your cursor to show a letter next to it, then drag the object.

Ok, yes I know the canvas can move explicit in one direction. I thought it would be possible to explicit lock 2 axis, so that I can freehand move the elements without worrying about displacement.

I don't think it's possible..

You can also just separate the dimensions, add an expression to each axis you want to lock and type in 0 (or wherever you want the position locked) in the expression field.

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


text:
How to link an FX property of multiple layers?
I'm evaluating an after effects plugin , which has an FX property brightness and similar. I have several layers on top of each other, each letting a portion of the others shine through.
Now I want to animate these FX properties on each layer. Is it possible to create some kind of "master" keyframe control that then triggers the same FX property on all layers?

I think so.  Add a Slider (in the Effects window) to one of your tracks, then use the pickwhip to parent the value of the slider to each of the other Brightness controls.
Examples here of using Sliders and pick whips:
http://helpx.adobe.com/after-effects/using/expression-basics.html

What if my "brightness" control parameter does not show a pickwhip icon, and is furthermore inside a composition, and the slider should not be inside that comp? Also, the slider properties of the slider FX does not have a pickwhip either.

OK probably I have to use expressions here and connect the slider with the control by this expression. That works. If there is a "simpler" way please comment, otherwise I'll accept thhis.

The brightness control doesn't have to show a pick whip icon. You only have to drag the pick whip from the slider to the brightness control value (the number itself). If it's in another comp this is still doable- you can open multiple timelines at the same time in AE, and drag from one to the other.


text:
Using ffmpeg to cut out a scene by original timestamp
I have a recording (a simple, unprocessed TS from my satellite receiver, not encrypted) that has uneccessary stuff at the beginning and the ending. I want to cut out the main feature now with ffmpeg.
So I started with ffplay to get the timestamps for the beginning and the ending and crop detection:
ffplay -i "recording_xyz.ts" -vf "cropdetect=24:16:0"

This was the output for the first and the last frame I need:
[Parsed_cropdetect_0 @ 000000000625baa0] x1:0 x2:1279 y1:1 y2:718 w:1280 h:704 x:0 y:8 pts:7888683985 t:81953.624278 crop=1280:704:0:8
...
[Parsed_cropdetect_0 @ 000000000625baa0] x1:0 x2:1279 y1:1 y2:718 w:1280 h:704 x:0 y:8 pts:7888683985 t:87259.194348 crop=1280:704:0:8

The stream itself starts at timestamp 81825.820733:
Duration: 01:38:00.24, start: 81825.820733, bitrate: 12748 kb/s

With all that information, I tried to cut the desired part out (and also removing streams I don't need) and convert everything into an MKV. It turned out I don't need to crop, so I can simply copy everything:
ffmpeg -i "recording_xyz.ts" -ss 81953.0 -to 87259.0 -c:v copy -c:a copy -c:s copy -map 0:0 -map 0:3 -avoid_negative_ts 1 -reset_timestamps 1 "archive_file.mkv"

The result is an empty MKV file.
What would be the correct way to use ffmpeg to cut a specific scene identified by the timestamps out?
For reference:
ffmpeg version I'm using:
ffmpeg version N-64477-g5864069 Copyright (c) 2000-2014 the FFmpeg developers
  built on Jul  6 2014 22:10:36 with gcc 4.8.3 (GCC)
  configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libcaca --enable-libfreetype --enable-libgme --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx--enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-decklink --enable-zlib
    libavutil      52. 90.101 / 52. 90.101
    libavcodec     55. 68.101 / 55. 68.101
    libavformat    55. 45.100 / 55. 45.100
    libavdevice    55. 13.101 / 55. 13.101
    libavfilter     4. 10.100 /  4. 10.100
    libswscale      2.  6.100 /  2.  6.100
    libswresample   0. 19.100 /  0. 19.100
    libpostproc    52.  3.100 / 52.  3.100

ffmpeg's identification data for the original input stream:
Input #0, mpegts, from 'recording_xyz.ts':
  Duration: 01:38:00.24, start: 81825.820733, bitrate: 12748 kb/s
  Program 11110
  Program 11130
  Program 11140
    Stream #0:0[0x190a]: Video: h264 (Main) ([27][0][0][0] / 0x001B), yuv420p(tv, t709), 1280x720 [SAR 1:1 DAR 16:9], 50 fps, 50 tbr, 90k tbn, 100 tbc
    Stream #0:1[0x1914](deu): Audio: mp2 ([3][0][0][0] / 0x0003), 48000 Hz, stereo, s16p, 253 kb/s
    Stream #0:2[0x1915](mis): Audio: mp2 ([4][0][0][0] / 0x0004), 48000 Hz, stereo, s16p, 190 kb/s
    Stream #0:3[0x1916](deu): Audio: ac3 ([6][0][0][0] / 0x0006), 48000 Hz, stereo, fltp, 448 kb/s
    Stream #0:4[0x1917](mul): Audio: mp2 ([3][0][0][0] / 0x0003), 48000 Hz, stereo, s16p, 190 kb/s
    Stream #0:5[0x191e](deu): Subtitle: dvb_teletext ([6][0][0][0] / 0x0006)
    Stream #0:6[0x181a]: Unknown: none ([5][0][0][0] / 0x0005)

The things that appear on the console while trying to encode:
[h264 @ 0000000002cb9c80] non-existing PPS 0 referenced
    Last message repeated 1 times
[h264 @ 0000000002cb9c80] decode_slice_header error
[h264 @ 0000000002cb9c80] no frame!
[h264 @ 0000000002cb9c80] non-existing PPS 0 referenced
    Last message repeated 1 times
[h264 @ 0000000002cb9c80] decode_slice_header error
[h264 @ 0000000002cb9c80] no frame!
[h264 @ 0000000002cb9c80] non-existing PPS 0 referenced
    Last message repeated 1 times
[h264 @ 0000000002cb9c80] decode_slice_header error
[h264 @ 0000000002cb9c80] no frame!
[h264 @ 0000000002cb9c80] non-existing PPS 0 referenced
    Last message repeated 1 times
[h264 @ 0000000002cb9c80] decode_slice_header error
[h264 @ 0000000002cb9c80] no frame!
[h264 @ 0000000002cb9c80] non-existing PPS 0 referenced
    Last message repeated 1 times
[h264 @ 0000000002cb9c80] decode_slice_header error
[h264 @ 0000000002cb9c80] no frame!
[h264 @ 0000000002cb9c80] non-existing PPS 0 referenced
    Last message repeated 1 times
[h264 @ 0000000002cb9c80] decode_slice_header error
[h264 @ 0000000002cb9c80] no frame!
[h264 @ 0000000002cb9c80] non-existing PPS 0 referenced
    Last message repeated 1 times
[h264 @ 0000000002cb9c80] decode_slice_header error
[h264 @ 0000000002cb9c80] no frame!
[h264 @ 0000000002cb9c80] non-existing PPS 0 referenced
    Last message repeated 1 times
[h264 @ 0000000002cb9c80] decode_slice_header error
[h264 @ 0000000002cb9c80] no frame!
[h264 @ 0000000002cb9c80] non-existing PPS 0 referenced
    Last message repeated 1 times
[h264 @ 0000000002cb9c80] decode_slice_header error
[h264 @ 0000000002cb9c80] no frame!
[h264 @ 0000000002cb9c80] non-existing PPS 0 referenced
    Last message repeated 1 times
[h264 @ 0000000002cb9c80] decode_slice_header error
[h264 @ 0000000002cb9c80] no frame!
[h264 @ 0000000002cb9c80] non-existing PPS 0 referenced
    Last message repeated 1 times
[h264 @ 0000000002cb9c80] decode_slice_header error
[h264 @ 0000000002cb9c80] no frame!
[h264 @ 0000000002cb9c80] non-existing PPS 0 referenced
    Last message repeated 1 times
[h264 @ 0000000002cb9c80] decode_slice_header error
[h264 @ 0000000002cb9c80] no frame!
[h264 @ 0000000002cb9c80] non-existing PPS 0 referenced
    Last message repeated 1 times
[h264 @ 0000000002cb9c80] decode_slice_header error
[h264 @ 0000000002cb9c80] no frame!
[h264 @ 0000000002cb9c80] non-existing PPS 0 referenced
    Last message repeated 1 times
[h264 @ 0000000002cb9c80] decode_slice_header error
[h264 @ 0000000002cb9c80] no frame!
[h264 @ 0000000002cb9c80] non-existing PPS 0 referenced
    Last message repeated 1 times
[h264 @ 0000000002cb9c80] decode_slice_header error
[h264 @ 0000000002cb9c80] no frame!
[h264 @ 0000000002cb9c80] non-existing PPS 0 referenced
    Last message repeated 1 times
[h264 @ 0000000002cb9c80] decode_slice_header error
[h264 @ 0000000002cb9c80] no frame!
[h264 @ 0000000002cb9c80] non-existing PPS 0 referenced
    Last message repeated 1 times
[h264 @ 0000000002cb9c80] decode_slice_header error
[h264 @ 0000000002cb9c80] no frame!
[h264 @ 0000000002cb9c80] non-existing PPS 0 referenced
    Last message repeated 1 times
[h264 @ 0000000002cb9c80] decode_slice_header error
[h264 @ 0000000002cb9c80] no frame!
[h264 @ 0000000002cb9c80] non-existing PPS 0 referenced
    Last message repeated 1 times
[h264 @ 0000000002cb9c80] decode_slice_header error
[h264 @ 0000000002cb9c80] no frame!
[h264 @ 0000000002cb9c80] non-existing PPS 0 referenced
    Last message repeated 1 times
[h264 @ 0000000002cb9c80] decode_slice_header error
[h264 @ 0000000002cb9c80] no frame!
[h264 @ 0000000002cb9c80] non-existing PPS 0 referenced
    Last message repeated 1 times
[h264 @ 0000000002cb9c80] decode_slice_header error
[h264 @ 0000000002cb9c80] no frame!
[h264 @ 0000000002cb9c80] non-existing PPS 0 referenced
    Last message repeated 1 times
[h264 @ 0000000002cb9c80] decode_slice_header error
[h264 @ 0000000002cb9c80] no frame!
[h264 @ 0000000002cb9c80] non-existing PPS 0 referenced
    Last message repeated 1 times
[h264 @ 0000000002cb9c80] decode_slice_header error
[h264 @ 0000000002cb9c80] no frame!
[h264 @ 0000000002cb9c80] non-existing PPS 0 referenced
    Last message repeated 1 times
[h264 @ 0000000002cb9c80] decode_slice_header error
[h264 @ 0000000002cb9c80] no frame!
[h264 @ 0000000002cb9c80] non-existing PPS 0 referenced
    Last message repeated 1 times
[h264 @ 0000000002cb9c80] decode_slice_header error
[h264 @ 0000000002cb9c80] no frame!
[h264 @ 0000000002cb9c80] non-existing PPS 0 referenced
    Last message repeated 1 times
[h264 @ 0000000002cb9c80] decode_slice_header error
[h264 @ 0000000002cb9c80] no frame!
[h264 @ 0000000002cb9c80] non-existing PPS 0 referenced
    Last message repeated 1 times
[h264 @ 0000000002cb9c80] decode_slice_header error
[h264 @ 0000000002cb9c80] no frame!
[h264 @ 0000000002cb9c80] non-existing PPS 0 referenced
    Last message repeated 1 times
[h264 @ 0000000002cb9c80] decode_slice_header error
[h264 @ 0000000002cb9c80] no frame!
[h264 @ 0000000002cb9c80] non-existing PPS 0 referenced
    Last message repeated 1 times
[h264 @ 0000000002cb9c80] decode_slice_header error
[h264 @ 0000000002cb9c80] no frame!
[h264 @ 0000000002cb9c80] non-existing PPS 0 referenced
    Last message repeated 1 times
[h264 @ 0000000002cb9c80] decode_slice_header error
[h264 @ 0000000002cb9c80] no frame!
[h264 @ 0000000002cb9c80] non-existing PPS 0 referenced
    Last message repeated 1 times
[h264 @ 0000000002cb9c80] decode_slice_header error
[h264 @ 0000000002cb9c80] no frame!
[h264 @ 0000000002cb9c80] mmco: unref short failure
[mpegts @ 0000000002c784c0] PES packet size mismatch
    Last message repeated 3 times
[mpegts @ 0000000002c784c0] Could not find codec parameters for stream 6 (Unknown: none ([5][0][0][0] / 0x0005)): unknown codec
Consider increasing the value for the 'analyzeduration' and 'probesize' options

... stream identification data goes here (see above) ...
[matroska @ 00000000047c0980] Using AVStream.codec.time_base as a timebase hint to the muxer is deprecated. Set AVStream.time_base instead.
    Last message repeated 1 times
Output #0, matroska, to 'archive_file.mkv':
  Metadata:
    encoder         : Lavf55.45.100
    Stream #0:0: Video: h264 (H264 / 0x34363248), yuv420p, 1280x720 [SAR 1:1 DAR  16:9], q=2-31, 50 fps, 1k tbn, 90k tbc
    Stream #0:1(deu): Audio: ac3 ([0] [0][0] / 0x2000), 48000 Hz, stereo, 448 kb/s
Stream mapping:
  Stream #0:0 -> #0:0 (copy)
  Stream #0:3 -> #0:1 (copy)
Press [q] to stop, [?] for help
frame=    0 fps=0.0 q=-1.0 size=       1kB time=00:00:00.00 bitrate=N/A

After some time, ffmpeg finishes:
video:0kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown

It turned out that it is quite easy to cut by the original timestamp. Let's stick with the example I've given in the question. ffplay -i recording_xyz.ts -vf "cropdetect=24:16:0" gives you the following information about the stream:
Input #0, mpegts, from 'recording_xyz.ts':
  Duration: 01:38:00.24, start: 81825.820733, bitrate: 12748 kb/s
  Program 11110
  Program 11130
  Program 11140
    Stream #0:0[0x190a]: Video: h264 (Main) ([27][0][0][0] / 0x001B), yuv420p(tv, t709), 1280x720 [SAR 1:1 DAR 16:9], 50 fps, 50 tbr, 90k tbn, 100 tbc
    Stream #0:1[0x1914](deu): Audio: mp2 ([3][0][0][0] / 0x0003), 48000 Hz, stereo, s16p, 253 kb/s
    Stream #0:2[0x1915](mis): Audio: mp2 ([4][0][0][0] / 0x0004), 48000 Hz, stereo, s16p, 190 kb/s
    Stream #0:3[0x1916](deu): Audio: ac3 ([6][0][0][0] / 0x0006), 48000 Hz, stereo, fltp, 448 kb/s
    Stream #0:4[0x1917](mul): Audio: mp2 ([3][0][0][0] / 0x0003), 48000 Hz, stereo, s16p, 190 kb/s
    Stream #0:5[0x191e](deu): Subtitle: dvb_teletext ([6][0][0][0] / 0x0006)
    Stream #0:6[0x181a]: Unknown: none ([5][0][0][0] / 0x0005)

Most important here is the start: 81824.820733 information from the second line. Keep this number in mind.
Now we need our desired start and stop timestamps. ffplay can be paused by the space key. Pause at the desired start and the desired end. You can "navigate" the stream by clicking with the mouse in the ffplay video window. The beginning of the stream is left, the end is at the right border of the window.
When paused, you can read the following on the console:
[Parsed_cropdetect_0 @ 000000000625baa0] x1:0 x2:1279 y1:1 y2:718 w:1280 h:704 x:0 y:8 pts:7888683985 t:81953.624278 crop=1280:704:0:8

You see again a timestamp here, marked with t:. In this example, the value is 81953.624278. Same goes for the desired end of the stream. In our example, this is 87259.194348.
With this information, you can easily calculate the values for ffmpeg's -ss and -to parameters:

Let b be the stream start timestamp (here 81824.820733)
Let s be the desired start timestamp (here 81953.624278)
Let e be the desired end timestamp (here 87259.194348)

The relative starting point (in seconds) is s - b = 81953.624278 - 81824.820733 = 128.803545. For the relative ending point (in seconds): e - b = 87259.194348 - 81824.820733 = 5434.373615. Convert the seconds now to the format hh:mm:ss.msec. For convenience, you might want to use this little Python script:
#!/bin/env python3

def ts_format(d: float) -> str:
    hrs = int(d)
    rest = float(d - hrs) * float(60)
    mins = int(rest)
    rest = float(rest - mins) * float(60)
    secs = int(rest)
    rest = float(rest - secs) * float(1000)
    msec = int(rest)
    return '{:02d}:{:02d}:{:02d}.{:03d}'.format(hrs, mins, secs, msec)

def main() -> bool:
    base = input('Base timestamp: ')
    starting = input('Desired start timestamp: ')
    ending = input('Desired end timestamp: ')
    start_hr = (float(starting) - float(base)) / float(3600)
    end_hr = (float(ending) - float(base)) / float(3600)
    print('Start: {:s} | End: {:s}'.format(ts_format(start_hr), ts_format(end_hr)))

if __name__ == '__main__':
    main()

With the example above, you'll receive the following output:
Start: 00:02:08.803 | End: 01:30:34.373

With this information, you can use ffmpeg:
ffmpeg -i recording_xyz.ts -ss 00:02:08.803 -to 01:30:34.373 -c:v copy -c:a copy -c:s copy -map 0:0 -map 0:3 -avoid_negative_ts 1 -reset_timestamps 1 "archive.mkv"

I tried this with several recordings, and it always worked well. It is also very easy to incorporate cropping if necessary:
ffmpeg -i recording_xyz.ts -ss 00:02:08.803 -to 01:30:34.373 -c:v libx264 -crf 18 -preset fast -tune film -vf "crop=1280:704:0:8" -c:a copy -c:s copy -map 0:0 -map 0:3 -avoid_negative_ts 1 -reset_timestamps 1 "archive.mkv"

Potential pitfalls

If the recording goes over midnight, you might experience a lower timestamp at the end of the stream compared to the beginning timestamp. You need to find the timestamp values around the break: The highest one before the break, and the lowest after the break. For calculating the desired end, you need to add the value at the end, the distance between the stream start and the highest value before the break and the distance between the lowest value after the break and the desired ending timestamp.
The method for finding your desired start and end point is very unprecise. In my humble opinion, this is OK for TV recordings.
The method is not suitable for removing commercials.

Could have several causes. Cutting without re-encoding is always error prone.
Try to remux your ts first with mkvmerge with the desired streams and then try cutting that mkv with FFmpeg again using a simpler command like:
ffmpeg -i video.mkv -ss 81953 -to 87259 -c copy cut.mkv

Thanks a lot for your insight, I had multiple non-existing PPS 0 referenced when cutting without reencode, and some apps eg Adobe Premiere would not open it, until I did: ffmpeg -i media.ts -ss 0.04 -to 143.08 -c copy -f matroska - | ffmpeg -y -i - -c copy out.ts and suddenly Premiere likes it again. VLC had not a problem on any scenario though, as it probably assumed the next PPS it could encounter as PPS 0

The total duration of the input is 5880 seconds long, but you are attempting to create an output starting at duration 81953 seconds.
ffmpeg should provide a warning indicating this, but perhaps it did not, or maybe you trimmed it from your output. This is one reason to provide the complete console output and not just selected segments (multiple repeating lines may be trimmed).


text:
in iMovie, does adding title at the start of a clip cuts the clip portion from there?
I am trying to learn iMovie and I have a question. Does adding title at the start of a clip cuts the clip portion from there?
Scenario:
Let us assume that i have a 50 seconds clip and I want to display a 3 seconds title Before the actual clip starts. if i drag a title from the titles section of the iMovie to the start of the loaded clip, will the initial 3 seconds of my clip be removed or will the clip be extended   resulting a clip of 53 seconds (50+3) ?

Putting this as a comment for now since I don't know iMovie specifically, but in higher end video editing packages, it depends on how you add it.  You can either add a title so that it goes over top of a video (in which case the video will still play underneath) or you can set it to play before the video.  I would go out on a limb to assume that iMovie also probably allows both options, even though it is very limited.

Yes, your guess is right. iMovie has both options and I know that already but my question is something else. What happens when I set the title to play before the video for, let's say'  5 seconds. Does it cut the actual video 'content' by 5 seconds or just extend the newly encoded video by 5 seconds ?

If you put the title before the video and put the video after the title, it will extend the length.  If you put the title over the video, it will simply be placed over top of the first few seconds of video and the length will remain the same.


text:
Is there such thing as an unlimited point matte in Premiere?
Basically my problem is I have footage which I need to manually key.  I need something like an unlimited point matte which would allow me to cut an actor out of a background by hand with no limits on the number of points in the matte.  Ideally this would be done in Premiere, but I have access to After Effects as well, I just don't like using it.  Also, if this is possible to do frame by frame as an image sequence in something like GIMP I can do that to.  I'm not sure if it's possible to import an alpha channel into Premiere though.

I think you need to use the Rotobrush rotoscope tool in AE.. Good luck!  It will take a while...
Tutorial link:
https://library.creativecow.net/harrington_richard/after-effects-cs5-roto/1

Yeah, I knew no matter how efficient a tool I find, this is going to be pretty time consuming.  It's about 1800 frames.  I'll check that tool out though.

Mocha plugin for AE is also worth a look.  It's been used to roto a lot of feature films.

I'm fairly certain you can use alpha masking in Premiere.  Basically you make a black and white animated layer that provides the opacity for the footage in Premiere and the effect gets applied to combine the two layers.  I will double check when I get home to make sure I'm not accidentally thinking of After Effects though.  I sometimes cross the two in my head since I switch between them pretty readily.

Think the advantage of the rotobrush is that it will try to predict where the edges are moving to, so in theory you don't have to re-adjust every frame, only correct it when it goes wrong. In practice though, it's not that clever...

You might also want to check out After Effect's mask tracking https://helpx.adobe.com/after-effects/using/rigid-mask-tracking.html


text:
How to mirror a composition?
I have a moving solid mask composition, which forms a white line that moves vertically from the middle to the left and back.
I now want to create a copy of that composition, mirror it and link the position. So that the mirrored comp will move from middle to right and back.
How could I achieve this? Setting the width = -100% did not work.

Pre comp your layer, then apply the Mirror effect to the comp.  If your comps are 1920x1080, set the mirror centre to 960x540, and the reflection angle to 0.
I think your scaling to -100% didn't work because it's a masked layer.  You might have more luck using a shape layer to create your line, then you should be able to scale it as you suggested.

Masks transform with their layers, so that's not the reason it didn't work.

See my comment above on your answer - the mirror is needed to maintain mirrored movement - I should have made it clearer in my answer

This did not mirror the movement.

Did you unlink the scale x and y before you set it? if you don't the y will be set to -100 too. It's the little chain link next to the value.

What you described should work, masks are transformed with their layers.

There's a more convenient way of flipping a layer - by going to the Layer menu and choosing Layer>Transform>Flip Horizontal

This doesn't solve the problem of the movement - the original question says the line moves up and to the left, so the mirrored object should move up and right.  If you mirror using horizontal scale of -100%, any movement keyframes will still move up and left.  Same if you used Transform -> Flip Horizontal.  The quickest/simplest way to get mirrored movement was by pre-comping and using a Mirror effect.

I was assuming that the OP had already precomped - since he said: "I now want to create a copy of that composition".


text:
How to apply an offset to one axis only in 3D space for linked expression position?
I have a 3D position property linked with another composition. I want the z-axis to have an offset in the linked expression. But how can I apply an offset just to one axis?
The current expression of the 3D position:
comp("Main COMP").layer("text").transform.position

The position property is an array, which is a container with a number of components in it, in this case the three position values: x, y and z. To specify an array you use this notation foo = [A,B,C] where A, B and C are the individual values – constants, variables, whatevs. TL;DR to create an array you put a number of comma-separated values in square brackets.
Conversely you can access any of the components of an array using this notation: foo[n] where foo is the name of the variable, and n is the index of the component you want. Note that the index starts at 0, so to get the first component of the array you would use foo[0], the second foo[1] and so on. Arrays can also be multi-dimensional, so the address could be foo[0][5][99] for a three dimensional array. But you probably don't need to worry about that at this point.
In your case you want just the third component to have the offset. So you need to unpick the original array using the foo[0], foo[1]… notation and then put it back together as an array using the [A,B,C] notation. Thus:
thePos = comp("Main COMP").layer("text").transform.position;
[thePos[0], thePos[1], thePos[2]+offset]

where offset is whatever your offset is, obviously.
The first line is just for convenience - it assigns the position property as the value of the variable myPos. You could do it all on one line, but it gets a bit hard to read:
[comp("Main COMP").layer("text").transform.position[0], comp("Main COMP").layer("text").transform.position[1], comp("Main COMP").layer("text").transform.position[2]+offset]


text:
Captured video in Adobe Premiere - is the next step to make subclips?
I've captured a lot of mini dv tape footage in adobe premiere which now sits in the library box in the bottom left. I've logged time in and out points of clips I want to keep with pen and paper. Should my next step be to do that by creating sub clips? Or is there another way?

Workflow is really up to whatever works for you.  Unfortunately, you kind of did things backwards from the workflow I would have used.
With mini-DV tapes, the fastest thing I've found is to do the clip logging with the batch capture tool and then run a batch capture to have each clip captured as an individual file. It does take a little bit of practice to get good at using the batch capture tool for logging, but it makes it easy to recapture a particular clip down the road and organizes clips much more easily for you.
After the fact, your best bet is probably just to drop each clip in its own sequence or simply insert them all on to your timeline and work from there if you have a decent idea of how you want the rough edit to look.
You could also split the clips if you wanted as long as you are using DV format which will not lose additional quality in each additional export.  It really comes down to whatever will be the easiest for you to work with though.  Everyone can be a bit different when it comes down to how they want to organize their stuff.

my filming skills are not good enough for the batch capturing and because I'm self-shooting often with a lot going on around me, then its better I watch it first, decide what is good and go back to create clips. I was hoping to create subclips because then I don't actually have to physically do anything to the file. It just keeps the meta-info of in and out point.

I think you misunderstand what batch capture is. Batch capture means you log your clips in advance while watching it, then have it capture each clip individually.

I've just watched this tutorial https://www.youtube.com/watch?v=KQQxR7ZehJ0 about batch capturing. Because I have so much footage and I can't remember what it all is, then I cant say 'oh this is the in point' and 'this is the out point' without watching it first in a lot of cases. Also I'm kind of making backups of the footage here too. However, I'm totally learning by doing here, so I might end up facepalming later on.

Yes, there is a lot of face palming as you learn, but that is half the fun. :)

I've seen tutorials that talk about using subclips as an alternative if you have long clips of footage like an interview that is not by default a series of small clips. Where do you recommend I go from here? I've got a project with a bunch of .avi files captured in the library (1hr long each). Whats the best way to edit them onto the timeline? Can you recommend some resources?


text:
How to make MP4 and MPG-2 720 x 1280 videos? (aspect ratio 9:16)
I need to make an video for an advertising panel. The video is nothing special ( It's just a still image for 10 seconds ), but I don't just know how to make MP4 and MPG-2 720 x 1280 videos.

You can use the Free FFmpeg Mux/Demux...
Type onto ffmpeg/bin the following
ffmpeg.exe -i artwork.jpg -vcodec h264 -s 720x1280 -aspect 16:9 -ss 0 -t 10 -b 3072k outputvideo.mp4

I made a .bat file with the same properties in ffmpeg/bin. I also put the artwork.jpg in the same place, but the video didn't work. I am using the static 64-bit version of the program.

Hello Eva. I didn't explain myself why the video doesn't work. I try this formula and it works!. Perhaps you haven't got all the necessary codecs installed onto your windows machine. One easy solution for this is install VLC multimedia player. You can get VLC on www.vlc.org. When you have VLC installed try to open your MP4 again and I'm sure that you'll play it perfectly! ;-)

You need to make sure your artwork is at least 720x1280 in size.
Then open a video editing package like Adobe Premiere, Final Cut, or an animation package like After Effects.
Create a project with a canvas of 720 x 1280 pixels, and drag your artwork into it.
Make the timeline 10 seconds in duration (set in and out points on your timeline).
Export your timeline either in a higher quality video format first (like Apple ProRes 422 if you're in Final Cut), or export straight into the format your want (not all editing software exports in these formats).
If your software doesn't export in these formats, convert your ProRes file into the correct format using something like Adobe Media Encoder, Compressor, MPEG Streamclip, or Quicktime Pro 7.
Make sure you know what bit rate, frame rate, and color depth the video should be encoded at - ask whoever you're delivering to.  Set these when you do the export.
NB - I'm assuming 9x16 isn't a typo - most displays are 16x9 (16 horizontally and 9 vertically).  But as you said advertising displays, these are often in "portrait", i.e 9x16 aspect ratio.


text:
I'm looking to make a Nuke expression: I want the maximum value of an animation curve of another node
I want to feed a custom made NoOp node with a floating point slider with the maximum value of an animation curve from another node. What would be the right expression to do this?

There's not a built in method for that, but this Python expression will return the highest keyframe in an animation curve:
max((key.y for key in nuke.toNode('Blur1')['size'].animation(0).keys()))

where Blur1 is the node and size is the knob.
Paste this into your expression editor, being sure to select the Py toggle.

This won't interpolate or extrapolate keys. It only iterates over every keyframe.
No guarantees on the speed of this either. It might bog down the node if you have a keyframe on every frame or something.

Would the name of the Knob be "intensitydata.r" If I wanted the maximum intensity of the red channel? Or how would I put this in python?

Actually it would just be intensitydata and the .r would be the (0) that comes after animation (0=r, 1=g, 2=b)


text:
Do cartoon creators have to pay software owners?
Do they have to pay Adobe if they use Flash to animate? Do they have to give them money in production, broadcasting, or otherwise?

As a media creator, you pay for use of the tool, not for the use of the result from using the tool.  Different companies have different systems, but you either buy the software up front or pay a fixed subscription to have the tool available to you.
It does not matter if you are using it for personal use (though sometimes educational copies will get you a discount for non-commercial use), making a video for your ad supported youtube channel or producing the super bowl.  The cost of the software remains the same.
It's similar to buying any other tool (say a hammer).  You can either buy the hammer or rent it from a hardware store, but you don't pay for every house you sell that you build with the hammer, you just pay for the hammer.

Just wanted to note that this isn't true for all software, many game engines charge royalty fees.

Actually, for the most part it is true for video game engines being used to wholesale make animation.  What royalties are generally required for is using creative assets.  This applies whether using the models and base animation of a game or stock footage from a stock footage site.  The dividing line is creative content.  You don't (generally) pay royalties for tools.  You almost always pay royalties for creative content (unless it is royalty free licensed).

Once you bought a license for the software you are good to go. In case of Adobe you simply subscribe to the Creative Cloud. There is no royalties for the usage of software, like for the usage of creative content like video or audio footage or images from other artists.

Is payment for a creative cloud subscription a one-time thing? ADoes licensing needed for each copy of flash?

No they changed their model to a monthly /yearly subscription. As soon as you are not subscribed you can not use the software anymore. But you can still show and use the stuff that you made with the software.


text:
1080/25p bitrate 15.7Mbps vs 10.4Mbps
In Nikox Coolpix compact camera there are two video modes for 1080/25p so they have the same number of pixels, aspect ratio and number of frames per seconds. The only difference is bitrate 15.7Mbps and 10.4Mbps. So what is the difference between that, what additional information is stored using 15.7Mbps?

The higher bitrate will store more detail in your video.  Most video cameras use file compression to throw away parts of the image that they think the viewer won't notice, in order to reduce the size of the file.  Even though both files would contain the same number of pixels, areas of low detail would be compressed more in the lower bit rate image.
Lossy compression of files is a trade-off between image quality and file size.
Wikipedia has a good example of what happens - the two files below are the same resolution, but one is much more heavily compressed.
http://en.wikipedia.org/wiki/Compression_artifact


text:
Converting MLV to Prores
I have some Magic Lantern Raw footage that I want to convert to Prores 444 for use in this workflowenter link description here.
I understand the process, other than the use of LUTs.
In the process, an application called MLRawViewer is used to convert .mlv files to ProRes444 files. In this conversions process, a LUT is selected. My confusion lies in the selection of the LUT.
I want the ProRes file to be as flexible as possible for grading later in the process, and I have no desire to use a LUT to give the footage a particular look.
So which LUT should I choose? What should inform this decision?

What choices are available?

@JasonConrad The options are: Log-C, C-Log, Linear, HDR global tone map, Log 8, sRGB, Rec.709, S-Log2

sRGB and Rec.709 are saturated and contrasty.  They're for final delivery (709 being the broadcast standard for TV, and srgb for computer monitors).  You'd only use those if you liked the way they looked and decided that you didn't want to do any further adjustment.  As for the rest, I use S-Log2 a lot, and am pretty comfortable with it, both with our Sony cameras, and Blackmagic.  I've used C-Log a little, and it's similar, so it's probably OK, but I haven't graded any ML RAW, so that could be a totally different beast.  As I say below, trial and error, my friend.

I'd pick something that looks flat and unsaturated.  Those are usually the ones designed to retain detail.  If you see clog or slog2, those are good.  Rec 709 will throw out info, so don't use that.

What should inform this decision?

Trial and error.  A lut is really just a starting point for your grade.  Try some different ones out.  If it absolutely butchers the color, then it's probably not a good place to start.  If you see clipping or banding, then you've chosen a lut which was meant for a different situation.  As you try each one, look at the trace on a waveform monitor and vector scope.  If anything goes out of bounds, pick something else.  Do you notice any kind of granularity, banding, or stair-stepping in the traces?  Look for one that's more even.

Thanks for replying. You say 'A lut is really just a starting point for your grade', but in this situation, where I am discarding all of the sensor data, why would I want to do anything other than retain the maximum possible amount of data? Why might I want to do something else?

It depends on how you plan to work with the footage.  From your question, I assumed (perhaps incorrectly) that you plan to throw away the RAW, keep a lut-ed version of the prores, and edit and grade from that.  To answer your question, "why might I want to do something else":  You might save the RAW, and export rec 709 proxies to an editor (rec 709 because it's ok to look at, not good to grade.  Editors don't like staring at log all day.  proxy b/c it edits quickly).  He returns the timing of his edits to you.  You do your colorist work on the original RAW, no quality sacrifice, effort minimal

If that doesn't make sense, I'll add it to my answer and do a longer writeup.  I was just trying to fit an explanation of "round tripping" into 600 characters.

Thank you very much. That has really helped clear things up in my head. If you have time, an expanded answer would be great for me and for anyone coming to this question fresh.

authors: Владимир Морозов


text:
Premiere Pro CC 2014: Select multiple items in media browser
First of all, sorry if I'm using the wrong term for the area you see in the screen. I need to select two specific files to merge them. Unfortunately I'm not able to find the corresponding shortcut. If I use Shift I can select multiple items in a row, but not the first and the third. Is there any way to accomplish this?

That's the project window (not to be confused with the media browser, which you can use to browse your computer and import media assets into your project). You can add or remove assets to your selection by holding down CTRL / CMD while clicking on them.

On English keyboards the STRG key is the CTRL key.


text:
Adobe Premiere - Restore Audio to A/V Clip After Deleting
Say I add a bunch of Audio/Video clips to a sequence, then delete all the audio (Alt-select it and delete); I work on it for some time, close Premiere, re-open.. etc.,
Is there any way to restore the audio to any of the clips that were deleted?
I know I can technically go through each clip, check its timeframe in the clip inspector (i.e. start-time, end-time), open the original clip, reselect that timeframe exactly, and then drag that over the original clip, but with over 30 clips, this is obviously very time consuming. Does anyone know if there's a built-in way in Premiere that allows you to restore the audio to the tracks again?

There's a semi-automatic way to do this – semi automatic because it involves only typing three keystrokes over and over: xf,, xf,, xf,… — you could train your cat to do it!
Here's how it goes:

make sure the audio is enabled for the tracks you want to restore (you only need to do this once)

park the playhead over one of the clips.

hit x (for Mark Clip) to set the in and out point to match the start and end of the clip:

hit f for Match Frame. This will display the current frame from the source clip in the viewer window – note that the in and out points will match those of the timeline clip

hit , to overwrite the clip. Note that this will add the audio tracks as denoted by magic sparkles in the pic below. The magic sparkles only appear if you really believe in them

The playhead will now be parked at the start of the next clip. If it's one you want to reinstate the audio for, then repeat xf, untill you're done, otherwise go to the next clip – down arrow – and repeat.

It looks a bit complicated but you can do it all by the keyboard just by typing xf, (and optionally down arrow) over and over. Note that you have to hit x before you hit f because once you hit f it sets the focus to the viewer window (you can jump back to the timeline by hitting shift3).
Note that this works with FCP too, except you replace , with F10, and you have to press the down arrow each time.
My goal with all NLEs has always been to edit completely from the keyboard, using the mouse as little as possible.

Great! You saved me a few hours of work. The only thing is replace is dot (.) for me now. Thanks

This isn't working for me. Mac Premiere Pro 2017. Hitting the keyboard shortcuts doesn't do anything. And the commands are grayed out in the menu.

You are more than awesome!

The sparkles appear if you believe in them?! I want to promote you. In every job you could ever have.

@phantomraa Great! Also I need a new computer, and some extended time off over Christmas, if you can just organise that, thanks.

As far as I know, there is no quick way to bring the audio back into a sequence after deleting it. I learned this the hard way a while back, and now, I either drop the unneeded audio into a muted track or use subclips to store the audio/video together.
If you haven't done much trimming of your clips in the sequence, and the clips happen to come from separate files in your project panel, then you are in luck. Just right-click the clip in the sequence and select 'Reveal in Finder'. Your in/out points should still be defined in that file. You may have already figured this out though.
If you have done a lot of trimming of your clips in the sequence, you will need to go back to the file and manually set the in/out points. I hope this helps!

For those who also have After Effects installed:
Fastest way for me is to copy the clip, paste it in After Effects (any composition). Enable audio by clicking on speaker icon, copy it again and paste it into Premiere.


text:
Recording of Lectures: Tips for compressing video with mostly still images
I have several recordings of lectures, some with powerpoint slides, some with writing on a blackboard. They are several GBytes each. However most of the time the video is a still image (besides maybe some movements of people, occasional shaking/adjustment of the camera).
How can I compress the video effectively without loosing sharpness and the audio? I thought about making the frame rate super low (say 1fps, or even less). Even better would of course be something that analyzes the change in the image and only updates if the image changed by a certain amount.
The output format doesn't necessarily need to be a video, something like a html format or a ppt/libreoffice presentation would be fine too. However the Audio should be in sync with the images, and it should not require an exotic software to play it back.
I think I could program something that does the job, but I would really prefer to just use an existing software, dump my video file into it and get the result out. Who has suggestions? Did anybody try something similar?
Cross-platform or Linux solutions are preferred :)

Modern video codecs are already very good at dealing with temporal redundancy.  You probably don't need to do anything extra unless you're targetting an extremely low bitrate.  You could probably go down to 10fps without having things look bad, and that should help.
I guess you want to leave the resolution fairly high, so it's easy to read the chalk board.  Downscale to maybe 720p or even 480p.  Unless you have a really fancy camera, there will probably be noise in the images, and the noise is input data that a video codec will try to faithfully reproduce, costing more bitrate.  So downscale as much as you can without starting to lose useful detail, to minimize the non-useful detail in the input.  e.g. -vf scale=-1:480 to scale to 480 pixels high, with width to keep aspect ratio the same.
Capture something high bitrate / high quality, then take it home and
ffmpeg -i input.mp4  -c:a opus -b:a 40k -pix_fmt yuv420p -c:v libx264 -preset slower -x264-params keyint=1000:nr=200 -crf 25  output.mkv
(links to docs in Professor Sparkles' answer.)
Use a higher crf for less quality / smaller files.  Using a denoise filter on the input before feeding it to x264 could help, too, or just use x264's builtin noise reduction.  (which is done in a way that will help compression the most).
Adjust the target bitrate for opus if you want more audio quality.  40kib/s should be ok for speech.  If your video player will only seek to keyframes (instead of decoding to the seek target from the previous keyframe), you might find keyint=1000 is a bit too high.
You could play around with -vf mpdecimate to make VFR video and not even send similar frames to the encoder, that doesn't save much unless you turn up the similarity threshold to the point where the video would look like it got stuck for a sec.  Or if motion smoothness isn't important, you could use -vf framestep=2 to drop every other frame.  And then I think you need to use -r 15 if your input was 30fps, or ffmpeg will be confused.
x265 takes way more CPU to encode and play back, but looks even better than x264.
VP9 is also an option.  I was just looking at it, and there's a --enable-vp9-temporal-denoising build option.  That might help vp9 decide that the differences between frames in much of the picture are just noise, and not encode them at all.

Update: downscaling isn't always best.  Especially with x265, keeping the important details spread out over more pixels makes the codec keep them better.  Unless the video is really noisy, often best to leave at native resolution and let the codec decide which detail to discard as you lower the bitrate / raise the CRF.  (Of course, encoding goes much faster at lower resolution.)  But if you do downscale, use a scaler that doesn't introduce extra ringing by sharpening.  e.g. bicubic, not lanczos.

H264 is actually a pretty good codec for such content. Its based on motion vectors and you can define in which intervals the codec should encode a full frame, everything in between will be based on the last and next keyframe (simplifying here).
x264 is probably the best h264 encoder out there and luckily open source. Probably the best way to use it is through ffmpeg (open source, cross-plattform).
Here is a good general guide for x264 and ffmpeg:
https://trac.ffmpeg.org/wiki/Encode/H.264
Especially take a look at the -tune option, it has a preset for still images, so perfect for you.
And this guide shows some of the advanced options like keyframes/GOPs.
https://sites.google.com/site/linuxencoding/x264-ffmpeg-mapping

-tune stillimage is not for low-motion video, it's for using x264 to compress possibly a single high-quality image from a non-video camera.  It just sets -aq-strength 1.2 --deblock -3:-3 --psy-rd 2.0:0.7  Human visual perception works a little differently when studying a single frame in detail, vs. a changing video.


text:
after effects how to Zoom-in but keep same size (zooming and cropping)
I am using After Effects, i am zooming an image using two keyframes and the scale setting, but as i zoom in, the image gets bigger.
I want the image to have the zoom-in but keep its assigned size. So i want something like "crop" on top of the zoom.
How to do this?

There are a couple of ways to achieve this:

Use a track matte. Create a layer with the desired size / shape and put it above the zooming layer. You can use masks to create any shape you want, or use an image that has an alpha channel, or even just a copy of the original layer without the animated scale. On the zooming layer go to the Tack matte / mode panel (you may have to hit f4 to toggle between switches and modes), and choose Alpha Matte "layer name". This will turn off visibility for the top layer, and apply its transparency to the layer below.

Use a layer with the stencil alpha transfer mode above your original layer. This does a similar thing to a track matte, but it's not just for one layer, it's for every layer below the matte layer. And the visibility for the matte layer has to be on for it to work.
Use a preComp. Pre-comping replaces the original layer (or layers) with a composition containing just that layer(s). So you want to pre-comp the layer with the animated Scale property – select it and hit shift-cmd/ctrl-c or choose Layer>Pre-Compose from the menu. In the dialogue that appears choose move all attributes into the new composition. Now you can add a mask to the pre-comp to crop off the scaled edges of the layer. A pre-comp is similar to what you'd get if you rendered the layer as a movie and then brought that back into your comp (but with a few advantages). As the pre-comp is not zooming, just its contents, the mask will crop the edges as the contents get bigger.


text:
How can I create Motion titles with fixed-length transitions?
I'm using Motion to create text overlays for a video that I'm editing in Final Cut Pro X. Each time an overlay appears on the video, it uses a transition to slide into view and to slide out again when finished. I've created a custom title in Motion that behaves as follows: the text is visible for 7 seconds, with a transition lasting 10 frames at the start and end.
Here's my problem: sometimes I want the text to be visible for a different duration. If I add my custom title to the FCPX timeline, then change the duration of the title from 7 seconds to 14 seconds, the transitions take twice as long to complete. It looks silly! Is there any way that I can make a title whose start/end animation takes place over a fixed duration, but where the total duration of the title can be customized freely?

Is it still in the middle? If so you could make the title say, 20 seconds long and trim it in the middle.

You can use Build-In and Build-Out markers. If you right click (or control-click) on the top of the timeline, you'll get a pop-up menu with an option to add a marker. When you add it, you'll get a green timeline marker. Double-click it to edit it and choose whether it's a mandatory or optional build-in marker. Everything before that should play at the same speed in FCPX as it does in Motion. The area between the build-in and build-out markers will stretch to fit, and everything after the build-out marker will play as it does in Motion.

If the text stays in the same place in between the transitions, you can just freeze frame one of the middle frames for as long as you need.
Otherwise, you should probably re-render your title from Motion without the transitions. Then re-create the transitions in FCP as needed.


text:
Trimming mp4 videos
I have a GoPro4 video, came out in mp4. If I try and trim in GoPro studio, not only have to jump through hoops but I then have to export - choose an encoding etc...itsends up being a .mov file (i assume for further editing) but  is larger than the original, even after being trimmed. If I compress I lose quality !!
Now if I use quicktime trim feature - it really does seem to trim it and leave it I'm its exact same format.
How is quicktime doing this? Why doesn't GoPro studio, nor iMovie, Nor Final CutPro X seem to be able to do a simple trim ???

Cutting a video at a keyframe, without the slow and lossy process of decoding and re-encoding it, is only possible in the special case where you aren't applying any effects, overlays, rescaling, or anything.  And where you're happy with bitrate and decoder requirements of the input.  (e.g. h.264 High Profile, Level 4.0)
Perhaps fancier editting software thinks it's beneath them to detect that special case, and copy a subsection of the h.264 video and AAC audio bitstreams to a different file?  (in either the same or a different container format.  e.g. you could remux to mkv, or m2ts.)  Or maybe you just need to look in a menu somewhere to activate that special case.
Using ffmpeg, you can do what I think you're saying Quicktime's trim is doing:
ffmpeg -ss start_offset_seconds -t length_seconds -i input.mp4  -shortest -codec copy -movflags faststart trimmed.mp4

That runs about as fast as your hard drive can copy, since it's not re-encoding the video.  (codec = copy, not libx264).
To more directly answer your "how is it doing this?", google up remuxing.  "mux" (short for multiplex) is the term for putting multiple streams into a single output stream/file.  (1 video + 1 audio + 0 subtitles is the usual case.)

I see. Yes it runs the process very fast. Thanks for that and the extra info.


text:
Power for lav mic plugged into a Zoom H5?
I have a handheld Zoom H5 recorder and just ordered a lav mic (Voice Technologies VT4001).
The Zoom's spec sheet lists its inputs as 2 "XLR/TRS combo jacks" capable of providing phantom power at +12V, +24V and +48V.
I will be using the lav wired.
Question: which is the simplest way to connect and power this mic from this recorder? Do I need some sort of adapter or will a simple mic jack <=> TRS cable do?

You will need an electret power supply that accepts phantom power and then will hook it up via a standard XLR cable to the H5.  If you have the bare wire version, you will also need a connector to put on the bare wire so that it can tie in to the electret power supply.  You will also need to make sure that +48v phantom power is turned on on the H5.  (Alternately you could use a battery powered electret power supply, but I'd recommend sticking to using phantom since it is available.)

Thank you for your reply. Would something like this solve it by itself?

@laramichaels that is the power supply portion. You still need a cable end for the mic to be able to plug in.


text:
Configuration sufficient for HD video editing
I'm considering buying this pc for editing my HD videos.
Do you think it will be powerfull enough for editing and rendering?

Intel® Core™  i7-4790 processor
16 GB Dual Channel DDR3L 1.600 MHz
2 TB HDD (7.200 rpm) + 32 GB mSATA Solid State-HD
NVIDIA GeForce GTX 750Ti 2GB DDR5

http://www.dell.com/be/p/xps-8700/pd?oc=cdx8718&model_id=xps-8700#overrides=cdx8718:5~736438
Thx

Short answer: Yes.
This machine is sufficient in all aspects. You will certainly benefit from the i7-CPU and the additional SSD, the available RAM. Also you'll have access to graphic acceleration using the CUDA technology of the NVIDIA GPU, which will greatly reduce the time required for rendering.


text:
How to trigger multiple canon cameras at the same time?
I'm searching for a solution to synchronize multiple camera video recordings. Is there a simple way to hack the camera trigger? I also thought about sound solutions, but trigger all cameras at once would be most elegant of course.

I've done this to combine the video onboard an aircraft with the video shot from the ground, and if both of my cameras were good quality, it worked pretty well. I tried to merge the videos using time codes, but that doesn't work even though they both had GPS- things with identical time-codes just weren't happening at the same time.
So, here's what I do now... (and this is only valid for video for obvious reasons)

Start all the cameras
Before the scene starts, use a clapperboard or your hands to record a sharp, short sound.
a. It is important to be equidistant from the cameras for this to work
b. If all the cameras can also "see" the clapperboard, that's better
After the scene ends, clap it again! This is very important! You may also want to create syncing sounds during the scene if it's a long one.

The last part is to deal with the fact that not all video plays at the correct speed. For example, when I mixed clips shot at 29.97 with clips shot at 30, they didn't line up after a few minutes.
The over-arching point here is, you will need to use something physically "in the video" to sync with, and in my experience syncing time codes or trying to start the cameras simultaneously just doesn't work.


text:
Are there only a few standard video frame rates?
In modern digital video, can a video file be marked with any arbitrary frame rate? Or are only a few specific frame rates widely supported? By "modern" I mean software players like Quicktime, VLC, Roku, game consoles, etc. I'm curious both what the video standards themselves say are allowed frame rates and then what actually works in practice.
I understand that 24 fps, 25 fps, 30 fps, 50 fps, and 60 fps are widely supported standards. HandBrake also offers 5, 10, and 15; are those standard options? Could I use any FPS number I want?  And what about the non-integer rates like 23.976 and 29.97; are they actually treated differently by software than 24 and 30? Also I see references to "variable frame rate" in H.264 streams; does that actually work and if so, what uses it?
My specific question is what the best way is to encode some 8mm film scans. The source is 16 fps, the 8mm film standard. Right now I'm doubling every other frame to bring it up to 24 fps which works OK, but I'm wondering why I can't just mark the video as 16 fps. FWIW I've produced H.264 mp4 files with Handbrake at 15 fps and found they only played back correctly in VLC. Mac Quicktime played them too fast, probably 24 fps.

There are several "standard" frame rates, but there are getting to be so many that supporting arbitrary framerates is easier than specifically supporting many specific ones.  This is especially true for software players, like VLC.
More and more support exists for VARIABLE fps.  (VFR, variable frame rate).  This is where the interval between frames within the same video isn't a constant.  Many video container file formats (like Matroska (.mkv) or MPEG-4 (.mp4, closely related to Apple's .mov)) don't even store a FPS number, but rather a time base (e.g. 1/30th of a second), and then each frame has a timestamp as a multiple of that time base.  It just so happens that the interval between each frame is one or a small integer number of units of the time base in a CFR (constant frame rate) video.
Security-camera footage with near-duplicate frames dropped would be an obvious use-case for VFR.  Even moreso if it's being compressed with a simplistic video codec that doesn't take good advantage of temporal redundancy (with inter (p and b) frames).  (play around with ffmpeg -vf mpdecimate to drop near-dup frames.  Use -vsync 2 if outputting to mp4, because for some reason it isn't the default for that muxer, but it is for mkv.)
Another case is modern smartphones.  For example, my brother's Moto G (2nd gen) records VFR videos.  It lowers the frame rate when the sensor needs more light.  Some of the output from running mediainfo on an mp4 created by the phone's software, recorded indoors:
Bit rate                                 : 9 999 Kbps
Width                                    : 1 280 pixels
Height                                   : 720 pixels
Display aspect ratio                     : 16:9
Rotation                                 : 90°
Frame rate mode                          : Variable
Frame rate                               : 16.587 fps
Minimum frame rate                       : 14.985 fps
Maximum frame rate                       : 30.030 fps

Playback of a single VFR video stream is not hard.  The software just gets the next frame ready to display, sleeps until it should be displayed, then wakes up and displays it.
Things get a bit more complicated when you take into account the fact that humans can only see video frames when a monitor displays them.  VFR monitors exist, but are still rare.  (google for g-sync freesync).
Changing the displayed image while it's being scanned out to the monitor results in ugly tearing of the video (commonly seen when playing a game with vsync off).  This limits a player to changing the displayed image at 50 or 60Hz.  (CRTs support arbitrary vrefresh rates, within a range, but it's complicated to cook up modes with all the timings correct, so most people just used a few fixed refresh rates.  And now people have LCDs which only support a fixed refresh rate anyway.  Until freesync monitors are more widespread anyway.  I'm really looking forward to that. :)
So with video frame rates that aren't a multiple or a factor of the monitor refresh rate, some frames will be displayed for 3 monitor refreshes, and some for 2, for example, even if the video is meant to be at a constant 25FPS (on a 60Hz monitor).
Things get more complicated when you want to work with multiple clips and fade between them, or picture-in-picture, or various other effects.  It's a LOT easier to write video editting software if you can assume that all the clips have a new frame at the same time.  (They force clip alignment to snap to whole frames).
This is why NLEs (like kdenlive or pitivi, to pick random Free software examples), are more likely to force you to a fixed FPS, and drop/duplicate frames from your clips to make them match that frame rate.  The CFR you choose can be arbitrary, but it typically has to be constant for the whole "project".
(Do any NLEs fully work with VFR clips, and produce VFR output in that case?)
So in summary, once we have variable-sync monitors and OSes, the only thing holding us back will be video editting, I guess.  And broadcasting, since apparently CFR is a big deal for that, too?
In case you're wondering, the 29.970 (actually 30000/1001) and 23.976 (actually 24000/1001, from telecining) annoying non-integer frame rates are the fault of color NTSC.  search for 1.001.  If only they'd been willing to risk a few B&W sets not being able to handle an extra 0.1% frequency for the audio subcarrier, the world would have been spared this nonsense.  (I think I saw another article somewhere that made it sound more like many sets would have been fine, but they weren't sure about perfect compat.  Wikipedia makes it sound like no sets would have handle a 0.1% higher audio subcarrier.  IDK the facts.)
Annoying frame rates are one of the lesser sins of broadcasting, though.  It's really interlacing that's been the bane of video quality on modern (all pixels lit at once) screens, and that wouldn't have changed.  I still don't get why interlacing was kept around for HDTV.  Why was 1080i60 was ever defined, instead of using 720p60 to get the same temporal resolution for sports and stuff?  It's similar to 1920x540p60, but with a stupid vertical offset between odd and even fields that requires a lot of computation on the receiving end to make it not look horrible.
edit:
For your use-case, I'd absolutely suggest archiving at the native FPS.  Don't throw away any information by dropping frames.  Don't dup frames and make your files bigger (or make your h.264 encoder spend more time noticing the duplicates and outputting a frame full of skip macroblocks that only takes 20 bytes for the whole frame).
In the future when we hopefully all have freesync displays that can play any framerate, you'll want to undo your pullup to 24fps so your video plays more smoothly!  Or if freesync somehow doesn't catch on, or the display that comes after LCDs is CFR, then rate conversion is probably best done at playback time anyway.  It's not like 24fps even plays perfectly on a 60Hz monitor.  (I don't visually notice the fact that some frames are displayed for 3 * 1/60th while some are displayed for 2 * 1/60th, but it's true).
If you're having problems with Quicktime, then IDK.  Maybe make sure Handbrake is making files with the right framerate set in the h.264 bitstream, as well as the container.  (Yes, h.264 headers can apparently store a frame rate, separate from what the container says.  See the docs for mkvmerge --fix-bitstream-timing-information.  And try using it with --default-duration 16fps to make an mkv file.  Then mux that back to mp4 and see if that fixes quicktime?)  Or maybe there's a way to do it with mp4 tools in the first place.  See for example: https://askubuntu.com/questions/370692/how-to-change-the-framerate-of-a-video-without-reencoding
I can guarantee that arbitrary frame rate mp4 is valid, and even variable framerate mp4 is valid.  If Quicktime plays it wrong, it could well be Quicktime's fault.  Or maybe Handbrake's fault for making the file wrong.  I usually just use ffmpeg directly, because I'm a command line ninja.

By history 24 FPS come from kino (movies). The film was in phototape and the speed was selected to make movements smooth.
25 FPS come from the frequency of power in Europe , 50 Hz (50 FPS is from same source, but actually double it). Actually TV in Europe was 50 FPS but half frames, they are interlaced
30 FPS come from the frequency of power in USA, 60 Hz (60 FPS is from same source, but actually double it). Actually TV in USA was 60 FPS but half frames, they are interlaced
16 FPS is not so wide spread as standard for professional purposes, so maybe thats the reason it is not in use in most of current software. Moreover such FPS will not "smooth" enough the fast movement. I have one crazy idea how you can make 16 FPS to match better 24. Juts get every even and odd frames and make something like average between them :)

Thank you for the help but it does not answer my question. I'm aware of the origins of 24, 25, 50, and 60. What I'm asking is if other framerates are expected to work.

To answer your question - yes, you can generally encode a video file in any frame rate you'd like. (Though some software may choose to limit you to make the software simpler.) The question is will the delivery format you choose support it, and will the playback device support it?
If you have 8mm film at 16 fps, I'd encode it at 16 fps if I knew the playback devices I wanted to support could handle it. If not, I'd probably use software that supported optical flow (sometimes called motion estimation) to encode it at 24 fps, which is likely the nearest frame rate likely to be supported by encoding software, decoding software, and most playback hardware.
Software (or hardware) that supports optical flow will generate in-between frames based on the motion of objects in your video. Rather than either repeating a frame or even blending 2 frames, it generates a new frame that is usually pretty close to what would have actually been recorded had you recorded at the output frame rate.

I'd encode at the native frame rate, to avoid throwing away any information, or duplicating any frame to create extra work for a codec.  Also, in the future we'll hopefully all have freesync displays that can play any framerate.  If not, rate conversion is probably best done at playback time, esp. if we're talking about archival timescales.

There are set television and film video standards that most videos conform to.  A computer can often display video from multiple framerates, however some TVs may have trouble with odd-ball frame rates as they may use more specialized display circuitry.  Even on a computer, the frame rate actually displayed may not match up with that of the video file, depending on the supported refresh rates of the monitor.
Yes, the non-integer frame rates are displays differently.  They are known as drop frame and they exist primarily for legacy reasons.  When played back, one frame is dropped (from timecode) every so often in order to make up the time difference and the frames are spread at the proper rate to keep it smooth.  This more has to do with sync stuff in legacy formats though and preventing sync issues that are no longer relevant.
You can use non-standard frame rates and it should play back fine on PCs but it will not conform to standard video for things like Bluray and may not play back well on some TVs.  (And even on those it works on, it will likely do a pull down in real time to conform to a standard frame rate, where as a pulldown done in advance would likely result in better quality.)

@user1118321 yes, and thank you for pointing out it could be more clear.

Your question is not about common rates, it is about what rate you should use to digitize your movie. The answer: you should use the original rate if possible, because you want to preserve the source in digital form. Then you can convert it to whatever frame rate you need for viewing. In the olden times it would usually mean 24fps for theatrical presentation and 29.97fps, interlaced for video. Nowadays you can do almost anything, but you need to have a good source, that matches the original as cleanly as possible.

No, my question was about common rates. And was adequately answered years ago.

Now when we have VRR (G-sync and Freesync) it is not such a problem (works in mpv natively), but yes, there are standard frame rates used by DCI (Digital Cinema Initiatives), it is 24000/1001, 24.000, 60000/1001, 60.000, 50 interlaced PAL, 30000/1001, 30.000, 120.000 and 120000/1001. That is all. Now, of course you should preserve the original frame rate. But are you sure it actually what you think it is?

This answer doesn't really fit to the question.

Nobody even mentioned 24.000 here, which is now more and more a standard. Like Netflix Originals, they do not reencode it to 23.976. Or many Europe Blu-rays.

I think you haven't looked at the other answers, several people talked about 24 fps. But what I mean, you need to read the full question text, it's not only about compiling a list of standard frame rates but it's about a specific use case: what fps to use for converting 8mm film scans which are originally 16fps? All I want to say is, if you put more effort in your answers and be specific towards the question, you'll get upvotes. I don't want to criticise you, it's your first post anyway, just want to tell you how you can improve.

A few other notes.  First, 48 fps is becoming more popular and common thanks to The Hobbit and now YouTube's support for the framerate.  Secondly, 30 fps is usually actually 29.97 fps and 60 is usually about 59.94.

Actually, 30 doesn't always mean 29.97.  Sometimes it really is 30.  Same goes for 24.  23.98, 24, 29.97, 30, 50, 59.94, and 60 are all perfectly valid, commonly used framerates.  The ones with decimals in them are meant to be compatible with broadcast television in various countries, but they're still fair game on the intwebs too.  Some video camera manufacturers do "lie" about their framerates, though.  A camera marked 24p might actually deliver 23.98 in an effort to spare the consumer both the headache of banding issues and the technical details behind it.

@JasonConrad Frame rates aren't always rounded decimals, but for most consumer cameras they are.

@KCMcLaughlin - actually, it is becoming increasingly likely on progressive scan devices to drop the drop frame and just go straight up integer frame rates.  29.97 and 23.976 are purely legacy at this point and have been increasingly getting replaced with pure integer frame rates.

@KCMcLaughlin Color NTSC was never 29.97fps.  It was and still is 30000/1001.  Similarly, 24p content telecined onto color NTSC will actually be 24000/1001.  Also, my digital camera (lumix) records 30fps, not 30/1.001.  A/V would desync if I played back a different number of frames per 48ksamples of audio.

authors: Валерий Заподовников


text:
Interpolate Effects in After Effects
I have an image in After Effects that is slowly growing. After 5 seconds, I want the image to quickly grow. When I do this however, using 2 transition effects, the 'joint' at which the 2 transition animations connect looks a bit odd, because there is this sudden change in the velocity of the speed it's growing at.
Is there a way to have it interpolate between these 2 effects so it seems like the transition/scaling has a smooth increase in speed?

Are you simply scaling the image up? Can you add a screen shot of your timeline?

Yes, do it as one effect and use the graph editor to use a non-linear curve.  You can alter the curve to respond however you'd like then.

Simply click on the graph looking icon next to your parameter that you are keying on so that it will appear in the graph editor.  Then open the graph editor (icon closest to the timeline on the top (looks like a graph).  Select an option such as Auto Bezier or Auto Ease In or Auto Ease Out as you desire.  Auto Bezier will give you more control over how the curve responds by dragging the bezier anchors (the ones that appear off to the side of the end points.)
Also, don't use a transition effect, use a scale with keyframes.

yup, I agree, a powerful tool (the visual graph) that allows to add believable motion and scaling to objects. I usually overshoot and wobble/swing my effects before stopping it.


text:
How is "definition" (SD, HD, UHD) actually defined?
OK, so at first it might sound like a stupid question but I'm trying to get my head around all these definitions...
It seems that they don't have a specific resolution, but they do at the same time. It's as they have their own resolution but also are part of a group of resolutions.
Wiki says:

HD

720i
1080i
1080p

UHD

2160p
4320p
8640p

But generally we say that 1080i is HD and 1080p is FULLHD.
UHD has resolution 3840 x 2160 and 4K is 4096 x 2160 but 4K is UHD. Same vertical resolution (2160) but different aspect ratio, making the horizontal slightly longer by 256 pixels. And it also includes 8K...
Is UHD a resolution, a group of resolutions or both? If it's both, why?

The problem is that definitions such as HD, UHD and 4k etc. are partly hype. Marketers for AV equipment like to be rather elastic with the truth, hence the rather rubbery definitions. They're not standards such as ATSC or DVB, or graphic display resolutions such as VGA, WXGA etc., they're really just buzzwords.
There are other complications - like the different broadcast standards for SD — so that SD PAL is 576 visible lines and SD NTSC is 480 lines — or non-square pixels in digital video meaning that even a 16:9 HD 1080p image can be either 1440x1080 or 1920x1080*. So it's pretty understandable that you're confused.
For what it's worth, the general consensus is that:

SD refers to 576i / 480i (with the unusual EDTV variant being 576p and 480p). Display resolution is 768 × 576 PAL or 720 × 534 NTSC, often the actual pixel resolution is reduced, as in the case of DV: 720 × 576 PAL or 720 × 480 NTSC, with non-square pixels
HD refers to 720p and 1080i / 1080p. The display resolution is 1280 × 720 or 1920 × 1080, but sometimes the horizontal pixel resolution is reduced, e.g. HDV which is 1440 × 1080 with non-square pixels. You could also say that resolutions higher than this are also High Definition. So in one sense it's anything that isn't standard definition. Note that there is no 720i.
Full HD or FHD means the 1080 flavour of HD (either interlaced or progressive)
2K describes the Digital Cinema Initiative resolution of 2048 × 1080, this resolution is based on the historical resolution of scanned super 35mm film. As with 4K it is a little slippery, and can sometimes be used to describe FHD. As the wikipedia article states it describes content "having horizontal resolution on the order of 2,000 pixels". So in other words: near enough is good enough.
QHD or Quad HD - 2560 × 1440 is a whacky one, it's twice the resolution of 720p. The "quad" refers to there being four times the pixels of a 720p frame. Not to be confused with QFHD - see below.
UHD refers to 3840 × 2160, and like HD also sometimes to higher resolutions like 4K and UHD 8K
QFHD is 3840 x 2160 "Quad Full HD", the quad referring to the fact that it has four times the pixels of a FHD frame, which sounds better than saying it has twice the horizontal and vertical resolution. QFHD = UHD
UHD 4K - 3840 × 2160, is double the HD 1080 frame size, and is also sometimes called 4K, even though the horizontal resolution is less than 4000 pixels. UHD 4K = UHD
UHD 8K or FUHD is 7680 × 4320. I'm guessing that as the FUHD sets hit the shops they'll be called "8K" by the salespeople.
4K usually refers to Digital Cinema Initiatives 4K which is 4096 × 2160 but the term is sometimes used to refer to UHD 4K
Similarly 8K should properly refer to 8192 × 4320 but is also applied to FUHD

Note that there are cameras such as the Red cameras that shoot in-between resolutions such as 3K, 5K and 6K. But that's just for production, the finished media will usually be cropped / scaled to a more standard resolution for display or broadcast.
TL;DR If you're trying to define anything in technical terms and want to be unambiguous just give the pixel dimensions; terms like HD, UHD etc are really FUD. They're more for marketing than anything else.
Edit: Here's a handy chart:

pdf version available here

*not to mention that the broadcast signal has hidden lines, meaning for example that an analogue PAL broadcast picture actually has 625 lines, 49 of which are blanked

The usual shorthand is to just count the vertical lines, with the assumption of a 16:9 aspect ratio.  (4k may change this, since it's ~19:10, and counts the horizontal.)  It's a pretty silly way to operate, because most movies are wider than 16:9, so they are 1920x880 or whatever, but still called 1080p.  IDK if counting vertical rez is a holdover from interlacing (which seriously hurts vertical resolution, thus making it an important number).  Or more likely it's a holdover from analog, where there were a specific number of vertical lines, but horizontal was fully analog.

TL;DR summary: unless you're trying to sell something with buzzwords, just say what you mean.  Like 480i60, or 1080p24, or 3840x2160p30, to make up some examples.  Or optionally leave off the refresh rate and say W x H, or 1080p.

@PeterCordes Counting vertical lines is a hangover from analogue. Horizontal resolution was measured in MHz, being the bandwidth of the signal.

OK, so they are buzzwords. 4K is not better that UHD. @PeterCordes The problem with just saying the vertical is that the aspect ratio can change, meaning the resolution could be 2K aswell. Anyway, "buzzword" pretty much answers it. Thanks!

Well 4K is better than UHD if by 4k you mean DCI 4K, but often 4K is used as a synonym of UHD. As an example, the first thing that came up when I searched for 4K monitor is this: http://amzn.to/1F411dG which is described as being both UHD and 4K in the blurb (it's just UHD, but why spoil a good pitch with facts)

@BBking: yeah, esp for ?x2160, it's going to be a good idea to say 3840x2160p30 or 4096x2160p30, when you care about the distinction.  Or when talking about 1920x800p24 content or something, I think it's a bit silly to call it 1080p, even though it's almost totally clear that's what you meant.

re: edit.  nice chat, if you can see the bottom left corner :P.  But I think "buzzword" is better than FUD, because they're not really creating doubt about OTHER resolutions, just trumpeting themselves.  I don't think the confusion about the different buzzwords properly counts as FUD.

"Display resolution is 720 × 534 NTSC" <-- this can't be right. NTSC is an analog signal format, originally meant for rendering on a CRT. Fairly sure there's no provision for a TV to interpolate extra 27 lines per field. As Wiki says, the equivalent square resolution is 640x480.

I think the display resolution is referring to the resolution on a computer screen in that case. The analogue signal doesn't have a horizontal resolution per se. You're right that PAL and NTSC are analogue, but there is a lot of digital content created for analogue broadcast using the respective dimensions.

The most common NTSC scheme on computer displays is to set a PAR of 10/11, which is applied horizontally to get a display res of 640x480. In Photoshop, create 2 canvases of 720x480 (square). Place them side-by-side and change one to NTSC aspect. It gets squashed horizontally rather than stretched vertically.

In fact, the VGA standard was set with those dimensions specifically to make it easier for TV-out usage.  The only S/W I know that insists on 720x540 for use in a NTSC-standard output is DVDLab Pro. Which software do you use that has 534 for NTSC creation?

I don't work with NTSC footage at all, I'm fortunate enough to live in a PAL country. So I would have copied and pasted those numbers, probably from Wikipedia


text:
Post production automated addition of text
I'm a software developer who has a video that has been pulled from a livestream event in which attendees commented on the video as it was running. I've got the data on when each comment was made and the text and am wondering if anyone is aware of software that I can 'push' text into the video in an automated manner with?
More precisely I'd like to use some sort of command line tool to be able to pass some text (maybe font and font size as well), a frame/time to display the text, a frame/time to remove the text, and I'm guessing some sort of coordinate rectangle (being able to transition the text to a new location over time would be amazing but not necessary) and have it rendered into the video.
Hope this makes sense, happy to clarify anything further.

You could do this by making subtitles from your data streams and then either playing them back on a media player that can display subtitles, or rendering them into the video.
Most subtitle formats are very simple ascii files — to demonstrate, here's an srt subtitle file:
1
00:00:01,046 --> 00:00:02,540
This is my home.

2
00:00:03,560 --> 00:00:05,110
I'm living here.

3
00:00:05,110 --> 00:00:08,640
My name's Nickel
Mundabi Ngadwa Nickel.

It is pretty easy to generate them from any data source, as long as you have start [and finish] times. You can then insert them into a video file as a subtitle stream using ffmpeg:
ffmpeg -i inputvideo.mp4 -i inputsubtitles.srt -c:v copy -c:a copy -c:s mov_text outfile.mp4

Any player that is capable of displaying subtitles will be able to display them. SRT subtitles like these don't have formatting info though, so the format will depend on your player's settings.
Other subtitle formats have more formatting capabilities. Here is an Advanced Substation Alpha subtitle file:
[Script Info]
ScriptType: v4.00+
PlayResX: 1920
PlayResY: 1080

[V4+ Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, OutlineColour, BackColour, Bold, Italic, Underline, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, AlphaLevel, Encoding
Style: Default,Univers,56,&Hffffff,&Hffffff,&H0,&H0,0,0,0,1,2,0,2,10,10,16,0,0

[Events]
Format: Layer, Start, End, Style, Text
Dialogue: 0,0:00:01.05,0:00:02.54,Default,This is my home.
Dialogue: 0,0:00:03.56,0:00:05.11,Default,I'm living here.
Dialogue: 0,0:00:05.11,0:00:08.64,Default,My name's Nickel\NMundabi Ngadwa Nickel.

so basically you have the style definitions in the [V4+ Styles] section and the content in the [Events] section, with timing info for each bit of text. You can define multiple styles, and you can add effects and inline formatting.
You can insert them into a video file (you'll need to use the Matroska video container because mp4 doesn't support .ass subtitles),
ffmpeg -i inputvideo.mp4 -i inputsubtitles.ass -c:v copy -c:a copy -c:s mov_text outfile.mkv

or you can "burn them in" by rendering them into the video stream thusly:
ffmpeg -i inputvideofile.mp4 -c:v libx264 -crf 20 -vf ass="inputsubtitlefile.ass" -c:a copy outputvideofile.mp4

So you can see it's not beyond the capabilities of a fairly simple shell script to do it.

Awesome. I'd visualised them as subtitles and will certainly see if one of the options above meets the requirements. The one issue I'm anticipating is that there are small periods of time where multiple large comments were submitted. If, say, I display each comment until the next comment was posted they would be way too much text to read in too little time. I was hoping there might be some way to 'stack' comments vertically. It's probably something for me to play with to see how it looks before I look for other answers :)

I belive there is an "overlap" option in the ASS definition, I'm pretty sure that it can stack overlapping comments, because I've had it do that to me when I didn't want it to.


text:
Photoshop Layer Blending Goes Away When Imported into After Effects
When I import my Photoshop file into After Effects, the blending options I used on the layers (like drop shadow, stroke, etc) disappear, but they do show up when I view the composition file. I know I could apply each blending option permanently in Photoshop, but is there another way to just make it show up in After Effects? Thanks!

Are you talking about blending modes or layer styles? Have a look here maybe: https://helpx.adobe.com/after-effects/using/blending-modes-layer-styles.html#layer_styles

If you want to be able to edit your layer styles from Photoshop inside After Effects, you need to do the following:

Save your photoshop project as a .PSD file.
Import it into After Effects with the following options-
Choose "Import Kind: Composition (retain layer sizes if you wish)
Set Layer Options - Editable Layer Styles

Double click on the comp that is created.  You'll see a series of layers in your timeline, which should correspond to your layers in Photoshop.
If you pop open the triangles next to the relevant layer, you should see the layer styles, as shown below:


text:
What's the minimum software for reliably live-streaming a conference?
With a DSLR's HDMI-out feeding into a Mac, what's the minimum necessary software to do a live web broadcast from a conference?

UStream is $99/month and up.
YouTube has a live streaming service, but it's tough to (a) trust Google and (b) trust a free product.

Other than the stream service, is there other software that I would need to get? If so, what's the cost?

The minimum software is hardware.  You want specialized hardware for doing top quality live streaming encoding reliably.  You could use something like the Black Magic ATEM television studio which includes 4 inputs and real time stream encoding capability to produce the conference really well or could use a cheaper stream encoder device that simply produces a direct stream.
You then need a CDN to handle distribution of the stream.  You can either use advertising supported options like Youtube or you can use commercial ones you pay for, such as UStream or any number of other services.  That's fairly independent of the streaming hardware you use.  Your end point just produces the stream, which just needs to be reliable and high quality, preferably specialized hardware.

We've tried a software only solution, and I very much dislike it.  I'm not going to name any names, but I will say that we had to buy a new laptop for the sole purpose of running the software with any amount of reliability. Wish we'd just gone hardware from the outset.

Other than fewer inputs, would a smaller, cheaper product like this one have disadvantages compared to the ATEM you mentioned? http://www.bhphotovideo.com/c/product/892453-REG/Blackmagic_Design_bdlkulsdzminrec_Ultrastudio_Mini_Recorder.html

@NathanLucy - there are cheaper streaming devices available, however the device you linked to is not a streaming device, but rather simply a capture device.  It does not have the hardware for a high quality real time encoding, but rather just translates the 1s and 0s of the signal coming from the camera to something the computer can read.  You need something with a high quality real time encoder built in (for example something like a LiveStream Broadcaster or similar.  I just suggested the ATEM since it offers a lot more bang for the buck since you can actually produce the stream with it.

@NathanLucy - We have the ultrastudio mini recorder.  In fact, that's what we use to get the video signal into our streaming laptop.  Love the ultrastudio mini.  Hate the streaming software.

Or something like Mevo: https://mevo.com/mevo-plus/

I use Streaming Video Provider - they give me the platform to broadcast live and a live chat integrated to it, while streaming, so that I can chat with my viewers while lecturing. I highly recommend their service:
http://www.streamingvideoprovider.com/video-cdn-live-streaming-cdn.html

You can use several streaming servers for free with limitations. My favourite is Wowza Streaming Engine. Flash Media Server is also a solution. Hardware requireiments are increasing as fast as the number of users.


text:
Linux - looking for a way to produce analog effects for video
I am looking for a way to make analog video effects like those:
You may want to turn the volume down a bit:

If there's no convinient way to do it i can head to electronics stackexchange for instructions on how to make some effect adding PCB's

Can you be more specific about which effects? I can explain most of them, but it's not clear which ones you're talking about. I see the analog equivalent of FCP's BadTV, Kaleidoscope, Insect Eye, as well as some that look like simple programs running on a C64 or TRS-80 era computer.

@user1118321 i mean 0:00 to 0:03, 0:14, 0:26, whirl at 2:49, and etc. i'm just looking for a software/or even algorithm to make them. I'm a programmer so i can write some stuff. My favourite would be 2:50 to 3:00, that blackness at 0:59. Of course they dont have to be exactly the same. just looking for a way to make some similiar effects.

I can't watch the video: "The uploader has not made this video available in your country"

Have you tried compositing it with Blender? I think you can achieve pretty much what you want with it.
Look for tutorials but here is an example. This is a tutorial for creating a hologram, but you can take the part on how to create the horizontal lines from the cathodic ray TVs.

Thanks a lot. I knew blender could edit videos but i didn't know it had so much power! It's much better than the stuff i used before.

It really is!, I am amazed how open source free software can be much better than comercial counterparts.