Change Output file name in AfterFX .jsx script I am rendering a project several times, and use a script to change some of the input. However, I have not figured out how to change the name of the output file in the script.

This is basically my script. I left the details of my modifying function out as they are irrelevant.

app.beginSuppressDialogs();
{
    var projectFile File("C:\\AfterFX\\MyProject.aep");
    app.open(projectFile);
    MyCustomDataExchangeFunction();
    app.executeCommand(3800);
}

I found the right property that has to be changed and wrote a function that does the job:

function renameComposition(newName) {
    var curComp = null;
    for (var i = 1; i < app.project.numItems +1; i++) {
        if(app.project.item(i) instanceof CompItem) {
            curComp = app.project.item(i);
            curComp.name = newName;
        }
    }
}


FFMPEG: is it possible to offset output frames from a selection of specific frames? I'm doing some ffmpeg (4.1.3) transcodings by extracting specific frames from the source, in this case, the source can be either a movie or an image sequence, all working fine with the following command:

ffmpeg -i source.mov -vf select='eq(n\,2)+eq(n\,80)+eq(n\,150)' -vsync 0 -frame_pts 1 frames_%04d.jpeg

In the case of a source image sequence, I only need to specify the start number (since my frames usually start in 100 or further):

ffmpeg -start_number 94 -i source.%04d.png -vf select='eq(n\,2)+eq(n\,80)+eq(n\,150)' -vsync 0 -frame_pts 1 frames_%04d.jpeg

But the issue is that the frame numbers that I get match the exact numbers that I asked for, which are those required from the select filter and start at 0, in the example of the image sequence, you can see that it actually starts at frame 94, and technically the movies replicate the same, their first frame is the same as 94 in image sequence, and i will love to have a way to get the output numbers be offset by a certain number so they match the corresponding "source" frame.

I already tried adding a -start_number at the end before the output, which works with regular transcodes, but it seems not to work in combination of -frame_pts

I will love to be able to do something like this:

ffmpeg -start_number 94 -i source.%04d.png -vf select='eq(n\,2)+eq(n\,80)+eq(n\,150)' -vsync 0 -start_number 94 -frame_pts 1 frames_%04d.jpeg

And get frame 96, 174 and 244 instead of 2, 80 and 150.

Is there a way to do that ?

Thanks in advanced!

start_number is ignored with frame_pts, so a workaround is needed. A generic option output_ts_offset is available but it takes timestamp rather than frame number, so we first set the framerate of the images input as 1.

Use

ffmpeg -start_number 94 -framerate 1 -i source.%04d.png -vf select='eq(n\,2)+eq(n\,80)+eq(n\,150)' -vsync 0 -output_ts_offset 94 -frame_pts 1 frames_%04d.jpeg


How to start a freelance editing company? I am 17 and I want to start a freelance video editing company, using Motion and Final Cut Pro X.  Only problem is, I have no idea how to go about starting it.  Where are some good places to begin?

Depending on where you live, there will be some specific steps you need to take in order to start up your own business (which you'll ultimately want to do if you want to start charging people for your services).

Other than that, I'd recommend that you start out by collaborating with some kind of non-profit organisation, if you can find one that have a need for the kind of work that you offer. This way, you'll get some exposure, you have something concrete to show to potential clients, and you start to build a network. Next thing, try to land a job where you at least get paid something; to get paid, even if it's just a really small amount, is a big step if you've never received payment for your work before.

From there, just try to increment the amount you're getting payed every time you take on a new job. As long as the increment is small enough, you should improve fast enough to justify the new pay-grade.


Flickering when doubling shutter speed I have a Nikon D750 and cannot figure out the logic behind video (or still photos in live view) and flickering. I live in Norway, so the electricity is 50 Hz. If I shoot video at 1/50 or 1/100 second I get no flickering when using indoors (1080p 24 fps). However, if my shutter speed is increased to 1/200, 1/400 and so on I get flickering again. Does anyone know why this is happening? I also tried to record video at 1/200 and play back (to ensure that it is "real" flickering and not just an issue with the live view preview) and the issue persists. I though any multiplier of 50 should provide a flicker free video, but this appears to just be the case for 1/50 and 1/100 second. Does it have anything to do with the readout time of the sensor/rolling shutter somehow?

Sadly this isn't how it works.
It could work with 25FPS and 1/200 if the shutter is precisly on the light impulse.

Also keep in mind that even if the electricity is 50Hz, the light could have a refresh of 100Hz.
Or you were just lucky that the shutter allways was on the light impulse.

Solution:
Well, sadly you don't really have a direcr solution for this one. But youbhave two Options:
1. Buy yourself some Video Lights (Sometimes also normal lights have a label "Flicker free" those should work too)
2. Do not shoot with such high shutter speeds.
If you know 180° rule and just do it for artistic reasons, skip this part:

You should allways record with dpuble the shutter of your FPS: 25FPS=>1/50 50FPS=>1/100
This will give you the most natural look.
If you choose a higher Shutterspeed, the footage will kinda look robot-erisch and unnatural.
If you choose a lower shutterspeed, it will have more motion blur and feel almost dreamy.

But you may want to use this for artistic reasons, a slow shutter for a dream sequence or a faster shutter for sport video where you wsnt to see everything and stop the video.


Why is compression rarely included as a builtin effect? I've bought a new analogue mackie mixer that I'm very happy with, but if I need one effect it would be compression. The mixer comes with 16 builtin effects and not a compressor. Is it expensive to make or why is compression not included? Instead I have reverbs and echoes which are not very applicable for the dry sounds of a small room that I want to create.

While you often see compression in the effects section of editing software, it is dynamics rather than actual effects.  In the traditional sense in the live world, compression is not considered an effect.  The software world simply does it that way because they are all software filters, but even then they are often in a dynamics category.

Compression, Expansion, Gating and Limiting are all dynamics.  I'm not sure if the effects hardware could do compression, but the controls for the parameters on the effects are certainly too limited.  You need attack, release, ratio, threshold at least and gain and soft/hard and auto attack/release options are common.  You can't adjust these with the very basic effects controls provided in the board.

There are boards that have built in compression, but they list it under dynamics normally.  There are also stand alone compression units you can get that you can use the inserts to feed the signal to.


stick an layer positon on another left up corner of a square layer in After Effects I was wondering about a expression that stick a layer position on left up corner of a square solid in after effects, so that when the scale of the solid changes, the stick position follow the corner all around. Can someone help with this? Tks

The position of any point on a layer in terms of its location in the composition frame is given by the layer space transform function toComp(). Since the top left of a layer is the origin in After Effects, from the point of view of the solid its top left is going to be [0, 0]. So we find the position of the point [0, 0] on the layer in terms of the comp thus:

thisComp.layer('<name of the solid>').toComp([0,0])

Apply that to the position property of the layer you want to stick to the solid.


Display one decimal point after a whole number after divided by 10 I have a slider-controlled source text which I try to sync with the corresponding graph bar. What I need is, to display one decimal point after the value of the slider is divided by 10. That is, if the slider's value is 80, I want to display the value, 8.0 on the source text. Of course I need the zero, after the 8, which is a whole number.

For recent versions of AE (AE 2019+)

you can use the javascript Intl.NumberFormat object, which does all the formatting for you without any tedious string munging and regex and all that carry-on.

var sliderVal = thisComp.layer("controller).effect("206")("Slider");
Intl.NumberFormat('en-AU', {minimumFractionDigits: 1, maximumFractionDigits: 1}).format(sliderVal/10)

the en-EN part is the locale string, and is your preferred locale, in other words, your culturally specific way of displaying numbers (en-AU is for Australia, and uses . for the decimal separator and , for the thousands separator). This makes it super easy to format, because it handles things like thousands separators, currency symbols and even what characters you want. You want it in Chinese decimals? Sure use 'zh-Hans-CN-u-nu-hanidec' and it will look like

一,六二九.二

The second parameter is the options, and here we get to specify things like minimumFractionDigits and maximumFractionDigits. You can also zero-pad the number with minimumIntegerDigits, so a zero-padded number with 5 digits and one decimal place would be specified thus:

Intl.NumberFormat('en-AU', {minimumIntegerDigits: 5, minimumFractionDigits: 1, maximumFractionDigits: 1}).format(theNumberToFormat);

Read the docs here

It's worth noting that the usual suspect for number formatting someNumber.toLocaleString(), which is much simpler, doesn't work for what you want. For some reason in AE's implementation of JS it always returns two digits and adding maximumFractionDigits as an option doesn't work.

For earlier versions of AE

Here's how to get the 1 decimal place after the number:

var n = Math.round(theNumberToFormat *10)/10;
(n % 1 === 0)? '' + n + ".0": n

The first line rounds off any digits after the first decimal, the second is for when the number is an integer (when n % 1 is 0, % being the modulus operator which returns the remainder of the first number divided by the second), which would normally display with no decimal. If it is, it treats the resulting number as a string and adds '.0' to the end of it. If you want thousands separators you need to do some further trickery, that's a common JS question on SO, e.g. here.

var n = Math.round(theNumberToFormat *10)/10;
n = (n % 1 === 0)? '' + n + ".0": n
n.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");

The last line is fancy regex voodo, I don't know exactly how it works, it's got something to do with lookaheads and whatnot. But it works.


Configure file naming & presents in Adobe Media Encoder I'm running the latest version of Premiere Pro & Encoder (CS6). Encoder has a watch folder capability to automatically encode files, but it defaults to Flash output with a specific preset & gives the file the name of the original sequence selected in the Premiere project.

What I'd like to do is drop a Premiere project file in a watch folder and have my rendering server pickup the file and start encoding it but I want to configure a specific output file type, present & name the output file the name of the Premiere project file. I can't figure how to do this or if it is even possible (aside from the watch folder & encoding).

The current project I'm on has over 100 video outputs and we're looking at 1 Premiere project per output. This is just the first project... looking at many more in the future so working on a workflow now.

You can change the format, once you add a watch folder to your watch folders window, click the F4V under the format tab, and you can configure how you want each video from that watch folder to be set as...

Furthermore if you click the output folder destination, you can change the filename and destination in which the movie will be saved to.

Hope this helps


AE Counter Expression (0.0M views) I'm trying to work out a counter that simply goes like:

2.5M views

At the moment I've got this expression working along with a Slider Control:

var num = effect("Slider Control")("Slider")
num = Comma(num) + "M views";
[num]

function Comma(number)
{
number = '' + Math.round(number);
if (number.length > 3)
{
var mod = number.length % 3;
var output = (mod > 0 ? (number.substring(0,mod)) : '');
for (i=0 ; i < Math.floor(number.length / 3); i++)
{
if ((mod == 0) && (i == 0))
output += number.substring(mod+ 3 * i, mod + 3 * i + 3);
else
output+= ',' + number.substring(mod + 3 * i, mod + 3 * i + 3);
}
return (output);
}
else return number;
}

This though only makes my text layer go like:

2M views

I've tried already replacing the first line with:

effect("Slider Control")("Slider").value.toFixed(2)

But this adds a decimal followed by a comma normally, it doesn't work anyways on this expression but maybe it can help.

Thanks in advance.

Here's my cheat sheet for numeric text animations like this:

slider = (effect("Slider Control")("Slider").value);
tidying = (Math.round(slider * 100))/100;
SourceText = "$" + tidying + "bn" +"\r" +"DEBTS";

the .value is sometimes needed to force AE to look at the slider as a number, not as an object.

tidying is being done to round up to 2 decimal places

\r gives a line break

text is appended with +”text”+

you can comment out some text   /* like this */

So in the example above, you would get an output like this:

$5.23bn
DEBTS

So for your specific example, try something like this:

slider = (effect("Slider Control")("Slider").value);
tidying = (Math.round(slider * 10))/10;
SourceText = tidying + "M views";

To specify showing a decimal place at all times (displaying "2.0" when your slider is set to "2"), use the "toFixed" function, like this:

slider = (effect("Slider Control")("Slider").value);
tidying = ((Math.round(slider * 10))/10).toFixed(1);
SourceText = tidying + "M views";

Screenshot:


How to reduce background noise in the video I am creating a video tutorial to upload into youtube , but after recording with the help of camtasia i am unable to remove the noise form the video.

Note : I am able to remove the system noise like clicks etc., but unable to remove the noise created by vehicles outside my home.

Is there any way to develop quality videos in this scenario

This answer (and the video link included within it) tells you all you need to know.

The long and the short of it is that good audio is essential to good video, and getting good audio requires its own set of techniques, practices, considerations, and, in many cases, gear.

Sound attenuates at a 1/(r^2) rate for point sources.  Unfortunately, an automobile roaring through your walls functions more like a area source, not a point source, and thus decays very little from one end of the room to another.  Nevertheless, a headset can put a microphone very close to your mouth, and that can push the room noise floor down fairly far.  You might also consider making videos between the hours of 2AM and 4AM, when vehicular traffic is minimal.


Video capture device for senior citizen My father has a large collection of video tapes that he wants to transfer to digital format.  He's brilliant, but getting up in age and I'm finding that he is having an increasingly harder time with technology as years pass.

He's tried using a stand alone VCR/DVDR unit, but I cannot get the unit to record to DVD in spite of meticulously following the instructions and using approved media.  The entire process is complex to begin with, so even if this device worked (it is several years old) it is not a good choice due to the complexity.

I thought the ION VCR-USB player is an ingenious idea, but reviews say the software is atrocious.

Are there proven capture devices (analogue to digital) for PC that also have reliable, simple to use software?

The worst part of transferring old VHS to DVD is that it has to be done in real time as VHS is linear access and analog. Here are two ways I know of that work. One will eat your time the other will eat your wallet.

1) for about $35 or less you can get a transfer device which connects the output of your VHS machine into a USB interface to your computer. There are a bunch of these out there, they are all about that same as this:

http://www.newegg.com/Product/Product.aspx?Item=N82E16815306013

It comes with software to capture the VHS program and "software included to burn full screen video capture, edit and create DVD" but you can take the captured mpeg files and put them in any video DVD authoring suite too. The software is easy to learn, you can start transferring quickly.

I did this process 3 years ago, I must have saved over 50 VHS tapes. So the cost was less than $40 but I surely put more than 40 hours into that project.
:>

2) Costco and many other large chains have video transfer services, e.g.:

http://www.costcodvd.com/videotape_to_dvd.aspx

Prices range from vendor to vendor, $9 to $20 per transfer.


What is the correct MPEG-2 FourCC? In my attempts to encode a video to MPEG-2 in an MOV (which seems to be a valid combination, at least according to Wikipedia), using ffmpeg (-vcodec mpeg2video) and other tools, I have become extremely confused about the FourCCs as well as seemingly related limitations on container formats. I have found:

m2v1: This is the default FourCC used by ffmpeg when encoding MPEG-2, but it is unplayable in all media players I have tried (VLC, Windows Media Player, mplayer, and QuickTime Player). It also does not seem to exist in any FourCC databases I have found. Forum posts are rare and are related to old Mac software and compatibility problems regarding this code.
mp2v: I can force this code with ffmpeg. It is then playable in all common media players. However, MPEG-2 videos encoded with other encoders (such as Handbrake or Prism), to AVIs, do not use this code, they use mpgv, which makes me suspicious.
mpgv: I can force this code with ffmpeg as well, but only when outputting to an AVI (and Handbrake uses it too but only outputs Matroska and MP4). Ffmpeg fails when I attempt to output MOV. Forum posts also indicate trouble with the mpgv + QuickTime container combination.

I'm very confused. Why are there different FourCC's for this, what is the correct one to use, how is it related to the container and, at the end of the day, if I want an MPEG-2 in an MOV what do I do?

I guess by "correct" in the title I mean compatible with the most common players; least likely to cause problems for normal people with stock software.

As a sub-question, VLC describes mpgv and mp2v as "MPEG-1/2 Video". So, if I see a video with FourCC mpgv, is it MPEG-1, or is it MPEG-2? I suspect my lack of understanding of how all the MPEG versions are related to each other is coming into play here.

Strictly speaking, fourcc is the codec ID used by Microsoft. It has been adapted for use with many other formats, thus making it seem like a standardized ID format, but it's not.

ffmpeg, in particular, seems to only consider XDCAM standard MPEG2 for inclusion in MOV.

From the source code:

else if (track->enc->codec_id == AV_CODEC_ID_MPEG2VIDEO)
    tag = mov_get_mpeg2_xdcam_codec_tag(s, track);

where if the xdcam tag function doesn't find a matching XDCAM stream, it runs

if (!tag)
    tag = MKTAG('m', '2', 'v', '1'); //fallback tag

which ffmpeg, interestingly, thinks is tha tag that should be used for recording MPEG-2 in a MOV by a camera.

{ AV_CODEC_ID_MPEG2VIDEO, MKTAG('m', '2', 'v', '1') }, /* Apple MPEG-2 Camcorder */

and mp2v is signalled as required for (an old version of) Final Cut Pro.

{ AV_CODEC_ID_MPEG2VIDEO, MKTAG('m', 'p', '2', 'v') }, /* FCP5 */

mpgv is not on that (ISO media) list that the MOV muxer can be forced to work with, but it is on the RIFF list (for AVIs) where it's only declared for MPEG-2, not MPEG-1

{ AV_CODEC_ID_MPEG2VIDEO, MKTAG('m', 'p', 'g', 'v') }

All the tag variants exist because each vendor or program decides to mark their streams a certain way and there's no single body policing their use. Stick with mp2v since that works for you.

Update: I just realized that any stream can be tagged with any tag if -strict -1 or -2 is applied. I was able to tag an AVC stream in a MOV with mpgv :)


Maya Python: worldspace to screenspace coordinates I'd like to convert a worldspace position (x,y,z) to screenspace coordinates (x,y) from the selected camera point of view. I'm a bit limited by the fact I can't load extra modules (e.g. numpy). Is there an affordable way to do this?

I finally found how to do this on the internet. Just call this procedure with a camera name and the worldspace coordinate of a point as attributes.

def worldSpaceToScreenSpace(camera, worldPoint):

    # get current resolution
    resWidth = mc.getAttr('defaultResolution.width')
    resHeight = mc.getAttr('defaultResolution.height')

    # get the dagPath to the camera shape node to get the world inverse matrix
    selList = om.MSelectionList()
    selList.add(camera)
    dagPath = om.MDagPath()
    selList.getDagPath(0,dagPath)
    dagPath.extendToShape()
    camInvMtx = dagPath.inclusiveMatrix().inverse()

    # use a camera function set to get projection matrix, convert the MFloatMatrix
    # into a MMatrix for multiplication compatibility
    fnCam = om.MFnCamera(dagPath)
    mFloatMtx = fnCam.projectionMatrix()
    projMtx = om.MMatrix(mFloatMtx.matrix)

    # multiply all together and do the normalisation
    mPoint = om.MPoint(worldPoint[0],worldPoint[1],worldPoint[2]) * camInvMtx * projMtx;
    x = (mPoint[0] / mPoint[3] / 2 + .5) * resWidth
    y = (mPoint[1] / mPoint[3] / 2 + .5) * resHeight

    return [x,y]


Swapping video sides of side-by-side clip with ffmpeg At the moment i am using handbreak to encode gaming clips made with Fraps while using 3D Vision by Nvidia. It is the only recording app to produce 3840x1080 Full SBS when recording using 3d Display with 1080p.
Sadly the right side is displayed left, and youtube won't allow swapping sides in the settings, only in flash version of youtube the toggle exists.
Using ffmpeg to encode my clips, is it possible to use a command of crop and stack to produce the output?
Option desired are: h.254, PAR width:height=1:2, constant quality: rf=17, framerate same as source

There may be an easy, quick way out, which is to remux to Matroska and set metadata to indicate that the right view is on the left.

ffmpeg -i in.mp4 -c copy -stereo_mode right_left out.mkv

Upload to Youtube and check.

Else, FFmpeg has a filter to handle this directly.

ffmpeg -i in.mp4 -vf stereo3d=sbsr:sbsl -crf 17 -c:a copy out.mp4

The filter interprets the input as side-by-side with right eye view on left side (sbsr) and swaps the halves.


How is possible for YouTube and Vimeo transcode so fast? For the bit I read YouTube and Vimeo rely on servers powered by some modified libs i guess like libavcodec and tools like ffmpeg in a serious custom build.

Let's assume a transcode to h264 but the same could be applied to other codecs, I think VP8 and VP9 works in the same way.

If I upload 1h video file on their servers, right after the upload i have all the versions ready... pratically like 1 seconds after.

But, if codecs doesn't scale horizontally in a good way unless you want to trade time vs compression (see h264) and I'm pretty sure this websites care about the size of the videos..

Given also that single threads speed are capped by CPU frequency and actual frequency isn't up to 3.5 ghz generally unless they use overclocked servers under liquid nitrogen :D

How the transcode is done so fast?

They use still multithread with a mix of settings, trading on initial file size, custom builds and everything else to have just the files insta-ready to the user and then continue a second transcode with a slow preset that will be swapped as soon this file will be ready? They start to transcode as soon they receive the file stream (aka: during the upload ?)

A common method is split-and-stitch where the file is cut into pieces and sent to multiple servers for transcode. That way you can transcode a file of any length in a fixed amount of time.

Telestreams Episode Engine can do this, but I'm sure Google uses something custom coded.


How to color grade gold Whenever I take videos in churches/ temples with little light and a lot of gold, the gold looks kind of greenish brown on the final video.

As gold is not a colour in RGB, I have difficulties to find the correct color grading settings that make gold surfaces look golden.

Two thoughts:

Go to images.google.com and search for "gold".  Find something you think is gold-colored, check its RGB values, and then use that as a target for your gold.  Many editing programs have the ability to aim one color toward another, so you can select a range of colors that your camera thinks of as gold and then aim it toward what you think of as gold.
Perhaps the reason why Apple's high-end iPhones are rose-gold instead of regular gold - they want pictures to look warm and rich no matter whose camera is snapping the image

Ultimately (and perhaps this is your best answer) the eye very much judges color on a relative basis.  See http://www.archimedes-lab.org/color_optical_illusions.html. To get something that really looks gold, you have to have both the right target color and the right complementary contrasting colors around it to make it really look gold.


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?

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.


Keep fixed symbol on a source text linked expression I have a text layer (property: Source Text) connected to a slider control, in the way that the slider goes from 0 to 40 and the text layer simply follows the same amount.

Now, I want to have a fixed symbol which it will be "%" next to the number but of course with the current expression:

  effect("Slider Control")("Slider")

It is not possible to have a symbol since the expression tells the text layer to follow the value of the slider.

Must be super simple but I don't have the knowledge to fix the expression.

The final result would be the text layer going from 0% to 40%

Thanks in advance.

To add text items together in Javascript is super easy, you just use the + operator, which is 'overloaded' so that when the either term in an expression x + y is a string, the output is the first and second terms concatenated, as a string.

So you can just use + "%" to add a "%" symbol to the end of a number. Works for any character, e.g. 123 + "-foo" would result in 123-foo.

TL;DR:

effect("Slider Control")("Slider") + "%"

Note that the result of the slider will be a float (i.e. a number with lots of decimal places). That might not be what you're looking for. You can round it to an integer by using the Math functions, specifically Math.round (rounds to nearest integer) or Math.floor (always rounds down).

Math.round(effect("Slider Control")("Slider")) + "%"

For extra credit: If you did want some decimal places, say 2 decimal places, then multiply the number by 100, round it and then divide by 100:

Math.round(100 * effect("Slider Control")("Slider"))/100 + "%"


Portable screen for USB camera apologies if this is not the correct place to ask this question.

I need to use a USB camera with a long extension (something like this http://www.lightinthebox.com/5m-usb-waterproof-borescope-endoscope-mini-inspection-snake-tube-home-camera_p344225.html) in the field without a laptop. I don't necessarily need to record anything - only view the image on a screen. Is it possible to buy a battery-operated screen / monitor compatible with these USB webcams / borescopes? Or even a cheap tablet computer? Basically, a cheaper option than buying a handheld inspection camera (http://www.toolstop.co.uk/ridgid-micro-ca-100-36738-hand-held-inspection-camera-p14976) with £££s worth of extension tubes?

Pair a raspberry pi with one of these 3.5 inch lcd displays and that should bring you under the cost of one of those handheld displays.

Finding a decent way to enclose it would be the difficult part.


Film DCI4k or UHD for exporting DCI-Scope but watching on UHD screen Most of my films are 21:9 in DCI-Scope:

4096x1716p

I can record inside my camera with UHD or DCI 4k, and I'm not sure what is better for playback quality?

Shooting in UHD and cropping to about 3840x1608 so that on a UHD screen, each pixel can be mapped to one real pixel.

Or shooting DCI4k and cropping it to DCI4k Scope. Which means there isn't one pixel for each real pixel on the screen.

Or to better ask:
Does it improve quality when the screen has the exact same resolution as the video?

I researched a bit more on my own and it looks like there is a diffrence but no big one.

While a native image will look better, the image quality isn't much diffrent when "downscaling" to UHD.

It might be noticable on a high quality projector screen, but on desktop and espacially on mobile screens it shouldn't be a problem.


green screen to transparent with ffmpeg ffmpeg does a very good job of getting rid of a green screen, with a command like this:

ffmpeg -f lavfi -i color=c=black:s=606x1080
       -i input.mp4
       -filter_complex
            "[1:v]chromakey=0x70de77:0.1:0.2[ckout];
            [0:v][ckout]overlay[out]"
       -map "[out]"  output.mp4

but it replaces the green screen with solid black, whereas I would like it replaced with a transparent background, alpha = 0.

I tried setting the color to #00000000 (8 zeroes indicating a zero alpha), but that still resulted in a black background.

Strangely, when I set the color to say red, it gives a red tint to many unfiltered areas.

So I would like a transparent background, but I'm also curious what the color option is doing.

Output by MP4 defaults to the H.264 codec for the video. H.264 does not support alpha.

You can output to .mov with a video codec -c:v of png or qtrle. There are others but they have restrictions on resolution and framerate.

You can't use the overlay filter as it doesn't output to a pixel format with alpha. So, just the chromakey filter, and no color source.


why is the camera auto-focusing inspite of being in manual mode? I am trying to take video for a time lapse of stuff I write on white paper. Issue is that when the paper is blank, it looses its focus automatically. Unitl something or some writing/drawing/object is put on the paper the focus will wander off.

All this happens even when my camera is in manual mode.

Here is a sample:

First I want to understand why it happens, and, how to avoid it. I own a canon powershot sx 520 hs

It looks like by default, that camera fine-tunes the focus (even in manual focus).

From the Canon support page: To deactivate automatic focus fine-tuning when the shutter button is pressed halfway, choose  -> [  ] tab -> [Safety MF] ->[Off].


Include playhead position in premiere pro history Here we have a cut and we see the playhead a bit to the left (the green line).

Pressing Q will trim the clip from the start to the playhead, resulting in

Now when I ctrl-Z (undo), I get

The playhead position is now in the start instead of where I had it before.
Can I include playhead position into the undo mechanism?

I don't think you can.  Try using the Lift and Extract functions instead of cutting using the playhead position.
Set the In and Out points using I and O
"Lift" the section you want to remove using ; if you want to "lift" it (copy it, leaving a gap in the timeline)
Or use ' if want to "extract" (copy it and ripple the rest of the timeline.
You playhead position will be unaffected.
More here:
https://www.premiumbeat.com/blog/lift-extract-premiere-pro/


How are traditional animated matte paintings made? I am thinking of trying to make a film with animated matte paintings that are painted.

In the 1989 movie "Batman", some animated matte paintings of Gotham City are seen. How are these animated? In the following image, the smoke from all the chimneys in the image is animated / moving.

While I'm not aware of the process used for that particular film, one easy way to do it is to film the matte painting, then film the smoke against a green or blue background and composite the smoke over the footage of the matte painting in the computer.

I've also seen matte paintings where a large section is left unpainted. Then live action (or animated) things are filmed which exactly fill in the unpainted area. You could composite them either in the analog realm (by projecting both pieces of footage onto the same screen and filming that), or digitally by using compositing software.


Live video and sound recording (NOT from a security camera) sent to a remote server What is the least painful way to achieve this?:

Video and audio recording on a HD video camera (NOT a security camera) in XP quality, with 1 HDMI output and WIFI capability
Somehow connect the camera to a laptop and send the signal live to the Internet (the distance between laptop and camera is not a problem so I would prefer using HDMI over WIFI because of the problems involving WIFI)
Destination: a remote server, which will be web streaming the signal to clients (I'm not in charge of the streaming part, just until the signal reaches the server)

My trade is computers (I have no problem with the computer part) but I have almost no idea how video and audio recording works, so I would really appreciate basic information or sources. I have tried looking for information and tutorials on this subject but EVERYTHING I can find is related to IP surveillance video cameras, instead of a personal video camera sending the signal to a non-surveillance server.

My plan so far is:

-Record the signal

-Send it to the laptop (I would require a HDMI capture device because the laptop only have 1 HDMI output and not input)

-Establish a VPN (virtual private network) between the laptop and the server over the Internet

-Send the signal from the laptop to the server and store it on a shared folder

Is there a better way? I'm totally open to software and hardware suggestions. Thank you.

All newer camcarders have wifi and can stream directly to a computer or even the internet.

Here is a simple example
http://shop.panasonic.com/support-only/HC-V250K.html

scroll down to Real Time Broadcasting, Remote Shooting / Remote View


Looking for real time video streaming/editing software for commercial snips As the title says i am looking for a video editing/playing software for commercial snips, etc.

I should be able to:

Add video files to a "queue"
Play this "queue" in a loop
Reorder video files while the "queue" is playing
If possible, display images for a chosen duration
If possible, be able to keep track of which video snips belong to a customer
If possible, be able to keep track of how much a video clip is played during a period of time (total time)

This will be used to sell and play commercial snips on big screens/projectors.

Can you recommend a suitable software that fulfills these requirements?

Best regards

Any decent software media player can do this. I'd recommend Potplayer.

It has a playlist module --> that's your 'queue'. It has a repeat playlist feature --> that's your loop. And you can add/remove/shuffle the entries in the playlist during playback. Potplayer can display still images but it defaults to a duration of 10 seconds. Not aware if that can be changed. You can duplicate the image entry in the playlist to have a play duration in multiples of 10 seconds. And you can get a custom duration by using ffmpeg to create a video of the still image like this:

ffmpeg -loop 1 -i imagefile -t 01:45 imagevideo.mp4

(1 minute, 45 seconds in the above example).

Use the 32-bit static build of ffmpeg from here.

The other logging/auditing features are probably not possible with regular media players out of the box. Digital signage softwares probably have them.


What's the minimum needed to make a video of my guitar performance with good quality sound? I've recorded a lot of my audio guitar performances successfully, enjoying the ability to edit out some mistakes thru post-production editing of the .aif files. Typically I just plug the guitar into my amp, and plug the amp's line output into the the audio input jack of my Macintosh computer, and record directly into Sound Studio. I'd like to make the jump to doing a video recording, but the problem of how to sync and edit the audio seems more daunting since any edits require precise sync of audio and video.  I've got an HD digital camcorder with a 3.5mm external mic input jack. Seems like I'll need to connect the output jack on my guitar, to a small preamp (i've got a SansAmp that might do the trick) to boost the low level signal from the guitar pickup up enough to generate appropriate volume in the video, and also to feed a signal into my headphones so I can hear what is being recorded. Once all this is done, and I have a video, I can run it through IMovie to edit as needed. Am I on the right track?

There are a couple ways you could go about this.  If you can do it in a single take, then you can record the audio and video at the same time and then simply sync them up and all will be well in the world.

If you want to be able to do multiple takes, then what you should do is do it the way they make music videos.  Do the audio first, make your recording and do your editing and multiple takes.  Once you have done that, play back the audio aloud and fake it.  You don't actually use the audio from while playing in the video, you just record yourself playing in sync with the pre-recorded audio.  After, you do the same sync process as you would have done with the first option.


How to extend vertical video with the same duplicate size on its side? I'm a newbie in video editing. Here's what I do:

I record the screen of my phone, explaining some stuff
Video is recorded in portrait mode, thus it's a vertical video
I edit this video by adding some pictures or audio effects and post it
However, the video is vertical and added pictures block the real captured phone screen

Here's what I want to do:

Recording the screen just like before
Somehow shift this vertical video to the left of a new video
Add pictures and other marks to the right in the editing process
Export the whole as a square video

In fact, I want to do this:

I don't know what keywords should I use in search to find guidelines on how to do this. I don't know what software (preferably free and open source) can I use for this. I'm stuck at this point. Can anyone help?

A great free online editing software is WeVideo. In WeVideo, any video that doesn't take up the whole screen (like video shot in portrait mode) can be layered on top of any other video by putting the video you want on top by putting that video on the video track above the video you want below it. The way to get your video to look that way you want it to would be to have the blue square with the words on in Video track 2, and the black background and lightning bolt on the lower track. Then, you could double click on the blue box clip, and it should bring you to the transform menu  where you can drag the clip that you have selected around until it is where you want it in the little preview screen. This way you can have the clip in the second track be anywhere in the screen. Hope this was helpful!


audio recording and video editing software I've got a canon powershot. It has an inbuilt mic. I usually take interview-type videos, mostly indoors. The audio quality is poor as far as the purpose is concerned. I use pitvi as my editing software.

The question I have is...how easy is it going to be to record audio from another device and merge that with the video using pitvi?

I also would want to know about audio recording devices which support a lapel or a collar microphone.

I don't know Pitivi but in general it's not hard to do what you need, just sometimes a little time consuming. Use a digital audio recorder that can record 48K at 16 bits at a solid fixed rate.

In this case since you already have sync audio from the camera, you can use it as a reference track to find and check sync with the separate track. It helps to use a clapper at the beginning and end of each scene, but since you have both tracks you might not need a visual clap, just a recognizable audio clap. If possible announce the scene and take so that it's audible on both.

If the sep sound drifts out of sync you can use those start and end claps to find the exact frame duration and adjust the rate of the sep sound to match. If Pitivi does this, great, but you can also use a free tool like Audacity.


Are JPEG compression and H.264 intraframe compression the same process? I was looking at how JPEG compression works, and to me it seems to be really similar to what H.264 (and other video codecs) does with its intraframe prediction step.

In both algorithms the image frame is "chroma-downsampled", divided into small blocks, and then DCT and quantization are applied. Finally the frame/picture is encoded into a bitstream using Huffman coding.

Is this correct? Are there important differences between JPEG and H.264 intraframe compressions that I'm missing?

This is a complex topic, so best to link and excerpt

From https://sonnati.wordpress.com/2010/10/19/h-264-for-image-compression/

  H.264 contains a number of new features that allow it to compress
  images much more efficiently than JPG.

  New transform design

  Differently from JPG, an exact-match integer 4×4 spatial block
  transform is used instead of the well known 8×8 DCT. It is
  conceptually similar to DCT but with less ringing artifacts.  There is
  also a 8×8 spatial block transform for less detailed areas and chroma.

  A secondary Hadamard Transform (2×2 on chroma and 4×4 on luma) can be
  usually performed on “DC” coefficients to obtain even more compression
  in smooth regions.

  There is also an optimized quantization and two possible zig-zag
  pattern for Run Length Encoding of transformed coefficients.

  Intra-frame compression

  H.264 introduces complex spatial prediction for intra-frame
  compression. Rather than the “DC”-only prediction found in MPEG2 and
  the transform coefficient prediction found in H.263+, H.264 defines 6
  prediction directions (modes) to predict spatial information from
  neighbouring blocks when encoded using 4×4 transform. The encoder
  tries to predict the block interpolating the color value of adiacent
  blocks. Only the delta signal is therefore transmitted.

  There are also 4 prediction modes for smooth color zones (16×16
  blocks). Residual data are coded with 4×4 trasforms and a further 4×4
  Hadamard trasform is used for DC coefficients.

  Improved quantization

  A new logarithmic quantization step is used (compound rate 12%). It’s
  also possible to use Frequency-customized quantization scaling
  matrices selected by the encoder for perceptual-based quantization
  optimization.

  Inloop deblocking filter

  An adaptive deblocking filter is applied to reduce eventual blocking
  artifacts at high compression ratio.

  Advanced Entropy Coding

  H.264 can use the state of the art in entropy coding: Context Adaptive
  Binary Arithmetic Coding (CABAC) which is much more efficient than the
  standard Huffman coding used in JPG.


After Effects, can I parent specific points on a path to a null object? Can I select two points on a rectangle and have them follow a null object's movement? I want one side of several shapes to stay put, and the other side to track an eased movement.

I believe stib has answered this, but as per tomh's comment I'll post a gif anyway to explain. There is probably an even simpler way to do what I'm trying to.

The grey box on the right is swiped right to left with a steep ease curve. The boat graphic needs to scale with the same curve as the X position of the grey box so they move together. Making the first ease is simple, but I had to 'bake' the second curve frame by frame, then smooth it as best I could, but the OCD in me wants the curve to be identical! It also might be useful for future projects.

I thought, if I could make a rectangle where the two left paths are stuck on the far left of the comp, and the two right paths track the movement of the grey box, that this would make my perfect, mask for the scaling boat layer.

Use the puppet tool to do this. Place puppet pins on the rectangle and they will allow you to distort the rectangle to follow them. You may need other puppet pins or starch to hold the rest of the rectangle in place.

Then connect their position to the null using an expression:

thisComp.layer("<the name of the null>").transform.position

or if the nulls are parented to something else:

thisComp.layer("<the name of the null>").toWorld(thisComp.layer("<the name of the null>").transform.anchorPoint)

EDIT Are you asking whether you can attach specific points on a vector path to a null? Not natively, but there is a third party plugin that lets you animate individual path points: http://aescripts.com/bao-mask-avenger/ Fairly pricey though.


How to add a transition to all layers in VSDC video editor instead of having to it one by one? I'm using VSDC video editor. I have an image that last some seconds in each layer and I want to add to them a transformation effect to all of them at the end instead of having to do it one by one. Is there any way to do this?

VSDC team member is here. If you're talking about the transition effects, you can add them using the wizard. Although, you'll still have to drag each one for each transition.

However, if you need to copy any other effects, we have a how-to video for you: How to apply the same effect to different objects with VSDC Free Video Editor.
I hope this helps!


Automatically sync text to video for subtitles I was wondering if there is any way I can sync a script in plain text to a video automatically. I just want software that will take the transcript and sync with the finished video. I use adobe creative cloud and right now for captions I use camtasia and moviecaptioner. Any automation will help.

Thank you in advance for your help

What you're looking for might be something like ScriptSync. It used to be included with Avid's Media Composer. These days you need to purchase it separately.

http://www.avid.com/US/industries/workflow/Scriptbased-Editing


Capturing room audio (audience questions/comments) I currently use a video camera and a Sennheiser G3 system for recording conference-type events. The G3 is attached to the speaker, and it works great.

However, there are two situations where it doesn't work so well, namely:

When someone in the audience asks a question (rooms aren't big, so they have no mic), the camera doesn't pick it up.
When we do 'round table' style discussions, there's obviously not enough G3s to go round (or record). Right now I place a lavalier mic on the table and hope for the best.

So I'm looking for advice on what is the best type of mic that would pick up sound in the room. I'm looking for a 360-degree type solution. The camera I use right now is Canon XA20 (with the handle).

Audience questions : there's not much alternative than to have another mic (probably a hand-held one) ready to be used by the audience. If the room is really small, possibly a cardioid microphone on a stand pointed toward the audience could do the job.

Round table : have one or two hand-held mics that the speakers take when they want to speak. That's a constraint on them obviously. You can also try a boundary microphone on the table.

Notice also @stib good suggestion below to have a boom operator for audience questions.


What can be done with .CPI or .clpi files? In BDAV's M2TS there are .clpi files, in AVCHD the same files are labeled as .CPI. As i understand, some sort of metadata is written into these files. The question is twofold:

What metadata exists in these files? (both 'by the standard' and 'de facto', if there are differences)
Are there any free/libre/open-source software tools that are able to extract this metadata from them?

An example of such a file is here.

As Professor Sparkles has correctly pointed out (I've just checked and confirm) — the MediaInfo tool can extract some metadata from these files. Here is a sample output from one of mine:

General
Complete name                            : /Volumes/CAM_SD/PRIVATE/AVCHD/BDMV/CLIPINF/00119.CPI
Format                                   : Blu-ray Clip info
File size                                : 502 Bytes

Video
ID                                       : 4113 (0x1011)
Format                                   : AVC
Format/Info                              : Advanced Video Codec
Width                                    : 1 920 pixels
Height                                   : 1 080 pixels
Display aspect ratio                     : 16:9
Frame rate                               : 50.000 fps

Audio
ID                                       : 4352 (0x1100)
Format                                   : AC-3
Format/Info                              : Audio Coding 3
Channel(s)                               : 2 channels
Sampling rate                            : 48.0 KHz
Compression mode                         : Lossy
Language                                 : English

Text
ID                                       : 4608 (0x1200)
Format                                   : PGS
Language                                 : English

(But note that it can output more details in the --full mode.)

Also, it may be helpful to note that the AVCHD standard is proprietary and its spec is not publicly available. Attempts to reverse-engineer its components exist, and one of them is in this forum thread (from 2008): http://forum.doom9.org/showthread.php?t=141361


Is there any plugin for After Effects to create a 'kinetic typography' video? I was looking at some kinetic typography videos - like the one below - and wondering whether there is a plugin for Adobe After Effects CS4 that can help with this. If not, then is there any other easy way to do this?

As of 2011, there aren't plugins that assemble a typography video for you, because this kind of work is really a sub-topic of motion graphics.  There are tools that can help you with camera animation and rigging in AE though.

My favorite is Video Copilot's Sure Target 2, which lets you think about the animation in terms of what you're looking at, instead of thinking about it in terms of camera perspective.  This makes the work feel similar to using something like Cinema4D's target camera.

Another noteworthy tutorial: http://ae.tutsplus.com/tutorials/motion-graphics/design-rhythmic-motion-typography-in-after-effects/

  If not, then is there any other easy way to do this?

Not really.  Watch lots of videos, take notes on ideas you like, steal the best, and trust in what is difficult.


how to create a line by line effect vid showing what i want to do:

if i have this image: https://i.redd.it/259hhktl49431.png
how would i do what the youtube video is doing with selected lines in that image?

im using hitfilm express 12 and i also have davinci resolve 15. im really new to editing and the closest thing ive done to try to copy the effect is create a mask around a certain line and then create a new mask that shows 2 lines, then 3 lines, etc

There's different ways of accomplishing this. The easiest method I'd use is to build the entire dialogue in Illustrator or Photoshop, then Import the psd or ai into after-effects and reveal portions of the text using an animated mask.


Contrast equalizer OFX plugin I'm looking for Contrast equalizer OFX plugin, or similar functionality.

If you don't similar about it, Contrast Equalizer can manage contrasts on different level of details, like you have several Hi-pass/low-pass filters with different radius in one simple setup. It has similar functionality in DR - mid tone details, but it does not affect all tones and various details sizes.

Examples how it works:

Resolve already has a few built in.

The "Beauty" plugin is what looking for, if you're trying to do what Photoshoppers sometimes call the "frequency separation" method of skin refinement.  It controls blur/sharpness based on different detail thresholds.  In Resolve, you'll want to select "Advanced" from the dropdown menu to get access to the Hi/Low rolloff sliders, although they have unusual names ("Smoothing threshold", "Diffuse Lighting", etc, which doesn't actually have anything to do with Lighting).

The image you posted looks like what "Beauty" does, but when you talk about Davinci's Midtone Detail slider, you're looking for something more like "Contrast Pop."

Contrast Pop works similarly, but instead of letting you blur/sharpen based on a detail threshold, it lets you adjust midtone detail based on adjustable thresholds.  Again, the plugin name is bad, and I didn't discover it for a while because the name was so distasteful, but It's probably close to what you're looking for, and works well in conjunction with "Beauty".

"De-flicker" also lets you qualify the plugin's application based on a threshold, and then blends the image temporally, over a number of frames, in the chosen regions.  It uses optical flow motion estimation to set the threshold, however, and might not work exactly like you need, but it might be worth a shot, depending on what you're doing.

Those are the three built-in ones that come to mind, and you could always roll your own, so to speak.  If you google "frequency separation" and watch some photoshop videos, the technique can be achieved with Resolve nodes fairly simply, and adapted however you see fit.  Once you've got a setup that works, save it as a "power grade," and it'll be accessible from all of your new projects.  No need for a plugin.


Is Open-Source -film production possible with open-source tools? Samuli -- of the Iron-Sky -film -- mentions (3.40 here) their used software:

adobe.com, Adobe Creative Suite 5
autodesk.com, Maya
newtek.com, Lightwave 3D 10
renderpal.com, RenderPal
thefoundry.co.uk, Nuke

Now I am total newbie here but I would like to know whether it is possible to replace the software with some open-source alternatives? Look they cost a lot of capital to even trial so trying to find some good open-source alternatives. It would be cool to engage into project which does not require massive capital boundary to start from the participants. Suggestions highly appreciated!

The production group you refer to has a team of 20 guys ("no girls") and 40 computers. Do you think there is an open source for 20 CGI professionals and 40 computers too? This is a very real production company with a budget to get things done. They have created enough attention to fund the project 'Iron Sky'. No easy task.

What you are asking is like this, you see a beautiful Lamborghini Murciélago and want to know if you can make one of these with free tools and labor. By the way, what you are asking costs way more than a Lamborghini Murciélago. I would say that you have a very ambitious mind. However, there are no free open source tools that can do all the things these guys are doing and I would include the skilled labor of these 20 guys and the cost of 40 64 bit i7 machines as well.

Even if it were possible to replace all this great software with a free open-source version, where are you going to get 20 skilled and seasoned artists with 40 computers to do this work for you? I can't stress the importance of who the people are that run the programs and make the editing decisions. Software will come and go, but the imagination and talent of a skilled team is priceless and timeless.


Best way to trim and save an existing mp4 If I have an existing MP4/H264 video file and I need to trim the start and end,

Then save it as an MP4 again,

Are there any recommendations on export settings?

You can use ffmpeg, a free command-line tool, to do this

Without recompression

ffmpeg -ss 02:45 -t 03:05 -i orig.mp4 -c copy -map 0 -avoid_negative_ts make_zero cut.mp4

This will copy a 3m 5s portion of the original MP4, starting at 2m 45s. Since the codec of the video stream in a MP4 usually uses temporal compression, the cutpoints may not be exact and some frames before and after may be included in the trimmed file. Since there's no recompression, quality is identical to the original.

With recompression

ffmpeg -ss 02:45 -t 03:05 -i orig.mp4 -c:v libx264 -crf 20 -c:a aac -b:a 128k -map 0 cut.mp4

This will precisely cut the specified portion but will recompress the content. The crf value controls the video quality - smaller value produces better quality but a larger file. The b:a sets the bitrate of the audio output.


What type of media server software do I need to transcode in near real time? Can anyone help me find a software stack for doing near real time video encoding/transcoding?

I want to allow users to upload videos(wmv, avi, mov, flash video, other formats) to my website. As soon as the file is uploaded, I want to encode/transcode it into h.264 (preferably with an API so I can get progress percentage etc) so that I can then play it back via html5 or a flash player.

Anyone have any guidance for me on this?

Oh, and the server platform can be either windows or linux.

FFMPEG is what you're looking for.  You can use it to transcode most anything, it can easily be integrated via STDIO, and there are a handful of library versions of it you can use as well.

I'd recommend hopping over to StackOverflow.com, where this topic has been heavily discussed.


4K video from Panasonic VC8xx broken? I have recorded some 4K videos as MP4 file on Panasonic VX878 and 9xx. Both produce a video which, when played in VLC or other player on Linux, has 3 tiles: 2 next to each other horizontally at the top 20 % of the canvas, both displaying the actual video, and the rest displays the 1st second of the video, looping.

I wonder where is the issue: In the player on in the camera? When I played the video in the camcoder's playback, it looked fine.

Yes, the videos are broken. They are created due to an overheat and some kind of built-in reduction of the recorded video to FullHD; but the resolution of the result is still 4K, and the last filled content of the 4K buffer is used to fill the bottom large part (hence the repeating).

Still, it's possible to get a FullHD video from the broken file:

FILTER='
[in] split [a][b];
[a] crop=1920:540:0:0 [ac];
[b] crop=1920:540:1920:0 [bc];
[ac][bc] vstack [stack];
[stack] il=luma_mode=interleave:chroma_mode=interleave'

if [ "$2" != "" ] ; then
  ffplay -i "$INPUT" -vf "$FILTER"
else
  set -x
  ffmpeg -i "$INPUT" -filter:v "$FILTER" $QUALITY_GOOD_H265 -c:a copy "$NEW_NAME" \
  && touch "$NEW_NAME" -r "$INPUT"
  set +x
fi


Add timecode information to file I'm writing a program that interprets LTC timestamps from audio channels in video files. The goal is to remove the LTC track and replace it with some kind of native timestamps directly in the video file--in a way that downstream NLEs can interpret correctly e.g. for multi-camera timelines.

I've got the LTC parsing done, so for each frame of the video, I can tell what its timestamp is. How do I encode that in containers like .MP4 and .MOV? It would be simplest if I could do it with ffmpeg.

@Gyan gives the answer in comments:

  MP4s and MOVs store only the TC of the first frame, as a literal frame count, along with the framerate. The consuming app converts that frame count back to a TC string using the framerate. For drop-frame TC, ffmpeg only supports 30 and 60 fps. I'll add 24/48 when I have time and a SMPTE reference that I can consult. For non-drop TC, any fps is fine. Add -timecode HH:MM:SS:FF to your cmd. Use ; for the final separator if TC is drop frame.


Video Quality Assessment (No-Reference) I am looking to analyze the quality of videos using some no-reference methods. ie. I don't have a reference video to compare my videos with.

I want to identify frame-freezes, jitter, jerkiness etc. Basically, temporal artifacts.

There's a lot of academic literature available for this (eg. here), but I'm trying to figure out if there is an open source library / tool that I could use. Would this be possible using tools like FFMPEG?

Freely available video quality of experience tools are quite rare and probably aren't going to work for your use case out of the box. The Netflix VMAF algorithm recently became available as an FFmpeg filter. The MSU VQMT is one of the more mature tools, but is only free for non-commercial use.

There are several (and some even good) commercial QoE monitoring systems available, if you have the budget.


Bulk adding text to videos I have around 300 music videos and i need to add the usual text (animation or whatever) to all of them. (Just like MTV for example, each video has this text on them lasting for first few seconds of the video so ppl can read what they are listening too).

Song title:

Release year:

Album title:

etc...

Is there any way to batch process this amount of videos with any kind of software ? Basicly, only the text changes on each video, position and everything else would remain exacly the same.

With Adobe After Effects and a script such as PT_TextEdit, you'd be able to do something like this.  You create the text styles you want to use, add all the text to a spreadsheet or google sheet, then run it through PT-TextEdit, which will generate a load of different comps for you with the different names.  You can then batch export all the comps.
http://aescripts.com/pt_textedit/


How to optimize already-encoded videos of still images (e.g. presentation slides)? I have a H264 video that is, for the most part, just a video of presentation slides.
It doesn't seem to me that it's as well-compressed as it could be.

Given that it's a video of presentation slides, the vast, vast majority of the frames should be exactly the same as each other.
To the extent that they are not identical, it would be due to encoding noise.

My question is, is there any way (e.g. in FFMPEG, or via other tools) I could automatically "detect and repeat" such similar frames in these videos, so that any consecutive frames that are identical to within some small epsilon tolerance are automatically deduplicated and merely repeated from prior frames, so that the frames are encoded once?

Note that there are random bits of normal film video in between, so I can't assume the entire video is like this. But maybe 90% of it is like this.

(Ideally unaffected parts of the stream would be copied directly without being re-encoded, but if this isn't possible then I can live with a bit of quality loss.)

(Ideally unaffected parts of the stream would be copied directly without being re-encoded, but if this isn't possible then I can live with a bit of quality loss.)

First of all, I doubt there's a way to do this losslessly. Very few things that touch the actual, encoded video content in any way can be done without re-encoding.

That said, I tried out a few things just now and found that a very effective way of doing this is making the video frame rate variable and dropping duplicate frames using FFmpeg's mpdecimate filter:

ffmpeg -i input.mp4 -vsync vfr -vf mpdecimate output.mp4

The mpdecimate filter has a bunch of additional options that can be set but I found the default worked just fine. I downloaded this video with youtube-dl, encoded the first 5 minutes of it with standard options -c:v libx264 -an -t 300 -crf 22 -preset medium. I then encoded the same part of the video with the additional options -vsync vfr -vf mpdecimate and the resulting file was 42% smaller than the one encoded with a constant framerate. 30.8 MB vs 18.0 MB. The encoding process was also significantly faster since there were much fewer frames to encode.

However, I've heard that some players may have trouble playing variable frame rate video and that it can also cause audio sync issues. So I also encoded a version with the same settings but included audio as 64k Opus. I played the video in mpv and Firefox and didn't observe any audio synchronisation issues.

What I did notice was that this does affect seeking, sometimes quite dramatically. Firefox was able to seek fine for the most part, but when seeking to some parts of the video FF would display a frame that was long past (like a picture of the speaker at 2:03) and only start playing from a more recent frame about two seconds later but sometimes this would continue for a long time, like 40 seconds. However, when playing the video without seeking playback was perfect.

mpv played the file perfectly too and seemed more adept at seeking. However, some parts of the video couldn't be seeked to (presumably due to the same issue/property of the file which caused FF to have trouble with seeking) and would jump ahead or behind the spot I attempted to seek to. Both of these player issues probably have something to do with the general lack of frames inside the video. AFAIK most players use keyframes for seeking and services like Youtube use a keyframe interval of about two seconds to make videos easier to seek. So this issue probably can't be fixed without sacrificing the file size decrease gained from throwing away duplicate frames.

Due to these issues I wouldn't really recommend this method for video that's intended for wide distribution. However, it's probably fine for video that's inteded for personal use or archival. With the latter purpose in mind I attempted to re-encode the variable framerate video back into a constant framerate one using the -r 30000/1001 switch, just to check that it works, and ran into this issue with the audio. I used the -max_muxing_queue_size 9999 switch and the encode worked just fine and the resulting file played without issue. So as long as your tools are up to the task this should be a viable method of archiving video material.

Since this method does involve re-encoding you're going to lose some quality. However, since getting rid of duplicate frames significantly reduces the file size with this type of content, you can probably lower the CRF value to a point where the visible quality loss is almost insignificant and still end up saving a lot of space.


After effects: Moving text along 3D path After Effects beginner here.

The effect I'm after is where text is appearing from behind an object. So far, I'm using the position and rotation parameters.

But the text is rigid. I found something about having text along a path which is what I want except I haven't found out how to work it in 3D.

Here is what I have so far. I need the text to look like it's bending as it comes around the ... well, bend!

to accomplish this, we need to cheat something. I assume you are trying to do something like this in the following image:

First, create a camera in your comp (i see you already have one)
Then create a text layer and make it 3D (you have this as well)
Select your layer and select Ellipse tool (Q) but do not apply
anything.
While your text layer selected, double click the Ellipse tool in
your toolbar. This will create a circular mask on your text layer.
Rotate your Text layer -90 degrees on X Axis.
Twirl down the controls of the Text layer and under Text controls
you will see Path Options. In these options select your mask. And
change your settings as you wish.
Now expand all the controls of that layer. There you will see a text
label Animate: with a small circled arrow.
Select Enable Per-character 3D.
Then in the same menu, select Rotation.
There will be an Animator 1 section, expand it and change the X
 Rotation to 90 degrees.

Now check with your camera, orbit around, you should see your text bends through your mask.

To animate this text along that path, get back to the Path Options. Keyframe the First Margin option or add an expression by Alt+Left Click, and add this value and edit as you like:

time * 500

This will get the current frame and multiply it with 500 and give this value to First Margin property.

I am also adding the link for the project, but you need at least CS5.5 to open: http://www.mediafire.com/?13dl3x67w4v5yod


What needs to happen before we expect x265 to be in wide use, along with encoders something like Handbrake available for it? I know that the project is already out and work has began on it.  However, realistically speaking, a large number of things have to happen before it is ready for prime time. (For example, given the encoding/decoding challenges to overcome, decoders need to "smarten up" to the new encoding process.) What other things have to be accomplished before we can reasonably expect to see x265 in wide use?

Are there any additional barriers to something like Handbrake being released?

If you want to know when x265 is going to be in a usable state you will have to ask the developers about that. Though I'm pretty sure they don't know either.
If you want to know when h265/HEVC will be starting to get actually used I'd say earliest end of 2014 though more realistically in mid 2015.

Why? At the moment the devices most profiting from this new codec are mobile handsets that operate on limited data plans and 4K TVs.
As Smart TVs often use the same SoCs as smartphones and tablets both will happen pretty much at the same time.

Qualcomm already released a preview of its Snapdragon 805 which will be a SoC with h265 hardware decoding support. Thats the most important step towards the widespread adoption of a new codec, without hardware support most smartphones will have a hard time with playing back h265 content. SoCs that also support hardware encoding will come out in 2015 (f.e. Snapdragon 810). At that point all important factors on the consumer sides are ready for a widespread adoption. Now we just need to wait until even the low-end SoCs have hardware playback support.

Though that might go faster than expected with ARM v8 being around the corner at the same time. There might be some more rapid changes again in the Smartphone market.

Something like Handbrake will come around pretty quickly, its not all to hard. In the end its just a good user interface and some good presets. You just have to come up with it.


How to soften the appearance of particles in Particular I'm doing a Particle system that looks like a Nebulae/BigBang subtle explosion, everything looks perfectly except for the 'grainy looking texture' of the particles.
If for example I add some quick Gaussian Blur, it looks better, but obviously, blurry.
Is there any way to make the 'particle texture' softer somehow and not that 'pixelated'? Like, no showing the 'little dots' but a true 'cloud mass' (not cloudet or striklet, these didn't work properly)
I'm using the basic sphere for particle.

I reckon try a lot more particles and make them much smaller. (But this will take much longer to process). You can feather the spheres too, which might give you the effect you need.


What is the Name of this effect http://vimeo.com/86969394

I like to know how to do this effect but I don't know what is the term/name for it. The video above around 10 - 12 seconds in with how the title seems fixed to a point in the video despite movement of the camera.

There is also a similar effect if you had watched House of Cards the parts where they are displaying sms messages where the text appears above their phones and moves a bit according to it.

It would be okay to just give me the name of the effect ... I'll do the rest searching for tutorial in YouTube. But a instruction video would also be nice.

Thanks.

Looks like text moving to a "Motion Tracking" effect.

Basically it finds and follows 1 or more points in a picture then moves the text accordingly.

If you use 2 or more points you can track the 3d angle also.

Examples:

2D position only

3D position, scale and angle


File compatibility for Final Cut Pro 7 project files with Adobe Premiere Pro CS4 The video editing labs in my university have Final Cut Pro 7 installed on them, and most projects that we work on are done in FCP. I don't have a Macbook so I personally use Adobe Premiere Pro CS4 instead for my projects. Is there any way to transfer project files back and forth between the two software?

Yes, in Premiere Pro, you can export to Final Cut XML. In Final Cut 7, you can export into an XML as well. Then you can import the XML files into each program.

The only problem is that Premiere on windows uses the AVI wrapper, and Final Cut 7 uses Quicktime. It might work going from Final Cut to Premiere. But going back into Final Cut probably will not work, as Final Cut does not like AVI. Also, the file paths will be different (but you can reconnect the media, but you are looking for an easy way).

Unless there is a software that does this, switching in between Programs and OS is going to take time.


Export Frames of 10 BPC Video File with ffmpeg I have several hundred 1080p 59.94fps 10-bit-per-channel (bpc) AVC-Intra Class 100 MXF encoded video files.  I would like to extract the frames of this video file and export them to disk in a 16-bit lossless image format.  I recently encountered this question:
Convert video to 10 bit images

So I tried this:

ffmpeg -i "testinput.mxf" -pix_fmt rgb48 _Frames/out%05d.tiff

But ran into a rather unfortunate issue that I am not sure how to resolve.  Although it technically did work, and exported all of the video frames into a 16 bpc format, the color of these frames appears washed out.  Here's what I mean:

The first frame of the original video file (MXF):

The first frame exported with ffmpeg:

As you can see, the color appears to be faded and doesn't perfectly match the frame in the original video.  I don't know why this is, but it's a serious problem that needs a resolution ASAP.  Perhaps I'm not using ffmpeg correctly, or perhaps this is a bug in ffmpeg.  What do I need to do to extract the frames from this particular codec correctly?  Please, help.

I have included the original MXF file here, for your own testing purposes:
https://drive.google.com/open?id=1HtCmPGkIZMMMEOAVKMlLksov7QyKzqRE
Here is a link to the output of running the command I specified earlier.  I'm on the latest version of ffmpeg for Windows, ffmpeg version N-94150-g231d0c819f Copyright (c) 2000-2019.
https://pastebin.com/8UrxJJpY

Try using:

ffmpeg -i "testinput.mxf" -vf scale=in_range=limited:out_range=full -pix_fmt rgba64 path/to/output/out%05d.tiff

instead.

For a reason that is slightly beyond my comprehension of color science (or maybe just something odd with ffmpeg), the output of the initial command was creating .tiff files in the "limited" (15-235) rather than "full" (0-255) RGB color range. I used the scopes in Premiere Pro and DaVinci Resolve to A-B between the first frame of the created .tiff sequence and the original .mxf and the differences became clear.

If you aren't dead set on using ffmpeg, I was also able to achieve a comparable result by importing the .mxf into a Resolve (version 15 in my case) timeline and then using the "Deliver" workspace, selecting the 16 Bit, RGB and .tiff options as the output and using either the 'Auto' or 'Full' range setting. If you go the Resolve route, you can queue up each .mxf file and just let them export until everything is complete.

There are slight variations between the ffmpeg .tiff, the Resolve .tiff and the original .mxf but to my understanding the process of converting YUV (the original .mxf) to RGB (the .tiff sequence) generally isn't mathematically perfect. The files pass the "eyeball" test, however, and should work well unless the people you are working for have really strict delivery requirements.

If you really want to go deep into it, the nice (and smart!) folks over at Doom9 forums can get you into AVISynth (which is really cool and powerful but also quite complicated) for very advanced conversions.

Hope this helps!


Loss of quality in after effects 3D layer I have a 2D image layer that looks great as a 2D layer. Both .png and .eps files are (near) pixel perfect. However when I convert the layer to 3D, there is a massive loss in quality. Is there a setting somewhere that can improve the quality of the video?

2D

3D

Unless you need it make sure you are using the Classic 3D rendering mode and not the "Ray-Traced 3D" renderer. You can see and change the renderer in the top right corner of your comp view or just go into the composition settings menu through the top menu bar.

If you are in need of using the RayTraced 3D renderer click on the options menu and increase the quality from 3 (standard) to a higher value like 6 or 8 and see if that fixes your issue.
You may also change your AntiAliasing mdoe to cubic instead of box.

Also make sure your preview quality is not set to fast draft but to adaptive or final quality.


Cutting scene results in choppy transition I used the Razor tool in Openshot to remove a scene from a movie. However, the transition between the two surrounding scenes is now very choppy. The movie is now simply two separate clips. Is there a way to "fuse" the two clips together, so the transition is smooth?

The two most common approaches, if you don't have B-roll coverage, is either a dissolve (usually a cross-dissolve) or a fade-out/fade-in (usually dip-to-black).  Garish effects (essentially all the others offered in a typical NLE) can also be used (but are usually avoided).

IF the clip you are cutting out means joining what looks like a single take (with a discontinuity in the middle), the dip is your friend.  If the clip you are cutting out takes you from one scene to another, the cross dissolve can also work.  A series of cross-dissolves can work to show the passage of time (where the camera stays fixed and the subject is seen doing on thing, fading into doing another, etc.).


Best tool for adding simple graphics such as fading-in text on a video I need to be able to add small graphical things onto a recorded movie clip. Things like arrows and text. I will need to be able to do simple animation, such as making the arrow elongate, making the text fade in, making an object rotate and such.

I have seen Apple's Motion but I am  not able to use that software.

What other software can do this job?

Adobe After Effects is what I use. It's pretty simple and there are a ton of tutorials out there.

If you need something free there is Hit Film Express, which I hear is decent though I've never used it.

Lastly what editing software are you using? You should be able to do simple things like that in any old editing program out there.

Spencer


Scripting Video Production for data entry I'm doing freelance work producing product videos for a company that sells millions of products (sub components for telecom equipment).  They want me to produce a video for each part number.  The video template they've provided to me has a roll about their company, contact info, etc and in the middle is a single title that has the static text of "We buy/sell: " followed by the part number the video corresponds to.  There are millions of part numbers provided to me via many spreadsheets.

I'm not a video editor/producer by trade - I do cyber security work with freelance advanced data entry such as this.  I used my cyber security skills to mostly automate the process, which now looks like this:

Using Adobe Premiere CC, create a sequence for the part number and insert a title with the part number in it into the sequence.  (~20 seconds total PER sequence).  I generate a project file with several thousand sequences.
Batch encode all of the sequences in a single project via Adobe Media Encoder.
Use a script I wrote to leverage YouTube API to upload all of the video files and pull the data from the spreadsheet (converted to CSV) and match the video's filename with the corresponding line in the CSV to add the YouTube metadata for the particular file.

My time sink is just the 20 seconds per video of data entry - everything else is done via semi-automated job batching.

I'm looking for a way to automate the last remaining data entry portion.  Adobe premiere doesn't reliably import formats that I can generate, such as XML.  (It does, but it fails 90% of the time - title objects are offline/missing.  It fails to import an unmodified XML file that it generated.)

I'm not all that familiar with other video editing/production softwares.  I'm thinking I can combine the encoding and data entry portion into a process that I can script.  I started looking into VirtualDub but I decided I should ask the experts before trying to invent something that has already been invented.

My solution to this issue is fairly complex but stable.  I feel I went well beyond the initial request here.

I built a MySQL database with a table of jobs.  In that table there are columns for status, the text that needs to be in each video and then further more with youtube metadata.  The table has an index ID value that auto increments with each added row.

I manipulate the data via microsoft excel and save it as a CSV. I wrote a python script that reads the CSV and then imports into MySQL.  I do this because the youtube metadata column in each row is stored in JSON format for ease during the upload phase.

Once in the MySQL database, I have a script that runs once daily that generates any videos listed with the status code corresponding to needing to be rendered.

I use ffmpeg with drawtext to push the text desired during the timeline desired on top of a template version of the video that has whitespace in the timeline desired.

Files are named corresponding to the Row ID# in the database to make it easier to pick up later on in the upload phase.


Why does iMovie convert a 1.8GB .MTS (AVCHD) file into a 2.2 GB .mov file by reducing resolution? I am just importing some AVCHD (.MTS) files into iMovie and even if Import them as 960x540 (original is 1920x1080) it uses more space than the original.

If I import it at full size, the .mov file is 5 times bigger than the original!

That means 4h of video which are originally 25 GB suddenly become 400GB on my disk!

What am I doing going wrong here? Why can't iMove work with the original file and only convert it when I export the file?

Video is practically never stored uncompressed because the data rates are insane if they were.  Each image in a video is 1920 by 1080 pixels and takes 3 bytes per pixel (one each for red, green and blue).  That's 6.2 megabytes per frame.  There are 24 frames in a second, that's roughly 150 megabytes per second for 24p video.  That's 9 gigabytes per minute.

To reduce this size, codec's (encoders/decoders) are used that can compress the data either losslessly(similar to a zip file, they uncompress to produce identical input to the raw, uncompressed data) but typically can take as little as 1/3 of the space, or lossy, where the video is altered to make it easier to compress without significantly distorting the video.  Most HD video is shot with a minimally lossy codec due to the size (H.264).  AVCHD also records using H.264.

If you are outputting to uncompressed or lossless compression for the MOV, then the file size would increase significantly from the compressed AVCHD file, even if the number of pixels being stored has been reduced some.  If you change to a similar H.264 data rate for the mov file, then you should not see an increase in file size.


H.264 Max Resolution I was trying to find the technical reasons for why H.264 is limited for 4K.
Obviously that in terms of bit-rate it becomes less efficient but the encoding itself is limited and for some reason, I couldn't find any publicly available references.
Someone?

One of the bits of information associated with a H264 stream is its level. The level informs the decoder the computational resources needed for a successful decode. Turns out that the highest level 5.2 supports upto 9437184 luma samples per frame, which is the number of luma samples needed for a frame of size 4096x2304. So, there may be encoders that can (be forced to) encode higher resolutions but there's no valid level which can be set for the stream, and probably no decoder that can be guaranteed to produce reliable playback.


Why does a bright video feed send more data than a dark one? I've been watching the feed from a webcam (Foscam 8910).  When the scene is bright (lit with sunshine) the video feed is approx. 350 kBytes/sec.  When I view the same scene lit very dully with just a dim bulb, the feed comes at approx. 50 kBytes/sec.

As I understand it, the video feed only transmits the changes between frames.  Once the image has been transmitting for a few seconds, and there is no change whatsoever in the scene, the feed should settle down.

Why is there a seven fold difference in network traffic between light and dark scenes?  Shouldn't they be identical?

Our eyes and brains are more sensitive to data in the bright areas so compression schemes generally throw out more of the data in the dark areas. If the video is mostly dark, then it compresses very well because they can throw out more data and you don't notice. But when it's bright (assuming it's not overexposed), less data can be crunched down without you noticing it.


Depth of focus for video recording How can I calculate the depth of focus (Depth of field, DoF) for video recording?

There are some tools around that calculate the DoF for different camera types depending on focal length, f-stop and subject distance, e.g.

http://www.dofmaster.com/dofjs.html
http://www.cambridgeincolour.com/tutorials/dof-calculator.htm.

My assumption is, that the DoF for video recording is bigger than that for photographs, because video is recorded with lower resolution, and therefore a higher degree of unsharpness can be accepted without visible effect.

My idea was to calculate the size of a single pixel and use this size as "circle of confusion" parameter.

My question: Are these assumptions and the example calculation below correct? What is a reasonable way to calculate DoF for video?

Example:

Canon EOS 600D / Rebel T3i
f2.8
16mm
object distance 2m
recording format 1080p

From the 600D's sensor size (22.3 mm x 14.8 mm) and video resolution (1920x1080) I calculate the pixel size to be 0.0116 mm x 0.0116 mm, or 0.016 mm in diagonal.

Entering these numbers into dofmaster, I get 1.6 m as a result (1.48 m ... 3.08 m).

What surprises me is, that using the camera model directly instead of the CoC, the result is 2.02m, which is bigger than that vor video.

Accordingly, when calculating for a video resolution of 720x576, I get a DoF of 146m.

Well, your calculations appear to be correct, but the only calculation that isn't exactly known is the pixel size of your camera sensor. Either your calculation of the camera's pixel size on the sensor (at least when filming 1080 video) is off, or their recorded circle of confusion of that sensor is off. Or both. Though I find it more likely that their stored CoC value for that sensor is based on what is "reasonable focus loss" not on the actual pixel size, and so they have a larger CoC value than what you consider to be reasonable, as your reasonable is that the CoC is no bigger than a pixel.

Either way, calculating the differences based on resolution shouldn't be an issue. In the spirit of better safe than sorry, use your own calculation of the pixel sizes (0.016mm with the DoF result ~1.31m) as a basis. If you're going to test for half the resolution of 1080 (being 540) then you'll double the pixel size calculation (0.032mm) resulting in ~4m DoF.

To calculate for 720x576 (which is 576 resolution, not 720 resolution. Careful with that) you'd do (1080/576)*0.013mm = 0.03 (new CoC for calculation resulting in 3.44m DoF).

I'm not sure how you got 146m as a result though. Perhaps you input the wrong circle of confusion value?


What is the productive way of doing multiple speed changes in a video editing project? I have to stitch various pieces of footage together, and the final result will be about 1–1.5 hour long.

Because of all the needed changes (blurring faces, inserting images and icons in certain places, synchronising the footage pieces among each other and fading them out\in with right timings etc), my project map starts to look like this. The #3 and #4 tracks are just transitions from one piece to another. In tracks #1 and #2 is how most tutorials tell to deal with blurring\changing a screen area (duplicate the track above itself and then pan\crop the duplicate).

The problem is that in multiple places the video also has to be sped up\slowed down, and when I do it, the footage length changes like a fractal curve, and all the alignments get messed up. And besides these speed changes, the whole eventual video has to be sped up again once more too (x1.5).

This looks like one of those things that I’ll be cursing myself about later, because a simple and overlooked mistake led to losing huge amounts of time\work, so I decided to just ask about it now: am I doing it wrong, and if so—what’s the more productive way of dealing with many playback speed changes in relatively big editing projects?

Your screenshot does not have sufficient zoom to see how the checkpoints of Velocity envelope behave. Let me assume they are all having Transition of Hold, e.g. velocity changes abruptly, not gradually: 100% immediately to 150%, then immediately back to 100%.

Along the course of my experience with Vegas, I found velocity envelope inefficient. Instead, I find splitting Video Event into several ones more effective, and here's why.

Say, you have a video event of length 1 minute, as on Track 1. Say, you want the original timeline 0:20 till 0:30 to play at Velocity of 200%, so that it took only 5 seconds instead of 10 original.

Full scale image here

If you add a Velocity envelope as in Track 2 (200% at timecode 0:20), you would need to guess at which point to put another control point for Velocity so that playback continued at original speed.

Also, the end marker of the video indicates that the actual timeline ends at approx. 0:54 (and the rest is a repeat of the same video event from the beginning).

However, if you take another approach and split your video as displayed on Track 3 and then Ctrl+drag the end point of the middle Event, it would work smoothly. You will be sure that the third Event starts at proper timecode (in original scale).

The only thing you would need is dragging the 3rd Event backwards, as shown in Track 4.

Moreover. As soon as you Group all three Events by Ctrl+clicking them and then pressing G, you will be able to process them together. In Track 5, I have stretched all three events so the entire video played a bit slower.

Note 1. Most likely, you will need to overlap these three Events somehow. This will let the stream to be smoother, without abrupt Velocity changes.

Note 2. Of course, all above applies to multi-track Groups as well. You need not keep all Events within the same Track.


How to make that effect in After Effects? How to make blurry, washed out effect like in this video the more far object location is the more blurry that object is.  And then object is moving bluriness also moving. How to do that?  Timestamp 32:48- 33:20

I think what you mean is called "depth of field" and is the way cameras work, no effect.


How to invert the color of a text layer with a sliding adjustment layer So I'm trying to recreate the effects used in this Envato video

https://videohive.net/item/sport-life-fast-dynamic-slideshow/19632953

This is what I have so far https://gfycat.com/RichAstonishingDalmatian

What I basically want to do is to have a single text layer (selected comp) but I want it to be white on the color footage and black once the pink overlays it. Essentially, I don't want to maintain multiple copies of the text animation (or any other layer). If I change it once in one place it has to be able to cascade to all other places.

As it stands now it stays white and I can't quite figure out how to keep the layer/comp usage to a minimum while still changing the color of the text with the pink overlay.

P.S. Yeah Mark is a crazy guy!

Make the text only once inside one comp, but duplicate multiple copies of it in your main comp, so you will only need to create the text once.

Then set one of them to be inverted or whatever other colour setting you want.

Then make a layer that contains your moving mattes, and add a track matte to each of the text layers, pointing to your moving matte layer.

Mark does indeed look crazy :)


FFMpeg Encoding and Core Usage We have developed an application to transcode source .mov files into .ogg, .mp4 and .webm output. It is currently running on AWS EC2 instance g2.8xlarge. It is working (yay!).

My question: Even though I am passing in -threads 0 to the ffmpeg command (actually setting ffmpeg.threads configuration in php-ffmpeg),  the running process is sometimes only being executed on a single core. Why is this happening?  See below output from htop command:

As you can see, Core #21 is maxed out.  In a few seconds, it's going to switch to another one, rather than max out all of them like I would like and greatly speed up my encoding process.  The situation is transient; during some runs all of the processors are maxed out, but during others they are not and we only get use of the one processor.  A colleague mentioned that perhaps the codec we're using for some of the formats don't support multi-threaded execution during encoding, though I can't verify that is the behavior I'm observing yet.

Is this the case?  If so, what codecs for the formats above will allow us to transcode into these target formats while taking advantage of all of our available hardware?  The default codecs set for php-ffmpeg are below;

         Video        Audio
Ogg    libtheora    libvorbis
WebM   libvpx       libvorbis
X264   libx264      libfaac

Update

Looking at the running processes, below is what winds up being the ffmpeg command that is run for an MP4 (currently saturating all 32 cores):

ffmpeg -y -i my-video.mov -async 1 -metadata:s:v:0 start_time=0 -async 1 -metadata:s:v:0 -async 1 -metadata:s:v:0 start_time=0 -async 1 -metadata:s:v:0 start_time=0  -s 1920x1080 -s 1920x1080 -s 1280x720 -threads 0 -vcodec libx264 -acodec libfaac -b:v 1200k -refs 6 -coder 1 -sc_threshold 40 -flags +loop -me_range 16 -subq 7 -i_qfactor 0.71 -qcomp 0.6 -qdiff 4 -trellis 1 -b:a 128k -pass 2 -passlogfile /tmp-ffmpeg-passes55ad0d0233f711zdrg/pass-44ad0d02340a8 my-video-1200.mp4

I'm not actually building this command directly, php-ffmpeg is, though I do believe I have at least a modest amount of control over what goes in to it (for instance, I have no idea why there's multiple -metadata:s:v:0 entries at the beginning)

BTW, this question might be better on stackoverflow, or maybe unix.stackexchange, or maybe serverfault.  This site is I think less focused on questions that don't involve decisions based on creative merit or at least perceptual video / audio quality.  However, I'm all about the tech details, so I'll answer.

FFmpeg uses multi-threading by default, so you prob. don't need -threads 0.  If your encode is bottlenecked on a single-threaded filter or decoder, you'll see full load on one core, and light load on many other cores.

One thing you can do is check mediainfo of your output video.  x264 leaves its settings in an ASCII string in the h.264 header.  So either strings -n20 or mediainfo to get:

...
Chroma subsampling                       : 4:2:0
Bit depth                                : 8 bits
Scan type                                : Progressive
Bits/(Pixel*Frame)                       : 0.051
Stream size                              : 455 MiB (89%)
Writing library                          : x264 core 146 r2538+1 d48ec67
Encoding settings                        : cabac=1 / ref=6 / deblock=1:0:0 / analyse=0x3:0x133 / me=umh / subme=10 / psy=1 / psy_rd=0.70:0.10 / mixed_ref=1 / me_range=24 / chroma_me=1 / trellis=2 / 8x8dct=1 / cqm=0 / deadzone=21,11 / fast_pskip=1 / chroma_qp_offset=-3 / threads=4 / lookahead_threads=1 / sliced_threads=0 / nr=50 / decimate=1 / interlaced=0 / bluray_compat=0 / constrained_intra=0 / bframes=5 / b_pyramid=2 / b_adapt=2 / b_bias=0 / direct=3 / weightb=1 / open_gop=0 / weightp=2 / keyint=250 / keyint_min=25 / scenecut=40 / intra_refresh=0 / rc_lookahead=60 / rc=crf / mbtree=1 / crf=22.5 / qcomp=0.60 / qpmin=0 / qpmax=69 / qpstep=4 / ip_ratio=1.40 / aq=3:0.60
Color primaries                          : BT.709
Transfer characteristics                 : BT.709
Matrix coefficients                      : BT.709

Note the "threads=4" in there.  I think I manually set that on my quad core i5 2500k, instead of letting x264 use the default CPUs * 1.5, since I had a CPU-intensive filters (hqdn3d and lanczos-downscale) running.

Anyway, libx264 with a preset like slower should have no trouble keeping a lot of cores busy.  There are some parts of encoding that are inherently serial (e.g. the CABAC encode of the final bitstream), so a high-bitrate video that doesn't spend a lot of CPU-time refining references (high subme) to multiple frames (high ref) might show a load pattern like yours (one thread using 100% CPU, others not).

I'm not 100% sure about faster presets being less parallel, but I know CABAC is serial.

To get massively parallel, libx264 could use a boatload of RAM to keep frames around, and keep doing lookahead for 2 or more GOPs, and encode those independently.  It doesn't have an option to operate that way, though.

One way to make use of MANY cores is to run multiple separate encodes in parallel, instead of just a series of single encode using all cores.  This only works if you have multiple input files that you want encoded separately.  You're trading off threading overhead vs. more memory capacity and bandwidth (with an impact on caching, unless this is on a multi-socket system with separate L3 and DRAM for each cluster of CPUs, and you have the processes pinned to cores so one encode is using the cores in one socket, and the other the other).