Rough Idea of Time Spent Editing Videos I currently am the Video guy for our company. We do video training for installs for automotive parts. I do the planning for the videos. I do the shooting of the videos. I do the editing of the videos. I do the final release of the videos.

My boss wants a report about the amount of time it should be taking me to do this. Its a fair question and I'm all about self improvement and figuring out where I can do my job more effectively, especially if it will help me get a raise or move up in the company. My question comes from the amount of time I should be allotting for the start to completion for a video. Its not my only job, but it is about 30-35 hours a week, so a huge portion.

So how much time should I be allotting for start to finish of a video. I have put together several of the parameters bellow.

SO lets assume I was going to release a 10 minute video on YouTube.

I do my planning for the different shots I'm going to need.
I work with our other guy who is the "Host" or "Talent" on screen to get together what he needs to cover.
We start shooting, We do about 3 hours of shooting/installing, giving me what I need to work from.
I start editing the video, I join the audio, I sort through the footage, Pick all the different pieces I'm going to use, Cut in each scene (Which is rather easy because we shoot in consecutive order of the build), Lay in the intro & outro graphics, Lay the sound effects/background music (Which is typically most of the video and the same), Export the video, Make any suggestions/changes from the installers, Build the video thumbnails.
I upload the completed video to YouTube, add to other website locations, send an email its been release, write any type of descriptions/keywords.

Now I know how long I'm spending on each video roughly, its about 2-3 weeks time per video, and sometimes even more than that. I have about 4 years of experience doing this. I also know that it varies from person to person based on skill. I do have plenty of room for improvement, I know that. How long SHOULD it take me to complete a project like this? Am I in the ball park? Am I running really slow? Or am I doing good for my time frame?

This is a tough question because there are a ton of different factors involved here, from complexity of the video to the equipment you're working with to the NLE you use. However, the default formula we use to give time estimates to clients breaks down like this (I've run a small video production company for a few years working for a large variety and diversity of clients):

Pre-Production

2 hours per minute of final product:
This is a number that can swing wildly in each direction, mostly depending on how much pre-production we have to do. For instance, if a client already has a script prepared, we typically don't have to do much besides potentially locking down a location, prepping a shot list, and lining up a crew. However, if a client comes to us and just says "I want a video to express such and such" (without a concept), we'll spend a large amount of time brainstorming, writing, etc. Typically we'll even send the client 3 fairly well-developed concepts to see which one they like best.

Production

1 hour per minute of final product: This is the number that stays the most consistent across all our projects, and really boils down to only a few factors. The biggest factor is who we're working with - if we get to use our own (experienced) actors in the video, everything goes smoothly. If a company or organization wants to put their own people into the video, it takes longer because (most of the time) these people don't have acting experience and thus haven't memorized the script, aren't strong in staying consistent between takes, etc.

The other main factor in production time is the equipment you're using and how complex the shoot is. More cameras cuts down on production time because you can grab multiple angles at once (we typically shoot with 2 cameras at a time). A complicated shoot involving a lot of equipment set-up/breakdown will take much longer than a shoot with just a camera on a tripod. Set-up and breakdown of equipment (especially large equipment like a jib or dolly) can take a ton of time.

Post-Production

1.5 hours per minute of final product: Like pre-production, this one can swing pretty wildly in either direction, but I almost never give an estimate of less than 1.5 hours/minute of final product. This one really depends on what exactly you're doing in your post-production workflow - are you just throwing clips together on a timeline and then exporting it? Or are you going through all the extra steps, like color correcting/grading, audio cleaning/mixing, adding titles, VFX, etc.? Typically, if we're on a deadline, we'll cut unnecessary steps from that workflow to get a video out on time (most clients may not care if you don't color grade a project simply because most people won't notice it if it's not horrible).

Total

This works out to around 4.5 hours of work per minute of "final product" (a 10-minute video would take 45 hours, for instance). Like I said, there's a ton of volatility to that number - we've knocked out a 4-minute video in 10 hours, but we've also spent 20 hours on a 1 minute video. The biggest thing I've learned while in this industry is that people who are unfamiliar with the process of video production always underestimate how long a video will take from start to finish. To do it right, it takes time.

In your specific case, it looks like your video has a decent number of angles, cuts, etc., and your production value is fairly high. Your videos are long, too, so I'd say 2-3 weeks of working 30-35 hours/week is definitely within the acceptable range.


Stream desktop (linux) with FFMPEG to VLC Hey guys how can I stream my desktop to vlc I did found some examples but they do not work;First I need to start ffserver with some configs example here https://www.organicdesign.co.nz/Simple_video_streaming_with_ffserver then when I start stream with

ffmpeg -f video4linux2 -i /dev/video0 127.0.0.1/cam1.ffm

I got an error /dev/video0: No such file or directory

No need to use ffmpeg here:

Open VLC, go to Media > Open Capture Device and set Capture Mode to Desktop

Also see:

https://wiki.videolan.org/Documentation:Modules/screen/
https://wiki.videolan.org/Documentation:Command_line/#Desktop.2FScreen_grab_options


How is each type of video camera stabilizer different? What are the kinds of video camera stabilizers I could buy in the market? How are they different? What are the pros and cons of each?

There are a very wide and diverse range of different techniques for stabilization.

At the most basic, you have pure software stabilization.  This uses no specialized hardware, but rather tracks objects within a scene and then clips the video such that it maintains a frame which it can keep more stable.  This has an apparent impact of subjects moving less, but often produces an awkward feeling wavy effect as motion blur is still present in the source footage and occurs while the subject doesn't visibly appear to be moving.  It can also be used in support of other physical techniques.  It can handle minor corrections, but isn't advisable for large scale correction if it can be avoided.  This can be applied either in post or directly during capture on the camera (electronic image stabilization.)

At the next level, we move up to optical image stabilization systems.  There are two main techniques here.  The first utilizes a motion correction element in the lens along with small gyroscopes in the lens to keep the orientation of the corrective element relatively static.  This results in a correction for shake in the lens' orientation, but doesn't correct for lateral movement.  A similar system can be accomplished in camera by moving the sensor itself to correct for movement of the camera.  Gyroscopes feed the data on how to move the sensor.

Moving past that, the next big step up is a hand held gimbal stabilizer.  Gimbal stablizers work using inertia to offset movement rather than gyroscopic forces.  A typical handheld gimbal stabilizer consists of a rod with a free floating gimbal about 1/3 of the way along the length.  The camera is mounted on the top and a series of balancing weights are added to the bottom.  The inertia of the combined and properly balanced system results in orientation changes being absorbed at the gimbal as the inertia keeps the camera rig pointed in the same direction.  These provide far better stabilization for orientation and also provide a fair bit of stabilization for lateral movements, however they are considerably more expensive and more difficult to use well than an optical image stabilization system is.  It can also still be used with the previous mechanisms.

The next step up from this is a steadicam like rig.  Steadicam utilizes a gimbal stabilizer, however, rather than hand hold the gimbal, it is mounted on a spring arm attached to the operator's chest.  The spring arm allows for much better weight support as well as better absorption of lateral movement, thus it is able to deal with situations such as an operator running while operating the camera.

The final upgrade is to move back in to active systems again.  The inertial systems are all passive and thus don't require independent power (the OIS systems are active, but the inertial ones are passive.)  By adding high powered gyroscopes to an inertial system, additional stabilization can be achieved by providing active counter-action to changes in orientation.  The upside is that these hybrids provide the absolute best possible stabilization, but the downside is they are generally heavy, expensive (thousands to tens of thousands of dollars), power hungry and complex.


Equipment/setup recommendations (1 camcorder, 1 mic) What are some of the best options for setting up an indoor, stationary scene?
The project is an instructional video with one human subject speaking. The final end product will be interspersed with screen-capture video from a laptop. Intended viewing format for the end-user will be streaming through the web, if that makes any difference.

From what I know, most "professional" camcorders can take both mic level and line level inputs. So I have a few questions:

Camcorder: Aside from video-related differences, how do video DSLRs or otherwise consumer-grade camcorders compare to professional (big 3-CCD) camcorders in terms of working with external mics? What considerations should be taken regarding mic level vs. line level, if any?
Microphone: Any recommendations for microphones at various budgets (~$50-300)? Would a lav/lapel mic or a shotgun mic be better? Background noise reduction is key (firetrucks, sirens, etc. creeping through closed windows).
Mixer: Would a mixer be appropriate here, considering the answers to the previous questions?

From my preliminary research, I figured I have a few initial options:

Buy shotgun mic and plug into camcorder (phantom power provided by battery/outlet, I assume?)
Buy wired lapel mic, plug into mixer/whatever to raise to line level, and plug into camcorder line-in
Buy wired lapel mic and plug into camcorder mic-in
Buy wired lapel mic, plug into mixer/audio interface to raise to line level, and plug into computer (and sync during editing)
Buy wireless USB lapel mic and plug into computer (and sync during editing)

I feel that option 2 is probably the best way to do it in terms of sound quality, convenience, and budget. Option 5 might be suitable as well if mixers are the bottleneck that breaks the budget.

Any thoughts or equipment recommendations appreciated. Thanks in advance!

Image quality and audio quality are really two separate beasts, so address each solution independently.

  Camcorder: Aside from video-related differences, how do video DSLRs or otherwise consumer-grade camcorders compare to professional (big 3-CCD) camcorders in terms of working with external mics?
  Blockquote

"Big CCD" cameras are great at avoiding rolling shutter in the video signal, but this has no bearing whatsoever on the audio they record.  Since your question specifically addresses a stationary scene, though, rolling shutter shouldn't be a problem.  Another big advantage of professional video cameras is their connectivity to broadcast equipment.  But if you're not working in a broadcast environment, these features add unnecessary cost.

With respect to audio, most dslrs and consumer camcorders ship with some sort of automatic gain compensation (AGC) enabled.  This reduces peak volumes and amplifies silences in an attempt to balance the volume.  In uncontrolled situations, AGC can be helpful, and keep your signal from clipping.  In controlled situations such as interviews, however, AGC will introduce unwanted hiss into the silences.  Make sure the camera you choose allows you to disable AGC for these situations.

Of course, the danger of disabling AGC is that your signal might clip.  To avoid this, consider audio bracketing.  Split the signal from your mic, feed it to a preamp on two channels, and reduce the volume on one of the channels.  That way, if your primary signal clips, you'll have a backup.  Feed both of these channels into your camcorder to avoid sync issues.

Apologies if this doesn't make sense.  I'm not an audio guy.

In response to your question about lavs vs shotgun mics, I think this is a matter of preference.  Lavs are easy to set up, but they are more conspicuous than shotgun mics.  With a shotgun, you need a dedicated sound man, or a very stationary subject. Keep in mind that you aren't limited to "wired" lavs.  Wireless ones are actually the status quo.


FFmpeg BMP to YUV x264 color shift When I encode a particular sequence of BMP image files to AVC/H.264, the colors get shifted. Why does this happen?

But if I convert the BMPs to PNGs before running ffmpeg, the video conversion appears correct. My source material is in BMPs, and would prefer not to manually convert everything to PNGs to perform the workaround.

For the purpose of this question, I took the sequence of images and summarized them into these main colors being used:

First attempt at encoding (the pure white becomes noticeably green): ffmpeg -i 000.bmp -pix_fmt yuv420p -vcodec libx264 -profile:v main -crf 16 first.mp4

Second attempt (even worse): ffmpeg -i 000.bmp -vf "colormatrix=bt601:bt709" -pix_fmt yuv420p -vcodec libx264 -profile:v main -crf 16 second.mp4

Third attempt (too bright): ffmpeg -i 000.bmp -vf "scale=in_range=full:in_color_matrix=bt709:out_range=full:out_color_matrix=bt709" -pix_fmt yuv420p -vcodec libx264 -profile:v main -crf 16 third.mp4

However, using a PNG version of the same input image works great: ffmpeg -i 000.png -pix_fmt yuv420p -vcodec libx264 -profile:v main -crf 16 fourth.mp4

I am using the latest FFmpeg Windows x86-64 build (2016-11-22 Git d316b21):

C:\Temp> ffmpeg.exe -version
ffmpeg version N-82597-gd316b21 Copyright (c) 2000-2016 the FFmpeg developers
built with gcc 5.4.0 (GCC)
configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-dxva2
    --enable-libmfx --enable-nvenc --enable-avisynth --enable-bzlib --enable-fontconfig
    --enable-frei0r --enable-gnutls --enable-iconv --enable-libass --enable-libbluray
    --enable-libbs2b --enable-libcaca --enable-libfreetype --enable-libgme
    --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame
    --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenh264
    --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libschroedinger
    --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora
    --enable-libtwolame --enable-libvidstab --enable-libvo-amrwbenc --enable-libvorbis
    --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264
    --enable-libx265 --enable-libxavs --enable-libxvid --enable-libzimg --enable-lzma
    --enable-decklink --enable-zlib
libavutil      55. 40.100 / 55. 40.100
libavcodec     57. 66.106 / 57. 66.106
libavformat    57. 58.100 / 57. 58.100
libavdevice    57.  2.100 / 57.  2.100
libavfilter     6. 67.100 /  6. 67.100
libswscale      4.  3.101 /  4.  3.101
libswresample   2.  4.100 /  2.  4.100
libpostproc    54.  2.100 / 54.  2.100

To rephrase my question, how can I convert the sequence of BMP images to an H.264 video without unwanted color shifts?

Apparently FFmpeg doesn't set input color attributes correctly for BMP input (probably because the file doesn't contain that metadata) and the BMP decoder doesn't check for manually flagged attributes. However, we can force it using the format filter.

ffmpeg -i 000.bmp -vf format=rgb24 -pix_fmt yuv420p -vcodec libx264 -profile:v main -crf 16 first.mp4


Keyboard shortcut to extend clip duration (without changing speed) in order to fill gap for J-Cut in Premiere I'm trying to automate away the mouse (using Autohotkey) during the editing process. All regular edits are now keyboard-only except the J-Cut. Basically I want to fill the video gap in the following example:

I can easily do it with the mouse by extending the duration of the video on the left:

How can I do this with just the keyboard (and help of Autohotkey if needed)?

Shift-Q does it - as per the following StackExchange answer which refers to images but this applies to videos too:

Shift-Q - extend previous edit to playhead


What is the best software to do color pass effect for a film? I want to select a colour which the computer picks up on and then only allows that colour to be viewed on the video, hence turning the rest B&W.
(for example like Sin City)

What is the best software to do color pass effect for a film?

Mostly any commercial video editing software should be able to do this. Premiere Pro would be my go-to option, there are different ways to accomplish a color pass effect with it. You can set the color you want to be passed, the tolerance, chose if you want softened edges ... Premiere basically can do everything you can wish for regarding color pass. But then again, you should be able to do this with most prosumer-level editing programs.


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

color_negative
cross_process
darker
increase_contrast
lighter
linear_contrast
medium_contrast
negative
strong_contrast
vintage

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

Here's the details on what the presets do:

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

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

For auto leveling, a crude method would be use the autolevels subfilter of the pp filter.

ffmpeg -i input.mp4 -vf pp=al output.mp4

What this does is stretch luminance to full range.

To check levels before (and after) any adjustment you do, you can generate a RGB parade for a frame like so

ffmpeg -i input.mp4 -vf "format=rgb24,waveform=c=7:d=parade,scale=1200x512" -vframes 1 frame1parade.png

For a specific frame, use

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


ffmpeg with h264 produces smaller file sizes for veryfast preset I am experimenting with ffmpeg and x264 codec. And I have found some unexpected behaviour.

I am encoding video with parameters CRF 23, high profile and changing preset.  Documentation says:

  for constant quality encoding, you will simply save bitrate by choosing a slower preset.

And I am using CRF, so it should be this particular quote. So how is possible that I have achieved the smallest file for veryfast preset?

medium    256MB
fast      261MB
faster    235MB
veryfast  209MB
superfast 324MB

What am I missing? BTW another comparison have similar results.

I was able to find an answer. https://stackoverflow.com/a/14308561/941493.

In the nutshell, CRF calculation is also affected by preset so the same CRF number is not the same with different presets. Based on some developer difference can be mostly ignored.


What is the best tool to increase sound of MTS video without need to re-encoding this video? I need just increase sound of my MTS video. But I'm very afraid to lose the quality of video because it is classical music and intonation is very important.

The setup that i use for something similar is:

Step 1 - demux

avconv -i in.mts -an -c:a copy video.mkv -c:a copy audio.ac3

Step 2 - audio editing

For this i just open my audio.ac3 in Audacity and normalise the sound. At this time it may be a good idea to try to remove the noise. I reencode into Vorbis, but it is up to you what you wish to do. Let's say you save into audio.oga

Step 3 - mux

avconv -i video.mkv -i audio.oga -c:v copy -c:a copy out.mkv

Notes

Video was getting copied all the time. So no quality loss is possible from that.
You can drop the video demuxing, and just grab it directly from the original in the third step. But i find it just makes the process much cleaner when you know where everything is.


How to convert HDV to dvd full resolution 640 x 480? I have some content recorded in hdv, which is anamorphic. I only recently came to understand what that means exactly. Concerning the video size, it is 1440 x 1080, but the pixels are not square; they are wide. The effect is that the video displays the same as full HD 1920 x 1080.

I currently don't have a need for these particular videos to be in HD. Standard DVD definition is suitable. I also prefer that they are cropped to full size frame, instead of widescreen. So I would like to convert them to 640 x 480.

I have used handbrake to try and accomplish this but I am not sure how to make the best settings for this. Here's what I have come up with, but I am not sure what exactly I am getting out of it:

I don't necessarily mind if the video is anamorphic or not as long as it consistently displays 640 x 480. I don't know if it makes a difference, but this will be web videos in an HTML5 player. Currently, the player is designed to declare only the video width, so the height is whatever the ratio-correct number should be. I honestly don't know if this works for anamorphic videos.

All I really want here is the best settings to convert this HDV to an Mp4 that will be shown in an HTML5 player with the full screen aspect ratio at a maximum resolution of 640 x 480.

Whenever you publish something to end-users you ALWAYS want square pixels, everything else WILL make problems.

So just convert your anamorphic video to a square pixel aspect ratio. Handbrake should automatically handle that, the settings you have right now should output a video with square pixel aspect ratio. Just add the vertical resolution.

Is there any reason why you would want to crop your video to 4:3? A down-scaled 16:9 square pixel resolution would equal to 640x360 for a "SD" resolution (bare in mind there are several different DVD standards) and I would suggest you to use that resolution and don't just crop your video unless you have an artistic reason for that.

If handbrake is unable to handle the non-square pixels you will have to reside to use either a full fledged video editor or alternatively FFmpeg.


What is algebraic effect of transforms in Adobe After Effects Keyframe Data file? I want to write software which peforms a pan, zoom, rotate, and resample on a 3840x2160 input video, yielding a 960x540 output video. I have an keyframe data file, exported from Adobe After Effects, which specifies the pans, zoom, and rotate actions I want, in terms of key frames. I could let Adobe After Effects render the output video, but instead I want my own software to do this part.

The file looks like this:

Adobe After Effects 8.0 Keyframe Data

    Units Per Second    29.97
    Source Width    3840
    Source Height   2160
    Source Pixel Aspect Ratio   1
    Comp Pixel Aspect Ratio 1

Transform   Scale
    Frame   X percent   Y percent   Z percent
    0   200 200 0
    150 300 300 0
Transform   Anchor Point
    Frame   X pixels    Y pixels    Z pixels
        1920    1080    0

Transform   Position
    Frame   X pixels    Y pixels    Z pixels
    0   480 270 0
    150 -4800.88    2356.12 0

Transform   Rotation
    Frame   degrees
    150 30

End of Keyframe Data

I don't understand the algebraic relationship between pixel coordinates in the input video frame and pixel coordinates in the output video frame, in terms of the keyframe data in this file. I understand translate, scale, and rotate operations in the abstract, as linear transformations. I don't understand, for example, if the Transform Position values are absolute or relative motions, or how they are affected by the Transform Scale values, or if they are in terms of input frame coordinates or output frame coordinates.

I realise that the actual transformation is based on per-frame values interpolated between these keyframes. I think that's not a problem for me.

What is the algebraic relationship between pixel coordinates relative to the input video frame, and pixel coordinates relative to the output frame, for a frame described by the keyframe, given the width and height of input and output, and the values in the Adobe After Effects Keyframe Data file?

Have you tried using after effects? You can get a demo, it will give you an idea of the metaphor behind it.

The position of a layer is the position of its anchor point in the comp space. The anchor point is expressed in terms of the layer space and is the point that the layer rotates around and scales from. By default the anchor point of a layer is its center. In both layer space and comp space the origin [0,0] is the top left, and increasing values move the point to the right and down. E.g. for a 1920x1080 comp / layer the point [1920,1080] is the bottom right.


Is there a NLE that supports Variable frame rate? Now before you quickly jump in and say:
Premier got an update...
Use handbrake...
What I'm asking none of the big players seem to support.
Rendering a video that's frame rate changes through the course of it run time.
There are three line in wikipedia for VFR. One of the sources says:
"More modern formats like MPEG-4 allow variable frame rates as well, where the timebase itself changes between parts of the file. However, most tools don't support that directly"
Are there any programs that fully or partially support this?

You could render the scenes to single files and combine them in ffmpeg to one .mp4 container.
Allthough Indont know why you would want that.


Would a large grass field make a good green screen? This is a picture of a green field that changes into a hill.

The idea is can you can have a large, organic 3D green-screen this way?

I used a program to normalize the darker green areas of the field using replace color and increasing the thresh hold without losing texture and wonder if this could be done to a live feed?

It's doable, so long as you have some time, diddling around in After Effects with the Keylight chromakey and the camera tracker... Here's an example I made a while back at 4m25,5m17,
6m04, 8m33 (and a few other sections):


After Effects: Detect if Lines are Intersecting I have two lines (The lines are imaginary, i have two Nulls as endpoints for each line)
I want a fifth Null two appear where the lines intersect.
I have used this code so far:

p1 = thisComp.layer("red_end").transform.position;
p2 = thisComp.layer("red_start").transform.position;
p3 = thisComp.layer("blue_end").transform.position;
p4 = thisComp.layer("blue_start").transform.position;

m1vert = Math.abs(p1[0]-p2[0]) < .0001;
m2vert = Math.abs(p3[0]-p4[0]) < .0001;

if (! m1vert){
m1 = (p2[1]-p1[1])/(p2[0]-p1[0]);
b1 = p1[1]-m1*p1[0];
}
if (! m2vert){
  m2 = (p4[1]-p3[1])/(p4[0]-p3[0]);
  b2 = p3[1]-m2*p3[0];
}
if (m1vert && m2vert){
  x = value[0];
  y = value[1];
}else if(m1vert){
  x = p1[0];
  y = m2*x + b2;
}else if (m2vert){
  x = p3[0];
  y = m1*x + b1;
}else if (m1 == m2){
  x = value[0];
  y = value[1];
}else{
  x = (b1-b2)/(m2-m1);
  y = m1*x +b1;
}
[x,y]

The fifth Null does appear in the intersections when the lines intersect, but also miserably stumble around on screen when the lines don't intersect.
I want the Null to go to a specific position whenever the lines don't intersect.
So how would I do that?
Any help is appreciated.

The fifth null doesn't wander randomly, it just extends the red and blue lines off beyond their ends. You need to detect whether the intersection point is on the segment between the start and end nulls for each line.

You can test for it with this rather horrifying conditional: basically it tests to see if the intersection is outside the bounds of each point's x then y coordinates.

Replace the last line of your expression with this:

if ((x > p1[0] && x > p2[0])||(x > p3[0] && x > p4[0])||(x < p1[0] && x < p2[0])||(x < p3[0] && x < p4[0])||(y > p1[1] && y > p2[1])||(y > p3[1] && y > p4[1])||(y < p1[1] && y < p2[1])||(y < p3[1] && y < p4[1])){
    value
}else{
    [x,y]
}

Another version, does the same thing but with nice readable code, and a re-useable function:

function outsideBounds(samplePt, p1, p2){
  if (samplePt[0] > Math.max(p1[0], p2[0])) {return true}
  if (samplePt[1] > Math.max(p1[1], p2[1])) {return true}
  if (samplePt[0] < Math.min(p1[0], p2[0])) {return true}
  if (samplePt[1] < Math.min(p1[1], p2[1])) {return true}
  return false
}

if (outsideBounds([x,y], p1, p2)||outsideBounds([x,y], p3, p4)){
    value
}else{
    [x,y]
}


How do I add multiple videos into multiple shape layers I have a vector map of the state of NJ that I have broken up into counties (overall state as the shape layer...all counties underneath in a Group)
I'd like to insert a different graphic/video into each of the counties. Can anyone help me figure this out?

You'll need to make a separate layer for each county. You can do this by duplicating the entire NJ layer and deleting all but county #1, then duplicating the NJ layer and deleting all but county #2 and so on… You probably want to select all these layers and set their parent to the first layer so that if you transform one (move, scale, rotate) they'll all transform.

Once you have your separate layers you need to put the video layer for each county underneath its county shape layer. So it should look like a multi-layered sandwich, shape layer, then video, then shape, then video…

Then set the alpha matte for each video layer to the layer above. The alpha matte drop-down is next to the transfer mode drop-down. Then it will use the opacity of the layer above as a matte for the video layer.


FFmpeg encod set of time stamped images as Iframes I have a set of images that are in time stamped order ( the unit is seconds ) but not in a set interval

012.png
017.png
024.png

etc.

How can I encode them so that each image is an Iframe at that given interval ?

Also possibly this is not what I want to do . I'm not sure if its mandatory to have videos have their Iframes at a fixed interval ( forgive my naivety about the subject )

Hopefully the images would interpolate between each other smoothly ( with a feel of motion ) . I can imagine a way to do it by just creating my own in-between images by interpolating in some way between two frames ( no chance I do as good a job as encoders already do ).

I feel like though that this is exactly what an encoder does and am trying to figure out if I can leverage it to do this frame generation work for me by handing it a list of Iframes with timestamps .

If this is something that needs to be done at a lower level c++ or by working directly with an encoder ( if thats the right term ) I would certainly be willing to work on that level . I am really unsure of the approach to take .

-------- Additional Information

I took a look at

http://theora.org/doc/libtheora-1.0/group__encfuncs.html#gdbe7dd66b411c2d61ab8153c15308750
But there doesn't seem to be a way to insert a frame at a target position .

Your understanding of what an encoder does is incorrect. It doesn't make up images to fill in the time between I frames. It does somewhat the opposite: it takes a full series of complete images and decomposes them so that only the I frames and the differences between them remain.

What you're asking for is, in animation terms, called tweening. The linked article will point you to some software that can do automated inbetweening, but it's usually not useful for real-life images over the durations you seem to have. For smaller intervals (a frame or two) the process is called interpolation.


Why do they deliberately (?) crush the quality for any video sent in by "normal people"? Whenever they (TV stations, YouTube channels, etc.) show footage shot by "normal people", even current such, it always looks like they used a cheap consumer video camera from 1981 with a worn-out VHS tape and then processed this on Adobe Premier 1.0 on Windows ME with the lowest possible quality settings and then recorded the screen showing this video with an even worse camera which then was processed further to just become a blur of pixels.

Assuming that what I said is nonsense, how is it technically possible for the quality to be so incredibly bad? Any person with zero artistic or technical skills can, today, just hold up a "smartphone" and video record any event in crisp, clear quality. It's difficult to make it look bad unless it's very dark and you constantly shake the camera around like a madman.

Surely they must be applying some kind of "crusher/uglifier" filter on these videos, to remove details/quality? I can't see any other explanation. But why do they do this? Is it that they can't stand the idea of it being "stolen" and re-used, so they sit on the real quality version and never show/broadcast it as it was shot? But then their own broadcast also looks crappy, so that also doesn't make any sense...

None of this makes any sense to me.

Without an example it's hard to say, but I think perhaps sometimes people just hold up their camera and film, they can't or don't frame the shot or adjust the zoom, they're often standing in one place and can't get closer to line up a good shot. Also lighting is super important for good video, unless it's filmed during the daytime in sunlight, the quality really suffers.

If the image is cropped and zoomed for television, it will amplify camera shake (and most of these videos are handheld) and reduce the quality a lot.

I also think most people don't have high end phones. Even really good phones suffer terribly in low light. I think it's quite easy to underestimate how poor video looks when you view it back on a phone too - if you export it and view it on an external screen, the lack of quality becomes much more noticable.


Compare an original video with a transferred video? I want to compare an original video with the same video but transferred through a device. How can I do that? I want to compare them to improve the transferred video quality.

The video is transferred through a device that controls video cameras in  operation rooms. It's connected to the monitor through HDMI and so whenever a surgent is doing an endoscopy surgery it'll be shown on the monitor but first transfered from this device.

We want to improve the quality of the video if it's not at it's highest quality. To know that, we should compare it with the original video that is directly connected to the monitor.

I have some parameters in mind like brightness, contrast, frame rate, blurriness,... and many other parameters that can affect the video quality.

How can I measure this?

There are quite a few programs that do so-called "full reference" measurement, i.e. comparing an original against a degraded signal:

http://www.acceptv.com/en/products_vqa.php
http://compression.ru/video/quality_measure/index_en.html (commercial)
http://www.its.bldrdoc.gov/resources/video-quality-research/guides-and-tutorials/description-of-vqm-tools.aspx (free to use, gives results on a 0-1 scale)
http://mmspg.epfl.ch/vqmt (free to use, calculates various metrics)

These are all outputting some value that you can use to objectively compare different systems.

However, keep in mind that the results you get from such a software may not correspond exactly to what humans would rate. These metrics have been trained on natural images and movie sequences and the results may not be valid for medical purposes.

I would suggest you try VQM (it is standardized by the ITU) and image metrics like SSIM. They perform very good, in principle. Then check whether the results are what you would expect when looking at the videos yourself. You could do a small test with a few experts and let them rate a few sequences, then compare the results with the objective values you obtained from the software.


How can I create an intro animation in Final Cut Pro X or Motion, with or without plugins? How can I create a similar intro to the one in the video below using Final Cut Pro X or Motion and possibly a plugin? Or is it only possible with After Effects?

You could easily create that in FCPX, no plug-in necessary. The various circles can just be still images that you apply rotation and scaling to. (I'd make them large and then scale them down rather than making them small and scaling up.) I'm not sure if there's a title that exactly matches what they do, but it wouldn't be too hard to do that sort of titling. Worst case, you can pick up Motion for < $50 and use the text sequencer to do it.


Best export settings for still image with audio Suppose I have a sequence in Premiere which is an audio track accompanied by a single still non-moving image (e.g. a song and the album art).
Being that there is no video (or motion of any kind), what would be the most efficient settings in Adobe Media Encoder to use to export this file for upload to YouTube? When you use the regular YouTube 1080p setting, the files are definitely too big.
The audio track itself was created in Premiere, so it would be more convenient to encode everything from the same place

To minimise the file size for distribution of something like this, you need a Variable Frame Rate encoder, which will effectively just encode 1 frame, and set the frame rate such that there's no further frames. I've not seen this available in Adobe (or any commercial product I've looked into), but definitely there are services I've seen encoding video this way - I've seen examples of very small Facebook video files that appear to be VFR and done this way. In the absence of finding an available encoder, I'd just lower the bitrate as much as you can in Adobe that the image is still good, and use that. The upload time to YouTube might suck, but it only has to be uploaded once anyway.
If anyone does know of an available VFR (Variable Frame Rate) encoder, please post the info - this isn't the first time I've seen the question asked, but I'm yet to learn of any end-user available encoders to do this.


Avid Media Composer 8 - is it possible to edit two video sessions at same time? I am editing multiple interviews of people and there is video, graphic and audio components that are shared between these different interviews.   Is it possible to have two edit sessions running at same time and how

Are you talking about having two projects open at one time? As far as I'm aware, Avid MC doesn't let you do that.

But you can import Bins from another project and technically do what you want that way. Otherwise I would just make one project for all the interviews, and separate them with bins if they're all sharing some elements.

EXP:
Interview1 Bin (containing the clips for interview 1)
Interview2 Bin (containing the clips for interview 2)
SFX (Shared sound effects)
Music (Shared music)
GRX  (Shared graphics)


Final Cut Pro X multiple audio channels auto muting I have a recording with two audio channels, one is a lapel mic for my audio and the other is someone else sitting across the table from me (we do this because we're recording in a fairly echoey room so a single mic in the middle would sound echoey and I wasn't sure that there was an easy way to solve that and thought this would do...).

The problem I have is that I can be heard on the other mic and vice versa to a lesser extent, and when I add both audio channel to the video this slight alignment issue then recreates the echoey effect, is there a way to get FCPX to automatically mute one audio channel when the first is louder?

Or is there a better way in software of handling this that I'm missing (aside from better kit/soundproofing or moving one person to another room, the only one of which I could possibly do there is mayb slightly better microphones)

To my knowledge, there is no feature or even a plugin what can monitor one audio channel and adjust another. I would see that as it is the job of the editor or sound engineer. That's the reason you get paid the big bucks I guess.

Better microphones definitely can help. If you get microphones which have a very distinct range you can limit the echo effect. You might consider asking in sound engineer group what microphone would be best for your situation.


Automated source text animation based on split I have newly started in AE and I came across source text animation.
I have a requirement where I want to show multiple text on source text keyframe animation. I was wondering instead of writing each text on the keyframe is there a way to automate this.
For example, I have created two text layers and the empty layer is referring to the data source (text source) and I know how to split them based on a delimiter. Please refer to the screenshot.
t=thisComp.layer("test1-test2-test3").text.sourceText;
word=t.split("-");
word[2]

Now, Is there a way for me to tell AE to increase the value dynamically inside word[] in line 3 by +1.
If possible, I desire the code to return word[0] at 0000; word[1] at 0001 and word[2] at 0002.
Many thanks in advance.

Found it
t=thisComp.layer("test1-test2-test3").text.sourceText;
word=t.split("-");
n = time/thisComp.frameDuration
word[n]


Export .mov 1080i60 (59.94i) 29.97 fps Adobe Premiere I've done this before in an older version of adobe premiere but I can't seem to remember how to get the export settings correct.

I need to export in:
1080i at 29.97fps with resolution 1920x1080 as a .mov file

I found these settings under H.264 and HD1080i 29.97 but it forces a .mp4 file. Under quicktime I don't seem to have the 1080i presets. Am I missing the settings or is there something I can do to make this work?

Here is a chart for the standards I'm trying to follow:

Download Quicktime to enable missing codecs
In export settings select "Quicktime" for format
Ignore preset, scroll down to video codec and select H.264


How to scale video showing the underlying layer/track in the cropped area I have imported the smartphone screen record in Premiere using the option set to frame size to mantain video aspect ratio, with this option the video is centered with its aspect ratio, after that I have moved the video on V2 track and have added a background image in V1 track

The problem is that: unused area of scaled video results black.
How to crop the V2 track to show the previous level V1 track in the unused space?

You imported the footage with the resolution set in your timeline by choosing set to frame size. Thats not what you want in this case, it adds black bars wherever your footage doesn't fill the frame size set in for the timeline.

Premiere would have kept the correct aspect ratio either way, it doesn't automatically stretch footage thats not the same resolution as the timeline, you would only see distortion if the pixel aspect ratio would differ between timeline and source. Re-import the footage without the set to frame size option and you should be fine.


How do I round trip through premier without losing audio volume? I have Premier Pro CC 2017 trial. I have a .MOV file from my iPhone.

Steps:

Start Premier
New Project
Click OK
Drag file into timeline
Pick File->Export->Media...
Click Export

The resulting file has about 1/2 the audio volume as the original .MOV file

Why? I don't want to amplify the audio. I want the original audio as is. The point of this particular video is it's audio. All I wanted to do is crop and trim the video but because it's changed the audio it's useless.

What do I need to change for the audio to stay the same?

Note: this is a new trial. I've never used Premier before. I haven't changed any settings.

Premiere doesn't change the audio levels (volume or db) by default. So I'm not sure why you are experiencing loss in volume.

My guess would be that you have turned down the audio levels in premiere by accident. Or that you are incorrectly comparing the files (have you checked the waveform to see if they are different levels?).

If you changed the audio levels you either did it on the track, clip, or audio mixer. To check if you did it on the clip you can right click on it and check out the audio gain. The mixer settings should all be 0db by default. For web delivery I tend to keep max peaks at - 6db.

If all else fails than you are experiencing some sort of bug. You could always try adjusting the levels of the clip through the right click - > gain way on the clip.


Why is Adobe Premiere not letting me apply a filter to this sound clip? I have a sequence with various clips, one came from a multi-cam and the other one straight from a video. I had no problem applying the filter to the multicam one:

But when I try to apply it to the other one, it won't let me:

Any ideas why?

Check to see if the filter is restricted to specific audio file / stream / track types.

For instance, I believe you’ll get the same issue if you tried to drop filters that apply only to Stereo Tracks to a Mono File Track, such as Swap Channels, Fill Left, Fill Right, etc. Because its impossible to swap left and right channels when youre on a mono track.

You dont specify what filter, but thats my guess.

Same goes with Video Filters... there are some filters you cant drop onto video tracks with Alpha, or vice versa.


How much video & audio bitrate do I need for dvd videos? I have videos with ~5000 kbps of avg. bitrate, if I burn the videos to a PAL DVD, which the resolution is low...(720x576), with 1000 avg. bitrate, will it be obvious to see the difference in quality? If so, can you suggest how much bitrate do I need in a dvd video? I prefer better quality and lower in size. Since the ratio of PAL DVD is 1.25, but the videos' ratio is 1.7 (originally 1080p), will the side being cropped or shrinked until it fit the width? (First time trying :D)
Let say if this is my TV's size, exactly 720x576 :

And also, how much audio bitrate do I need (normally I use AAC 128 kbps when watching on pc)? Some video's audio codec is 16-bit, 2 channel FLAC, is it recommended using FLAC instead of AAC in dvd?
Thanks.

More than 'what do I need', you should ask yourself 'how much am I allowed'.

This page mentions an average bitrate of 4-5 Mbits/s, this is audio + video + subtitles. It also depends on the length of your content (as you also have a maximum capacity of about 4.7 Gb for a single layer DVD-Video).

FLAC is not supported on DVD-Video, common audio codecs are MPEG1-L2 and ac3.


How to compare the illuminance of similar light fixtures in Lux given at different distances? I am trying to compare the brightness of these two fixtures:

Godox LEDP260C: 2050 Lux @ 0.5m

Godox LED1000Bi II: 2200 Lux @ 1m

(Both at 3300K).
How do I effectively compare these two values? The light sources are similar in shape and size (30x20cm for the first and 40x40cm for the second).
How. Do I go about comparing these two? What about cases where the size and distribution of light is not so similar?

You could do some back of the envelope calculations, if they're both the same shape and the LEDs in them have similar lenses etc., the beam will be similar, so the falloff will be similar.
Given that the area illuminated at 1m is 4 times the area illuminated at 0.5m (area of a segment of a sphere is proportional to the radius squared, so twice the distance squared is 4 times the area), the intensity of the first is going to be roughly ¼ that of the second. Which figures, going by the model number: the first is probably meant to be "equivalent" (these figures are always rubbery) to a 260W incandescent light and the second to a 1000W light, so roughly 4 times as powerful.
You could also compare the wattage to see exactly how much power each one is.
In cases where they're not similar size and distribution (BTW the first panel is less than half of the area of the second, so in no way would I say they're similar in size), then you're comparing apples with oranges. Different lights do different jobs.
TBH With cheapo lights like that I'd actually be more concerned about how good the colour was.


How can I use 50fps media in iMovie 11 and avoid a frame drop to 30fps? My photo camera records FullHD video at 50fps, and when I import the videos into iMovie (version 10.1.2 according to the app store) the frame rate stays there, I can see smooth videos playing in the library. However, when I drag a 50fps video to the timeline of an empty project, the frame rate is visibly reduced, and when I export the video I get a 30fps movie.

Is there anything I can do to maintain the 50fps through the edition process and into the output?

While it is unfortunate that iMovie drops by default from 50fps to 30fps, it also upscales videos to 60fps if the project is started with a 60fps clip! I've ended making myself a one second 60fps dummy clip which I drag first into the project line. After dropping this dummy clip, I verify that the archive export dialog shows 60fps FullHD option, then add the other 50fps clips. At the end I remove the 60fps dummy clip and the project still allows exportation at 60fps.

In this situation iMovie will upscale the 50fps video to 60fps, generating a duplicate frame every five to compensate. Still, this is much better than dropping from 50 to 30 frames.

The most important thing to remember is that the option to export at 60fps is only available if the first clip dragged into the project is recorded at 60fps. If you already have a full project at 30fps dragging the 60fps clip won't help. So remember, drag always the 60fps dummy clip first!


Where are the After Effects workspaces saved? Is there a way to import custom workspaces from another computer?

According to Adobe:

Workspaces are stored in XML files in the preferences folder. With some caveats regarding monitor size and layout, these workspaces can be moved to another computer and used there.

Windows:

[drive]:\Users\[user_name]\AppData\Roaming\Adobe\After Effects\[version]\ModifiedWorkspaces

Mac OS:

[drive]/Users/[user_name]/Library/Preferences/Adobe/After Effects/[version]/ModifiedWorkspaces


Color correction/grading then editing in Premiere I'm trying to incorporate color correction/grading into my Adobe Premiere CC workflow. I have an x-rite color checker, and have had some success calibrating in Davinci Resolve Lite, but I don't want to render everything in Resolve, just to have to rerender/edit in Premiere. Is it possible to simply output the calibration information (Looks & LUTS?) created from the color matching into Premiere so it's just another effect being rendered on my clips?

If not, is there a way to use Adobe Speedgrade CC to match the colors from the x-rite color checker and then send it back into Premiere without having to render all the clips before other editing?

I guess the final option would be to edit and render in Premiere and then use Davinci Resolve as a post-processing calibration step and rerender afterwards, but this seems like it wouldn't be as convenient and would be very time consuming.

In turns out all I had to do was grade in DaVinci Resolve and right click on the graded clip's thumbnail in the color environment and select Generate 3D LUT (CUBE).

Then in Adobe Premiere CC add the Lutemtri effect to an adjustment layer, expand basic correction, Browse for Input LUT.


Editing AVCHD on older XP host? I just bought a Sony camcorder that records videos in AVCHD.

I only have a modest, older XP host with an Athlon 64 X2 5200+ and 2GB of RAM.

It looks like I should first convert the AVCHD files into something smaller before editing the segments with standard applications. I need to edit videos I took over a vacation, so lower quality is OK.

What would you recommend I do?

Thank you.

Remember every time a video is transcoded or rendered you will loose some quality. Why not consider getting Vegas Movie Studio. Version 9 through the current version 11 are compatible with WinXP and can handle the AVCHD format just fine.

Vegas Movie Studio is the light or home version of Vegas Pro and costs about 84% less.

If you are only editing simple scene to scene, not multitracking video as in compositing, and keeping it simple, any of these versions should work on your WinXP machine. The older the version the cheaper the cost, for instance Vegas Movie Studio 11 (current verison) is running about $94 while the older version 9 maybe as little as $75 on amazon.com or less on EBay. This way you can edit your original AVCHD files and only have to render once.

I ran Vegas Movie Studio 9 before upgrading to the pro version and found it perfect for simple scene to scene edits, and it has a multitrack audio too so can have voice, effects, Foley, ambient, and music all on their own tracks.

If you choose to do this, I would run a test with how long vs how many effects you can get Vegas Movie Studio to do on this older machine so you will know what the limits are. Even with a quad core running 4 GB of DRAM on Win7, I have learned there are limits what I can do with the Pro Version of Vegas 10. This is extremely useful to know as you will be able to walk into a project knowing if your gear can handle it or if you will have to seek workarounds, like breaking a project in half and rendering separately or not.


Best way to create external alterable configuration file to be read by After Effects and Java Background
I'm trying to make an AE animation to visualize some data. Since the raw data I'm using comes in json files and needs to be parsed and analyzed to find useful statistics, I'm using a java program to import all the json and export .csv files for After Effects. I've managed to run through this workflow once already, importing json, exporting csv, and writing AE scripts to read the data from the CSV and calculate object movements on the timeline.
However, when I went to make some changes to how the animation worked, I decided to create a config.properties file that the Java program reads to adjust some settings when creating the CSVs. My intention was that After Effects could read the same file, figure out what settings Java had been using, and parse the CSV accordingly. I figured it wasn't going to be as easy to read the file in AE as it had been in Java, but I hadn't anticipated not being able to import it. I've gotten either errors saying I need Adobe Animate CC to import a .fla file (it's not .fla and I can't imagine why I should need to download that, although I can if necessary) and just plain crashing.
I tried Googling and
At this point I thought that maybe the best course of action would be to write a short Java script that parses the config.properties file and rewrites it as a csv in the form "string",value on each line while removing all of the comments, but having to parse my own config file kinda defeats the point of writing my own config file for both programs... I also like the .properties format, allowing me to use # for comments and define constants in the form variable: 0 or variable: "abc". I didn't actually ever parse it out of the .properties file because I realized that is probably a terrible solution, and instead I came here.
TL;DR
What is the best way to create a configuration file, composed of user-readable comments, variable names, and string/numerical declarations for those variables, which can be read by my Java program and After Effects, such that I will only need to make a change to one config setting, rerun Java, and then reexport my animation to have something completely new?
Since Java is obviously more flexible here, I'm mostly interested in a good non-laggy AE solution that will ideally require minimal modification to my Java setup.
Some random notes

I found from another Stack Exchange question that it's possible to import a file from an after effects expression, but they named two major problems for me: the inability to reference that file relative to my project (the project directory will move and I'd prefer to not have to make many changes in that case) and it re-imports the file every frame, which would simply destroy my already painstakingly slow animation.
I need to be able to modify everything in the config file. While it can be assumed that once I reference a variable in the AE script that variable will always be present with the same name, its line number may shift as I add new comments and variables.
I tried changing the file to .txt, which allowed After Effects to read it (and Java has no problem with any random file extension), but I just get a list of the contents of line that I can reference individually and doesn't respond to the creation of new lines in the config file. In other words, useless.

Here's an example screenshot from my existing config.properties file. Obviously these aren't real values. I'm not that stupid. They're just examples of all the data types I'm using at the moment. Notably Java just reads all of these as strings and then I have to go tell it if it's an integer or whatnot. Since this is all a personal project I'm putting 0 effort into stopping it from breaking if I replace stuff with random unexpected data types.

I would look at Templater Rig to see whether this does a fair amount of what you need.
https://aescripts.com/templater/
You can also import JSON files directly into AE without conversion to CSV first:
https://helpx.adobe.com/after-effects/using/data-driven-animations.html


Davinci Resolve 12 (Editing) So, Im starting a project in Davinci Resolve 12 (DR12) but I am used to using FCPX and they way I can change the Field Dominance for the clips as I use a Canon C100 which records in 25p (50i) AVCHD, but playing back it is not in progressive format. In FCPX I can just select all the clips and change the field dominance in the inspector, now I cannot find out how to do this in DR12 or am I just being over ambitious?

Can anyone help or advise.

EDIT

Images below

DR12 Clip Properties - no option to change the clip to PROGRESSIVE like in FCPX

DR12 clip in timeline =- Notice the lines / interlacing

EDIT 2

Added FCPX images

EDIT 3

In the Media View window, select all the clips you want to change.  Right click one of the selected clips and choose "Clip Attributes".  In the Video portion of the Clip Attributes, tell Resolve what you want it to do.


Is After Effects capable to show me every asset in the projects library that is NOT used in active comp? Is it possible to delete all unused assets in the projects panel from after effects?

With the desired composition selected in the Project Panel, go to:
File > Dependencies > Reduce Project:


Speed up a video 30x using only key frames with ffmpeg? I have a 30 fps video with a GOP 30 (1 i-frame per second).
I'd like to create a version that is '30x faster', by dropping all frames except every 30th frame. I can do that as so:

ffmpeg  -i t1.mp4 -filter:v "setpts=.033333*PTS" f6.mp4

It creates the desired output, but it runs slow, and uses a lot of CPU. I presume this is because it is stepping through all the frames and decoding each one before throwing away 29/30 of them.

Is there a way to instruct ffmpeg to create a '[GOP]x faster' video using only the key frames, so that it need only decode the i-frames?

I'd also like it to do no transcode of the iframes - same size, etc. I don't mind what the GOP of the output video is.

thanks

For a H264/5 stream, this can be done in two steps:

ffmpeg -discard nokey -i t1.mp4 -c copy t1.264

ffmpeg -r 30 -i t1.264 -c copy t1keys.mp4


Use ffmpeg to remove specific chapters out of an MP4 I would like to know how to use ffmpeg to remove specific chapters from a video file. Below is an example.  I would like to remove all the Chapters marked "Advertisement".  I've searched everywhere and I can't seem to find a way.  I don't even mind re-encoding, but I just don't want to do it by hand.

 Duration: 00:52:24.45, start: 0.042989, bitrate: 3290 kb/s
    Chapter #0:0: start 0.000000, end 19.142000
    Metadata:
      title           : Video
    Chapter #0:1: start 19.142000, end 34.017000
    Metadata:
      title           : Advertisement
    Chapter #0:2: start 34.017000, end 810.551000
    Metadata:
      title           : Video
    Chapter #0:3: start 810.551000, end 915.283000
    Metadata:
      title           : Advertisement
    Chapter #0:4: start 915.283000, end 1206.940000
    Metadata:
      title           : Video
    Chapter #0:5: start 1206.940000, end 1291.963000
    Metadata:
      title           : Advertisement
    Chapter #0:6: start 1291.963000, end 1614.738000
    Metadata:
      title           : Video
    Chapter #0:7: start 1614.738000, end 1694.709000
    Metadata:
      title           : Advertisement
    Chapter #0:8: start 1694.709000, end 2068.249000
    Metadata:
      title           : Video
    Chapter #0:9: start 2068.249000, end 2173.261000
    Metadata:
      title           : Advertisement
    Chapter #0:10: start 2173.261000, end 2472.440000
    Metadata:
      title           : Video
    Chapter #0:11: start 2472.440000, end 2582.395000
    Metadata:
      title           : Advertisement
    Chapter #0:12: start 2582.395000, end 3143.276000
    Metadata:
      title           : Video
    Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p, 1280x720, 3088 kb/s, 29.97 fps, 29.97 tbr, 90k tbn, 59.94 tbc (default)
    Metadata:
      handler_name    : VideoHandler
    Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 193 kb/s (default)
    Metadata:
      handler_name    : SoundHandler
    Stream #0:2(eng): Data: bin_data (text / 0x74786574)
    Metadata:
      handler_name    : SubtitleHandler
    Stream #0:3: Video: png, rgb24(pc), 640x360 [SAR 2834:2834 DAR 16:9], 90k tbr, 90k tbn, 90k tbc

This can be done using the concat demuxer. If the Video chapters begin with a keyframe, then encoding can be skipped.

#1 Copy/Paste the following into a text file, or pipe it to the command in the next step

    Chapter #0:0: start 0.000000, end 19.142000
    Metadata:
      title           : Video
    Chapter #0:1: start 19.142000, end 34.017000
    Metadata:
      title           : Advertisement
    Chapter #0:2: start 34.017000, end 810.551000
    Metadata:
      title           : Video
    Chapter #0:3: start 810.551000, end 915.283000
    Metadata:
      title           : Advertisement
    Chapter #0:4: start 915.283000, end 1206.940000
    Metadata:
      title           : Video
    Chapter #0:5: start 1206.940000, end 1291.963000
    Metadata:
      title           : Advertisement
    Chapter #0:6: start 1291.963000, end 1614.738000
    Metadata:
      title           : Video
    Chapter #0:7: start 1614.738000, end 1694.709000
    Metadata:
      title           : Advertisement
    Chapter #0:8: start 1694.709000, end 2068.249000
    Metadata:
      title           : Video
    Chapter #0:9: start 2068.249000, end 2173.261000
    Metadata:
      title           : Advertisement
    Chapter #0:10: start 2173.261000, end 2472.440000
    Metadata:
      title           : Video
    Chapter #0:11: start 2472.440000, end 2582.395000
    Metadata:
      title           : Advertisement
    Chapter #0:12: start 2582.395000, end 3143.276000
    Metadata:
      title           : Video

#2 Prepare the text file for concat

It should end up like this

file 'myfile.mp4'
inpoint 0.000000
outpoint 19.142000
file 'myfile.mp4'
inpoint 34.017000
outpoint 810.551000
file 'myfile.mp4'
inpoint 915.283000
outpoint 1206.940000
file 'myfile.mp4'
inpoint 1291.963000
outpoint 1614.738000
file 'myfile.mp4'
inpoint 1694.709000
outpoint 2068.249000
file 'myfile.mp4'
inpoint 2173.261000
outpoint 2472.440000
file 'myfile.mp4'
inpoint 2582.395000
outpoint 3143.276000

Each set of three lines corresponds to an included video chapter. The file entry is on the first line, chapter start and end times on the 2nd and 3rd lines.

I used the following command to generate it

grep -B2 'Video' chp.txt | awk '(NR-1) % 4 == 0' | sed -E 's/\ *Chapter #[0-9]:[0-9]+:/file \'myfile.mp4\'\n/g;s/\ *start/inpoint/g;s/,\ end/\noutpoint/g' > list.txt

If you don't have these utilities (if you're on Windows), get them from https://github.com/bmatzelle/gow/releases

#3 Concat the files

ffmpeg -f concat -i list.txt -c copy stripped.mp4

If the Video chapters don't start with a keyframe, you'll have to re-encode.


How do I make the DoTA 2 map work in Source Filmmaker? Full Question: How do I use the DoTA 2 map in Source Filmmaker? Every time I load it up, it crashes.

I've been trying to use the DoTA 2 map in Source Filmmaker, but every time I try to load it, the program crashes. I have the DoTA 2 assets extracted and mounted, but loading the map seem to be the thing that always cause it to crash.

I can load all the models (ie. Couriers, Heroes, Gear, map props etc.) fine. But loading the DoTA 2 playing-field map doesn't work.

These are two of the heroes/champions; Viper and Teemo* along with a bunch of other stuff, in the Counter-Strike: Global Offensive map de_nuke.
Characters and models work. Not the map. Why? and how do I fix it?

Note:* Not from the game DoTA 2.

Also, going "File > Load Map > [Map name].bsp" (or Ctrl-L) does not work.

Its hard to say what exactly is the issue without an error message.
Maybe you haven't properly exported the maps and or setup SFM for Dota 2 content. There is a nice guide here that goes through the whole process step by step.

You also want to check the cache and local file for both SFM and Dota 2, if an error gets detected re-export the Dota 2 content afterwards.


ffmpeg concat introduces a/v sync problem I have one 2-hour video file and want to add a 10-second title sequence to its start. The long file has perfect a/v sync from start to finish. However, when I use ffmpeg -f concat -i mylist.txt -c copy outfile.mp4 to concatenate the title file to the long file, the audio in the long file gradually goes out of sync, progressively becoming worse until at the end of 2 hours, the audio is a full second or two behind the video.  I can understand why the concat might break the synchronization, but I don't understand why it would  cause the synchronization to become progressively worse.

I want to avoid re-encoding the long file to maintain quality. If necessary, I can re-encode the title file because it's just white text on a black background.

I'd greatly appreciate any suggestions. I'm a digital video semi-noob and have faced a steep learning curve, but I am learning. I'm using Ubuntu Linux 16.04 and ffmpeg 2.8.6-1ubuntu2, which I think is the latest ffmpeg version.  I have about 20 old 2-hour family video cassettes that I am digitizing.

File background:

The long file is an MP4 file using H264 and AAC. It originated as a .ts file and I use ffmpeg to encode it into the mp4 format. Before concatenating the title file, it is in perfect a/v sync at all times. It's 720x480, with 127 audio bitrate.  I captured the video from a Sony Handycam Video8 tape using a Hauppauge Live-2 USB converter, using the VLC CLI to generate the original .ts file. It's about 120 minutes long.
The title file I created in Blender, and tried to duplicate the long file's format: 720x480, 127 audio bitrate, MP4 containing H264 and AAC. It actually has no audio, as it's just two "slides" of text. (I know that there probably is actually an audio track generated by Blender, but it's just silence as I don't add any audio tracks to the simple titles.) It's only 10 seconds long.

The results of ffmpeg -i longfile.mp4 is:

Metadata:
major_brand     : isom
minor_version   : 512
compatible_brands: isomiso2avc1mp41
encoder         : Lavf56.36.100
Duration: 01:17:06.58, start: 0.013000, bitrate: 2134 kb/s
Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p,
720x480 [SAR 32:27 DAR 16:9], 1997 kb/s, 29.97 fps, 29.97 tbr, 29971
tbn, 59.94 tbc (default)
Metadata:
handler_name    : VideoHandler
Stream #0:1(unk): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, mono,
fltp, 127 kb/s (default)
Metadata:
handler_name    : SoundHandler

The results of ffmpeg -i titlefile.mp4 is

Metadata:
major_brand     : isom
minor_version   : 512
compatible_brands: isomiso2avc1mp41
encoder         : Lavf56.40.101
Duration: 00:00:10.01, start: 0.012000, bitrate: 421 kb/s
Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p,
720x480 [SAR 1:1 DAR 3:2], 284 kb/s, 29.97 fps, 29.97 tbr, 30k tbn,
59.94 tbc (default)
Metadata:
handler_name    : VideoHandler
Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz,
stereo, fltp, 127 kb/s (default)
Metadata:
handler_name    : SoundHandler

Run

ffmpeg -i titlefile.mp4 -vf setdar=16/9 -video_track_timescale 29971 -ac 1 newtitle.mp4

and then run concat with the new title video.

Modern containers like MP4 have Presentation TimeStamps, which are denominated with reference to a timebase. So, if the timebase value is 1/500 and a frame's PTS is 200, then that tells the video player to show that frame at 200*(1/500) = 0.4 seconds. The tbn values shown in the readouts are the reciprocals of this timebase. Now, the concat demuxer, due to a design oversight (or choice!?) does not rescale the PTS values so that all inputs have frames with PTS using the same timebase. Your two videos have different TBs, and so the long video after the concat is being sped up. The difference is perceptually invisible - except for the audio drift. That tbn value is for the video stream. Audio streams have their own timebase, related to the sample rate, which is the same here.


ffmpeg: add 3 seconds of black to video head and tail Let's say I have a video, which can have any dimensions or codec (e.g. mp4), and I want to add 3 seconds of black frames to its head.

I have seen other variants to this question which pertain to adding a single frame, and also answers which specify the width and height of the video. However the video can be of any width and height and I don't want to change those values. Just add the black. In a separate command, I'd also like to add the seconds of black to the tail.

There should be no audio in the black section - the black should just be concatenated to the front and end. Also, I'd like to avoid re-encoding the video if possible, and copy the result to a new file.

Any help would be appreciated.

The basic method to join videos without re-encoding is to use the concat demuxer. This device requires that the files being joined share certain properties, like codec, framerate, video dimensions, timebase..etc

First step is to create the blank segment, which may be used both at the head and tail.

ffmpeg -i fullvideo.mp4 -vf trim=0:3,geq=0:128:128 -af atrim=0:3,volume=0 -video_track_timescale 600 3sec.mp4

Have to do one bookkeeping step for the full video. If not done, the combined video will likely run at the wrong speed.

ffmpeg -i fullvideo.mp4 -c copy -video_track_timescale 600 full600.mp4

Next, create a text file.

file 3sec.mp4
file full600.mp4
file 3sec.mp4

Then run

ffmpeg -f concat -i list.txt -c copy merged.mp4

My first step assumes that the video stream has the most common pixel format yuv420p. Which should be fine as this is the only pixel format supported by web players and smartphone cameras, consumer camcorders..etc. If it's not, the geq filter may fail.

I also assume, tacitly, that the full video does not use more reference frames than produced by preset medium of x264. It's a safe assumption for 95% of videos.

Finally, I assume the full video has AAC-LC as its audio codec. Expected to be true of most phone/cam/web videos.


Which are the best settings for crisp graphic output using After Effects? I'm new to AfterEffects but a long time adobe user. I'm trying to do a simple animation using hi-res, lossless PNG's which I have tried exporting at their actual size and @2x up to @4x which I then scale down. I have reason to believe it's not the quality of the PNG's that are the issue as a vector square drawn directly in AE has the same blurred effect.

I have tried the many different codecs- Animation, PNG, H.426 etc but they all have the same results.

Extra info:

I use a retina screened mac
Everytime I open in quicktime it converts the video
I haven't changed any settings, I use the default ones and leave the   export options at the highest quality.

Please help! I had such high hopes for AE!

If you're designing source artwork in Illustrator, take advantage of the fact you can bring your .ai files straight in AE.

On the layer in AE that you put the AI vector, click the 'continuously rasterize' button and you'll get your crisp vector edges back.


Natron: how to resume a render that crashed I'd like a way to restart a render when a render crashes in Natron, given that the output are written in separated files (using output out_%05d.png).
I don't want to change the first frame in my render because otherwise I could forget what is the actual first frame.

There is a nice solution (thanks Hank): just uncheck the "overwrite" parameter in the write parameter. That way, only non-existing files will be created.


Controlling animation presets programmatically Is there a way to control whether or not an animation preset it applied to an item programmatically through After Effects?

Let's say, for example, I have some sample text, that just says "hello world".
I then go and drag & drop a "slide & swoop" onto the hello world text.
I then add another transition, say a 'slide straight' from the effects & presets
I then want to add a 'slider' control to the essential graphics panel, so if slider is set 0, none of the effects are applied. If it is to 1, it applies animation effect #1, and if it is set to to 2, it shows animation #2?

Yes, that's perfectly possible, though it might be more work than just doing the animation yourself.

You'll have to find all of the changes that the presets apply to the layer and adapt them with expressions that respond to the value of the slider. To find all of the changed properties of a layer use uu (double tap the u key). You'll have to apply preset 1, find all of the changes it makes, and write an expression that mimics them, then revert the layer and apply preset 2 and do the same thing. Then in your expression for each changed property you'd have:

var ctrl = effect("Slider Control")("Slider");
if (ctrl === 0){
    value; //use the current value of the property
} else if( ctrl === 1){
    // the expression that mimics preset 1
} else {
    // the expression that mimics preset2
}


What solution do you use to bring a udp, rtmp, ... stream back into the hd-sdi format As a small independent TV Station we cooperate with festivals and congresses which want to broadcast their content live. Most of the times these partners send me a webstream.

Currently we have a very basic solution in place
A machine with a videocard which is capable of extended desktop is used to play the stream via VLC and then send out the signal via the Videocards SDI port.

What is your solution?

While I am pretty sure there are a few stand alone devices that can perform this process, they are effectively doing the same thing as you are doing by playing it back through the HD-SDI output of a computer.  RTMP is a very different type of signal than SDI and requires fairly complex translation to get it back to SDI.


How do I apply a timecode and then I speed up x4 a video with ffmpeg without losing quality? I'm trying to create a .bat file for ffmpeg that:

Applies a timecode overlay (e.g. 00:17:23:02)
Speeds up the video x4 (but AFTER the timecode is applied)
Doesn't "touch" the quality of the original video

This is what I got:

for %%a in ("*.avi") do (
    ffmpeg.exe -i "%%a" -vf "drawtext=fontfile=C\\:/Windows/Fonts/arial.ttf:timecode='00\:00\:00\:00':rate=5:text='Real \time\:':fontsize=46:fontcolor=white:x=30:y=30: box=1: boxcolor=0x00000000@1" -f avi "%%~na_with-time.avi"
)

It works but I can't speed up x4 the video and it also losses a lot of the quality (very pixelated when moving around in the video)

This is what code I could use to speed up x4 the video but I can't get it in the code above (to work):
"setpts=0.25*PTS"

Also this is the quality:

How the video looks before:

After conversion with the ffmpeg .bat code above:

Is there a way to speed-up the video x4 (but with the normal time timecode) and also don't change the quality of the exported video)?

Also is there a way to make the black box behind the timecode a bit bigger (5 pixels in all directions: left, up, right, down)? Or maybe a stroke effect to the text instead of the black box?

Use

for %%a in ("*.avi") do (
    ffmpeg.exe -i "%%a" -vf "drawtext=fontfile=C\\:/Windows/Fonts/arial.ttf:timecode='00\:00\:00\:00':rate=5:text='Real \time\:':fontsize=46:fontcolor=white:x=30:y=30:box=1:boxcolor=0x00000000@1:boxborderw=5,setpts=0.25*PTS" -c:v libx264 -f avi "%%~na_with-time.avi"
)

Added boxborderw=5 for border width.

Added setpts after the drawtext.

Added encoder explicitly -c:v libx264 - its default settings should produce good images. You can also stick with the default encoder (mpeg4) and just add -q:v 5 for decent quality - the default of 200 kbps is too low.

For a custom timecode string, remove timecode='00\:00\:00\:00':rate=5

and change text to

text='Real \time\: %{eif\:trunc(t/3600)\:d\:2}h %{eif\:trunc(mod(t/60\,60))\:d\:2}m %{eif\:trunc(mod(t\,60))\:d\:2}s'


Line up photogrammetry mesh with tracking markers I have some footage, which I've tracked in After Effects. I've exported that 3D tracked camera to C4D Lite. I then took photos of the filming location and used Meshroom (a photogrammetry tool) to generate a mesh from the photos.

Now I want to line up the photogrammetry mesh in C4D with nulls that I've placed relative to the tracking points in After Effects. What's the best way to do this? Or is there a better workflow to get a photogrammetry mesh lined up with tracked footage?

More info: Specifically, after watching Corridor's real-life portals video I decided to try to create my own portal effect. My plan is to take a rough photogrammetry mesh of the filming area. I would then track the camera in After Effects, somehow get that tracking data into a 3D modelling program, load the photogrammetry mesh in, line everything up so the tracked camera moves through the mesh as it does in the footage then rotate the camera and its animation 180° around the point where the portal mask is tracked onto the footage in AE. This would create a perfect replica of the camera's original motion, but looking out at the world from a different angle.

As such I can't just use the footage as the photogrammetry input, as I specifically need the photogrammetry mesh to include unseen areas of the world.

In the end I decided to just learn how Blender's scripting works and wrote a script. I know there would be simpler ways to calculate the transformations but I'm no maths expert and I wanted to spend my time debugging my logic errors rather my maths errors.

Basically what this script does is take 3 input points (in the form of empties) relative to the photogrammetry mesh and 3 input points in the same position relative to the tracking data, then attempts to line them up with each other, bringing the photogrammetry mesh along with it. This actually works pretty well in my testing. It's obviously not the fastest workflow but it does work and that's the important part.

import bpy
import bmesh
from mathutils import Matrix

#####################################
# TO USE:
#
# 1) create empties at three easily-identified positions in tracking data, called ea1, ea2 and ea3
# 2) create empties at the same three positions but in photogrammetry data, called eb1, eb2 and eb3
#    NOTE: eb1, eb2 and eb3 must be positioned IN THE SAME ORDER as ea1, ea2 and ea3!
# 3) name the photogrammetry mesh "photogrammetry"
# 4) run the script and be amazed
#
#####################################

# from https://blender.stackexchange.com/a/118783/41192
def createLookRotation(forward, up):
    rot = Matrix.Identity(3)
    rot[0] = up                 # x
    rot[1] = forward.cross(up)  # y
    rot[2] = forward            # z
    rot = rot.transposed()
    return rot.to_quaternion()

def doMeshThing(obj, mesh, empty1, empty2, empty3):
    bm = bmesh.new()
    bm.verts.new(empty1.location)
    bm.verts.new(empty2.location)
    bm.verts.new(empty3.location)
    bm.verts.ensure_lookup_table()
    bm.faces.new([bm.verts[0], bm.verts[1], bm.verts[2]])
    bm.normal_update()
    bm.to_mesh(mesh)
    bpy.ops.object.select_all(action='DESELECT')
    obj.select = True
    bpy.ops.object.origin_set(type='ORIGIN_GEOMETRY')
    bm.faces.ensure_lookup_table()
    normal = bm.faces[0].normal
    guide = empty2.location - empty1.location
    quatRot = createLookRotation(normal, guide)
    obj.rotation_mode = 'QUATERNION'
    obj.rotation_quaternion = quatRot.inverted()
    bpy.ops.object.transform_apply(location=False, rotation=True, scale=False)
    obj.rotation_quaternion = quatRot
    bm.free()

ea1 = bpy.data.objects['ea1']
ea2 = bpy.data.objects['ea2']
ea3 = bpy.data.objects['ea3']
eb1 = bpy.data.objects['eb1']
eb2 = bpy.data.objects['eb2']
eb3 = bpy.data.objects['eb3']

mesha = bpy.data.meshes.new('mesha')
meshb = bpy.data.meshes.new('meshb')

obja = bpy.data.objects.new('obja', mesha)
objb = bpy.data.objects.new('objb', meshb)

scene = bpy.context.scene
scene.objects.link(obja)
scene.objects.link(objb)

doMeshThing(obja, mesha, ea1, ea2, ea3)
doMeshThing(objb, meshb, eb1, eb2, eb3)

bpy.context.scene.update()

# position and rotate objb (photogrammetry) to match position and rotation of obja (tracking)
photogrammetryMesh = bpy.data.objects['photogrammetry']
photogrammetryMesh.parent = objb
photogrammetryMesh.matrix_parent_inverse = objb.matrix_world.inverted()

objb.location = obja.location
objb.rotation_quaternion = obja.rotation_quaternion

# calculate average dimension difference here and scale
scaleDiffX = obja.dimensions.x / objb.dimensions.x
scaleDiffY = obja.dimensions.y / objb.dimensions.y
scaleDiffZ = obja.dimensions.z / objb.dimensions.z
#averageScaleDiff = (scaleDiffX + scaleDiffY + scaleDiffZ) / 3
averageScaleDiff = (scaleDiffX + scaleDiffY) / 2 # seems to be in local space, so z is useless
objb.scale.x = averageScaleDiff
objb.scale.y = averageScaleDiff
objb.scale.z = averageScaleDiff

bpy.context.scene.update()

parented_wm = photogrammetryMesh.matrix_world.copy()
photogrammetryMesh.parent = None
photogrammetryMesh.matrix_world = parented_wm

bpy.ops.object.select_all(action='DESELECT')
obja.select = True
bpy.ops.object.delete()
bpy.ops.object.select_all(action='DESELECT')
objb.select = True
bpy.ops.object.delete()


Reading aux timecode with Premiere Pro I have a video clip with an audio track that has a recording of SMPTE linear timecode.  I would like to apply a real timecode to the video, derived from this audio track so that I can more easily sync up the video to an audio clip later on.

I've read that older versions of Premiere Pro can't handle timecode in audio this way.  Can the current version (CC 2019) do it?  If so, how?  Thank you.

Premiere Pro does not currently read audio timecode, I wish it did as it would solve a lot of problems.   There are a couple options but either mean longer work flow and or costs money depending on your situation.

If you have Tentacle Sync hardware, you get a license for Tentacle Sync Studio for Mac or Tentacle Timecode Tool for PC which can overwrite your file embedding the audio timecode as file timecode.

Another paid software is LTC Convert from VideoToolShed. It does a much better job of converting timecode than the Tentacle Timecode Tool can do for PC (TTC tool will not covert 10-bit footage) using ALL-I codec on GH5 and the codec used for 10-bit on the Sony FS7 (and possibly the FS9).

The last option and this one is free, but means more workflow, Davinci Resolve (free version) will allow you to convert your audio timecode and then re-export the footage to use in Premiere Pro.

Me personally, I am going to spend the 135euros for LTC convert for the next big project I need to shoot. The demo version is free and you can convert one file at a time using the demo version.

Maybe someday, Adobe will get with the real world and be able to read audio timecode.


how to do an amplitude modulation in Ableton Live What I want is simple: I want to modulate the volume (amplitude) of one channel, with the amplitude of another channel.

There's the vocoder effect which does something vaguely similar to what I'm looking... but it splits the audio in bands to (obviously) create the vocoder effect.

A sidechain compression/gating won't do it either.

So how can I do this?

If you have Max4Live (included in Live9 Suite), it should be easy enough to build a Live device that does the amplitude modulation exactly the way you want.

Otherwise, look for Ring Modulator and Amplitude Modulation VST plugins. The easy way to write a Ringmod plugin is to just do amplitude modulation. So the free plugins are likely to do what you want. Actually modeling an analog ring modulator takes more effort, but maybe that is the sound you are really looking for.

If you happen to have Absynth, I'm pretty sure you can accomplish AM or ring modulation on arbitrary incoming signals with that.


Logo replacement in screen recording I'm not an editor but I'm trying to achieve a simple effect. The use-case is I want to do a screen recording of a demo of a web application, where I can then do different exports where the logo on the webpage is different for each video. The logo will move during the screen recording. What's the best way to do the screen recording, and what's the best way to replace the logo so that I can create new exports quickly and in the most automated way?

The easiest solution would be to record the presentation without the logo altogether using open broadcast, fraps or some screen recorder. You can then animate the logo in After Effects from within a precomp and simply exchange the images in the precomp to swap to another logo.

For demos of that sort you'd usually animate the whole thing though, but since you said that you're not an editor this probably isn't an option.


Remove (or reduce) background music, and emphasise the background voice I have a video with some people talking, but the music cover the people voices.
I can find the music with app like Shazam.
I know that remove the music is impossible. There is a way for reduce the music and emphasize the voice, maybe, with the music track of the song i can apply some filter remove similar sound...
I have installed Audacity and played with equalizer, without any good result.

You already tried EQ unsuccessfully, but there is one more technique worth trying:
Add the original music again to the soundtrack, but with inverted samples. This will cancel out signals. For a bit more theory, check out Wikipedia and the graphics on the top right which illustrates what will happen. The success depends on the mix and applied effects in the video soundtrack.
The basic steps are as follows:

Import soundtrack and import the original music on a separate track (probably that are pairs of stereo tracks)
Sync/align the music track so it matches exactly the music soundstrack. Be aware that the music in the video could have been slowed down or sped up a little bit. Apply the change speed effect on the imported music in this case to make it match.
Try to match the levels of the music track to the music of the video track for best results. Not sure if this can be done automatically in Audacity. Look for a short section on the video track where nobody's talking and compare levels there.
Invert the audio. More on Audacity's invert here.
Mix the track with inverted music to the video soundtrack. (Since both will probably stereo you can try multiple combinations, either add the inverted left to soundtrack left and inverted right to soundtrack right. Or switch them.) I don't know Audacity well enough to tell you how the mixing works. I only ever used it sporadically many years ago.
Music will cancel out or be removed to some degree.

The problem is: if they have applied any effects on the music in the video soundtrack the cancellation may not work well.


H.264 adding dark anti-aliasing even on high444 yuv444p I have a PNG file with white on red and no antialiasing at all - each pixel is either white or red, but when I encode it to MP4 using ffmpeg -i test.png  -profile:v high444 -pix_fmt yuv444p  -loop 1 -crf 0 -framerate 30 -c:v libx264 -t 15  test444.mp4 the output gets dark pixels added and the white color gets changed.  See zoomed in screenshot below for before and after.  I played the mp4 file with ffplay btw.

Original PNG below:

It's a rendering artifact, not an actual error.

See

ffplay test444.mp4 -vf scale=iw*16:-1:flags=neighbor

and

ffmpeg -i test444.mp4 roundtrip.png

You should see no black pixels.

Update: ffplay downsamples YUV inputs to 420 before final conversion to RGB.

[swscaler @ 0000000005a82800] bicubic scaler, from yuv444p to yuv420p using MMXEXT

You can avoid artifacts by directly calling pixel format filter.

ffplay test444.mp4 -vf format=bgra


ffmpeg encoded videos are not playing on mobile browser I have set up a server to upload and play videos. I used django/python as the scripting language, and nginx and gunicorn as the webserver. I am using videojs as the video player.

For h264 mp4 I tried this command:

ffmpeg -i inputfile.avi -codec:v libx264 -profile:v baseline -preset slow -b:v 250k -maxrate 250k -bufsize 500k -vf scale=-1:360 -threads 0 -codec:a libfdk_aac -movflags +faststart output.mp4

But its only playing on desktop browsers and not on mobile browsers (except only on firefox android browser).

Here are some points that I gathered along the way:

Some of the videos which I downloaded from youtube and uploaded it on the server without encoding are playing nicely on all the browsers.
However if I encode the same video (youtube video) and upload it on the server, it does not play on the mobile devices but only on desktop browsers.
Videos which I took from my mobile (samsung s4 and iphone 6), and encode it with ffmpeg are not playing on the mobile browsers, only on desktop browsers.
But, the url of the same videos (which I took from mobile) which are hosted on amazon s3 are playing nicely on all the browsers (even the non encoded videos).

What am I missing? I was really hoping if you could guide me and help me to solve the problem. Thank you.

Unfortunately due to patent/licensing issues1, MP4 playback is not supported natively in all browsers. That's where file format redundancy comes into play; if one file format is not able to be natively loaded by a system a backup version may be able to work.

I have found that certain browsers will be able to run files encoded with the .webm container using VP8 plus Vorbis for audio and video, respectively, out of the box while using HTML5 players.2

Citations

1 https://developer.mozilla.org/en-US/docs/Web/HTML/Supported_media_formats#Browser_compatibility

2 https://en.wikipedia.org/wiki/HTML5_video#Multiple_sources


If the environment being captured on a video stream becomes less complicated, does the bit rate and latency decrease? For example, a live GoPro video is being streamed to a HDMI capture software on Windows. The live stream of an office with the lights on has a bitrate of X and a latency of Y ms. If the lights in the office are turned off so all that is captured in the live video stream is a red light bulb and a black background, will the new bitrate be less than X? Will the new latency be less than Y ms?

The resolution is maintained throughout at 1080p at 60fps.

I'd appreciate any help you folks can be!

so all that is captured in the live video stream is a red light bulb
  and a black background

No. You can't get black background. You will get any possible type of noises, many shadows and all kinds artifacts of camera's matrix.

  will the new bitrate be less than X?

No. As GoPro writes constant bitrate (CBR)
No. As new noises can require even more bitrate than static image.
Yes, if you will fill background with black color in video editing software and select non-CBR mode for compression

  Will the new latency be less than Y ms?

No. Delay causes by some buffers. Buffers for N frames, buffers for N bytes. If you lower bitrate, you can INCREASE delay in some cases (actually, it's true to very low bitrates).


Does ffmpeg have a configuration file? Using a lot the ffmpeg program, I want to configure ffmpeg on linux so that it always hides banner (option -hide_banner) to reduce text output. I cannot seem to find anything that would tell me where this file should be and how it should be named so that ffmpeg will look at it every time it is run.

No, ffmpeg does not use a configuration file post-install.

lots of ways to build ffmpeg, but generally you have to configure everything before install.

for example, with brew (macOS package manager) you have to edit the following file to supply your --enable or --disable args BEFORE INSTALLING.

/usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/Formula/ffmpeg.rb

if you didn't get your args in on your original install, then you need to uninstall and re-install again with your desired options and args.

also: instead of supplying your options (--with-webp for example) from the CLI during install, you can write them in ffmpeg.rb.


What's a good, cheap, piece of gear to start with when adding lighting equpment to your toolset? I now have a camera that I'm quite satisfied with, and also a couple of different microphones for recording audio that doesn't sound horrible. However, something I haven't paid attention to yet is lighting and I have the feeling I could improve the quality of my shots dramatically by starting to think a little more about this.

So, given that I'm on somewhat of a tight budget, is there some piece of equipment that would be great for all-round use when it comes to lighting, both indoors and outdoors, at day and at night? I realize that you will have to acquire a whole truckload of gear to actually perfect your shot, but given that you only can start out with one piece of equipment, something that might come in handy during many different scenarios (like duct tape is to the engineer), what should you invest in? Would a strong flashlight be of any use? A big piece of white cardboard to reflect already present light? A couple of logs and a lighter to create instant bonfires wherever you are?

Lighting is not trivial and deserves attention and training to master. I certainly have lots to learn even after more than 25 years with working with studio lighting. There is no one thing you can buy that will work in every situation beyond understanding and mastering white balance and exposure. Nothing to invest in on this step. However, if you want to illuminate an outdoor subject that is silhouetted, then a round reflector held by a camera assistant will make a huge difference and this won't cost you much, under $75. Here you won't have to worry as much about color temperature as you are reflecting the same light as the sun provides to cast a fill in light on the subject.

For most studio lighting, you need to learn the basics of 3 point lighting. Here are three Vimeo School tutorials on basic lighting that I recommend you review before buying or making anything:

http://vimeo.com/videoschool/archive/lighting

While I shoot in my studio, I am generally shooting 1:12 scale subjects so my lighting can be somewhat small. I have two 100 watt tungsten lamps with big reflectors (available at Ace Hardware for about $12 each) mounted on vertical rails on my bench.

I have metal clips holding plastic diffusers made out of discarded computer plotter opaque plastic. I also have an array of smaller 40 watt tungsten lamps that I can place in strategic areas such as under a lift frame that has a diffuser on top for under neath lighting.


FCPX Continues to Crash on one project I have a project that seems to keep crashing FCPX. The library for it is pretty massive (all in all about 175gb), but its running off a brand new Thunderbolt external with 2.5TB of space free. Problem report screen shot is below. Is it the App or is the library corrupted? How do I fix this, I need to turn this project out soon.

Also, my machine is brand new:
4GHz Intel Core i7
32GB RAM
AMD Radeon R9 M395X 4096MB
EL Capitan 10.11.6

The project itself is somewhat complex, lots of color correction and chroma keying. Not sure if that has any effect on it.

Please help?

Matt

What you could try is on your Mac, create a new user profile from the System Prefs Panel, then log in using that user and try to open up the project using the new users profile.

If this woks then I would finish off the project ASAP and once finished, do a system restore on the Mac to get rid of any errors or issues that might happen again