QuickTime File Format (Atoms & Flags) What is the purpose of Media Atom 'flags' within the QuickTime videos, I see for the most part they are set to zero but what does this achieve?

Documentation I am reading is the following: https://developer.apple.com/library/mac/documentation/QuickTime/qtff/QTFFChap2/qtff2.html

They are a type of metadata specific to the QuickTime container.
They can contain all kinds of extra information for the video player to read out and use.

  QuickTime movie atoms have an atom type of 'moov'. These atoms act as
  a container for the information that describes a movie’s data. This
  information, or metadata, is stored in a number of different types of
  atoms. Generally speaking, only metadata is stored in a movie atom.
  Sample data for the movie, such as audio or video samples, are
  referenced in the movie atom, but are not contained in it.


Is there a way in Premiere to process a file like logging and capture? I have a list of timecode in and out points for the source footage, (the best takes etc).

Is there a way to process a file like logging and capture, processing the in and outs and saving as individual files?

Rather than my current method of using the source monitor, key in the the in point time, then pushing the mark in button, key in the end point time, push the mark out button, the inserting into a sequence.

I need to cut a file as individual clips based on the list.

Try this:

Create a bin in your project window, lets call it "selected-clips".

Use your source window to mark your "in and out" points then drag that 'clip' into your "selected-clips" bin.

Once you have all your clips in, right-click on EACH clip and select "Make Subclip".

Now, highlight all the 'Subclips', right-click and select "Export Media". A window should appear - add it to a queue - Media Encoder should open - then batch export your 'Subclips'.

Done.


How to output high quality Zoom webinar video after editing with Premiere Pro? I used Adobe Premiere Pro in editing a Zoom webinar video, I noticed that after editing and exporting it, the resulting file size of the output file appeared blurry compared to the original. The file has been captured with the zoom screen recorded, video duration is about 1 hour 45 minutes. I did the edit using a Windows 10 OS.
Here are the properties of the input:
720x480 (1.2121), 29.97 fps. Lower, 48000Hz, Stereo
Here are the properties of the Output:
768x480, 29.97fps, Progressive VBR, 1 pass, Target 0.24 Mbpd. Max 0.24 Mbps AAC, 96 kbps, 48 kHz, Mono
How do I export my zoom webinar video out of Adobe Premiere Pro and still preserve the original quality?
My editing settings were: H.264 format with the Match Source preset. . Change the profile to High and the level to 5.2. I ticked Maximum Render Quality and also Render at Maximum Depth. Disable the aspect ratio link next to the dimensions and maintained the dimensions at 720 by 480 for 29.97 fps.
Here is a screenshot of the original footage:

And here is screenshot of the footage after edit and export:

The reason why your video is blurry is because of your target bitrate, which is 0.24 mbps. (I assume you meant mbps instead of mbpd). Raising this value to a target of 4 and a maximum of 6 should give you a significantly better result. It will also increase your filesize, however. I am assuming that the video might be between 200 and 300 MB.


ffmpeg filter_complex problem I'm trying to achieve complex effect with ffmpeg, but I seem to be failing the syntax of -filter_complex somewhere.

The goal is to capture part of the screen (with UScreenCapture direct show device) where I display two images side by side (called [bg] and [key], or [rgb] and [alpha] in the filter chain). On the left is the image itself, on the right its alpha channel, shown in black and white. Then I want to compose that on top of another input (some video input from a file or other capture device... but a file in this case, called [video] in the filter chain).

To compose the three together, first I blend 'multiply' the alpha with the video, turning to black everything outside the white alpha(dumped into [out1]), and blend 'multiply' the image background with the negative alpha (dumped into [out2]). To end the chain I add the two outs with blend mode addition... and dump it to a pipe

Theoretically it should work but it keeps complaining about stream specifier 'alpha' matching no stream:

ffmpeg -v debug -f dshow -i video=UScreenCapture -i chroma.mp4 -filter_complex \
"[0:v]split[bg][key]; \
 [bg]crop=720:576:0:0, format=gbrap,setsar=0:1[rgb]; \
 [key]crop=720:576:720:0,format=gray8,setsar=0:1,scale=720:576[alpha]; \
 [1:v]scale=720:576,format=yuv420p,setsar=0:1[video]; \
 [alpha]negate[neg_alpha]; \
 [video][neg_alpha]blend=all_mode='multiply':all_opacity=1[masked_video]; \
 [rgb][alpha]blend=all_mode='multiply':all_opacity=1[masked_3d]; \
 [masked_video][masked_3d]blend=all_mode='addition':all_opacity=1[out]" \
-map "[out]"-c:v mpeg2video -f avi - | ffplay -

filgergraph as described can not work, you can not use [alpha] twice, you need to split it:

[0:v]split[bg][key];
[bg]crop=720:576:0:0, format=gbrap,setsar=0:1[rgb];
[key]crop=720:576:720:0,format=gray8,setsar=0:1,scale=720:576,split[alpha2][alpha];
[1:v]scale=720:576,format=yuv420p,setsar=0:1[video];
[alpha]negate[neg_alpha];
[video][neg_alpha]blend=all_mode='multiply':all_opacity=1[masked_video];
[rgb][alpha2]blend=all_mode='multiply':all_opacity=1[masked_3d];
[masked_video][masked_3d]blend=all_mode='addition':all_opacity=1


How do I do this Text animation in Sony Vegas (..or AE)? Sometimes, when I have a look at music videos, I see lyric texts coming up. They are shaped in a rectangle, with different sized words. An example is this, which I made quickly.

What is this effect called?

Let's say I have a music video. And I want to add lyrics to it, just like the example. How would I do this, animated, showing one by one in Sony Vegas Pro 13, or Adobe After Effects (Preferably Sony Vegas, I at used to the controls more)?

It's called Kinetic Type generally (that link is for Templates). Depending on what you're looking to do you either need to do it manually or can use scripting to auto-fill a list of words. If you auto-fill with a list its generally more randomized, so if sequence is important. Like you want the Lyrics to appear in the order they're spoken you must do it manually.

You can use After Effects or Flash to create something like this.

Tools to help make Kinetic Typography (Video Stack Exchange for After Effects)
Using a Script to do it automatically with random words (Levitated.net for Flash)


Cheap option for recording HDMI output I have been looking for a way for my PC to record HDMI output so I can record my gaming console without buying an expensive capture card. I already have a HDMI splitter I'm just looking for some cheap software.

An HDMI splitter is not what you need. You need either an HDMI capture card, or a standalone HDMI video recorder. The cheapest HDMI video recorder you're going to find is the Atomos Ninja Star, for $250 on B&H: https://www.bhphotovideo.com/c/product/1285811-REG/atomos_atomnjs001_64_ninja_star_recorder_with.html

HDMI capture cards start around $130. Here is a good one from Blackmagic, for $137.50 on B&H: https://www.bhphotovideo.com/c/product/964122-REG/blackmagic_design_decklink_mini_recorder.html


How to add gradient transparency mask in final cut pro x? I want to add a gradient transparency mask so that the front layer will slowly transform into the layer below. Can anybody suggest something?

I'm not talking about transition in time, but transition between layers. This is an example of video I want to get:

I think that in old final cut you could do this with black to white gradient and filters.

I don't know if you ever found a solution, but FCPX does have a Graduated Mask that works.


the videos that I recorded on my Canon DSLR are nowhere to be found my canon DSLR stopped recording videos automatically then I deleted some videos and continued again but when I inserted my SD card to my laptop the videos are nowhere to be found. Are those videos somehow saved? if yes how can I access them? thanks

Usually, even deleted files are still on the disk until they are over written by some other file. Try running file recovery software such as Recuva or Puran. Be sure to read the software user guides before starting.
However, I once got caught out looking for files on a card when the device was actually saving to it's built in storage. I am not aware of any canon DSLR with built in storage though.


Do internal SSDs challenge the conventional wisdom of storing digital assets on external "scratch" disks? I've heard that all project assets should be stored on a separate "scratch" disk for the sake of increased performance. I'm wondering if that conventional wisdom holds even when your "scratch" disk is HDD and your internal disk is SSD. (I'm aware that the cost/capacity ratio is lower for HDDs. My question concerns performance issues, not capacity.)

Here's how my question originated: I am experiencing lag using my mid-2012 MacBook Air (i5, 8GB RAM) to edit Final Cut Pro X. I'm wondering if re-arranging my assets would stand a change of improving performance. Here's where things are right now:

The application (the *.app file for Final Cut Pro X) is on my internal SSD.
The library (the *.fcplibrary file) is on my thunderbolt-attached HDD.
The digital assets (stills and video) are on the same external HDD.

My library file merely references the digital assets; I am not copying them into the resource fork. For that reason, my library file is small enough that I could store it on my local drive. The new arrangement would be:

The application (the *.app file for Final Cut Pro X) is on my internal SSD.
The library (the *.fcplibrary file) is on my internal SSD.
The digital assets (stills and video) are on the same external HDD.

So, would I be breaking some law of the universe with this configuration? And where did the conventional wisdom on "scratch" disks come from, anyway? Does it still apply to SSDs? (Again, in terms of performance only please, not capacity.)

Scratch disks should never be external.  I'm not sure where you heard that.  External drives can be used for long term asset storage, but it is best to move assets local to work on them.

The point of scratch disks is to be the highest speed work area you have available to work from.  Scratch disks are used for data that needs to be moved in and out of memory quickly, so internal SSDs are the best bet.

The one thing you don't want to do is you don't want assets and scratch disks on the same magnetic drive because of seek time.  This isn't a concern with SSDs though, so you can generally have them on the same drive.  If you are working with very large files, then there may be a bandwidth advantage to having them on different SSDs, but in order of importance you want memory to be the fastest possible, then scratch disk, then working asset storage, then long term asset storage.

The point is to keep data supplied to the CPU and GPU as much as possible.


High dynamic range on smartphones I'm interested in serious videography with smartphone(portability is the key).

On bright days they perform quite well, one thing which bothers me is dynamic range.

I use Filmic Pro which gives me 115mbit 4k video.

Do you have any suggestions how to expand dynamic range?

HDR video?

Recording to log ?

Thank you

Recording in log gives you a higher range to play with in post, so if your phone supports it, you should do it. If the phone is locked down for specific shots, you can try to film one pass of the shot with low brightness, crushing some dark areas, a normal pass, and a bright pass, overexposing the highlights a bit. If you now stitch those passes together, you should be able to see an improvement in Dynamic Range.


How to make sense of video file formats? In digital video, there are all these different kinds of files: m4v, mov, mkv, mts, mp4, mpeg, and a host of others, and I can't seem to find a clear answer as to what each is good for.

(By contrast, when you're taking still pictures, you have two choices: JPG or RAW; with JPG, you basically know what the file contains, and with RAW, it's going to vary by camera manufacturer. I know it's a little more complicated than that, but it's nothing like the explosion of options available in digital video.)

Furthermore, it seems like the video's file extension doesn't tell you what's inside the file. From what I understand, a .mov file (for example) could contain just about anything.

Then there is this whole thing about h.264, AIC, ProRes, iFrame, AVCHD, DV, HDV -- at least I think those all belong to the same category, but I'm probably mistaken.

Can anyone help me understand all the different variables that are in play here so that I can make intelligent choices about what I do with the files coming off my camcorder?

File formats are essentially wrappers, a container of sorts. The video information is encoded in a codec (Coder/Decoder). Some file formats only work with certain codecs. This is due (in part) to corporate/organizational pissing contests (or format wars - remember dvd+ vs. dvd -?). Codecs come with varying degrees of compression. The more compressed a codec is, the smaller your files will be, but they will also potentially be losing information, in the same way that a RAW file saves everything from CCD, and JPEG compresses the file by dropping repeated information. Also, most pro level NLEs (like Final Cut Pro (not FCPX)) play nicer with codecs that are less compressed. The more compressed it is the more the computer has to work to decode and re-enconde the information when you make changes (moving on the time line, cutting, adding effects etc.)

Recommendations:
For recording and editing (HD), pick a low compression, high quality codec such as DVCProHD, AVCHD, Apple ProRes.

To export for sharing I recommend H.264. It is supported nearly universally and is very good quality with relatively small files. BluRay videos are actually encoded in an ultra high quality H.264

One other note: if your camcorder saves files in a weird format (ie. not mov, mpeg, mp4), you will need to use a transfer process in your NLE. Be sure to save the ENTIRE folder structure from your memory card, not just the mts, mxf, or whatever files.

More tips: if you're not sure what codec a file is in, you can open it in QuickTime and hit cmd+i to open the inspector window. It will have all the codec information there.
Additionally, on Windows there is a small utility called G-SPOT which can show you what codec are you using on that file etc.


placing text in video filmed environments I really love mixing reallife environment with floating text over buildings or virtual paintings on the walls.

When the camera moves, the text also moves and looks like it is really attached to the surface. I hope you have the idea of what I'm trying to tell. Here are some questions:

What (1 entry level, 1 professional) Software can be used or is typically used?
Does the Software detect the movement or is it neccessary to move the decal every frame?

The general technique you're asking about is called motion tracking, of which there exist different types: Feature ("point") tracking, planar tracking, and 3D match moving.  After Effects (and the bundled Mocha) is probably the best entry level software to each of these methods, but it definitely leaves room for professional growth.  Apple's Motion includes a more basic toolset, is only suited to feature tracking, but is more beginner-friendly.

When text is flatly attached to a simple, clearly visible surface such as a picture frame, you can use Feature tracking to track the corners of the object, and "corner pin" an image or text into the frame.  The software will do its best to automate the process of tracking each corner, but if, for instance, an object passes in front of one of the points, you may have to manually keyframe its movement.

Planar tracking goes a step further and tracks the movement of full flat surfaces.  Mocha, bundled with After Effects, is a planar tracker.  It's fast and flexible, and you can achieve better results more reliably, but it's a little more complicated.  To mask out an obstruction, for instance, you must rotoscope out the offending object.

You would only use 3D matchmoving if you wanted your text to be three dimensional, cast realistic shadows, receive image-based lighting, reflections, transparencies, in other words, be a realistic object in your scene.  This is the most complicated method because it requires a back and forth workflow through tracking, 3d modeling, and compositing software.  Different combinations of software packages will lump one or more of these steps within the same application.

An example of a dedicated professional motion tracking application is Boujou, although there are others (PFtrack comes to mind).

Hope this gives you a place to start.


Removing streams in HEVC H.265 MKV file? I have multiple MKV files with video encoded a la HEVC/H.265.  I want to, using the Windows command line, make a new MKV file, stripping out all but specific subtitle tracks and audio tracks, on a file-by-file basis, as I have no need to retain multiple foreign language sound tracks and subtitle tracks.
Let's say I used ffprobe to find what streams are in a given MKV file. Further, I want to keep the first and third audio tracks, and the 24th and 25th subtitle tracks, from said file. I used https://stackoverflow.com/questions/63302454/map-metadata-stream-by-filter-in-ffmpeg as a reference.
I have tried to do that with
ffmpeg -i INPUTFILE.MKV -map 0:0 -map 1:1 -map 1:3 -map 1:a:24 -map 1:a:25 OUTPUTFILE.MKV

which fails. How should I write the command?

In the syntax -map 1:a:24, 1 stands for the input file index. Counting starts from 0, so 1 refers to the 2nd input file but the command only has one input. a stands for stream type, and in this case, it's audio - v is for video, s for subtitles, d for data. 24 represents the 25th (0-indexed, remember) audio track. If your command has one input file with three video, three audio and three subtitle streams in the following order: V A S A V S V A S, then the 2nd video will be -map 0:v:1 You can reference it using absolute index by using -map 0:4. With absolute indexing, there's no stream type specifier.
Assuming the stream numbering in your description is correct, use
ffmpeg -i IN.MKV -map 0:0 -map 0:a:0 -map 0:a:2 -map 0:s:23 -map 0:s:24 -c copy OUT.MKV

Note that if -c copy is omitted, all streams will be re-encoded - not what you want normally.


Video player (which can overlay 2 video streams) Is there a video player that can play 2 or more clips simultaneously overlaying them ontop of each other. (ie just like a video editor does... but as a standalone video player where I dont have to encode the video)

This would be useful for eg... when you have an animated logo or something you want to overlay... but you dont want to create/encode a whole new video.

Thanks.

Yes, many professional sequencing and playback systems can easily handle playing multiple videos with alpha-blending, there are numerous options, but I don't know of any that are free.  There probably are some players that will handle it for free, but I've used commercial software and never had to dig in to it. (Update: There are free options, CasperCG was one quick option I found, but it looks like it has a rather involved list of requirements and setup.)  To help with the keywords, searching something like "layering video player with alpha support" should give you a pretty good set of results with current products.

I recommend using alpha channel blending. While there are some real time chroma and luma key systems that run in software, the quality tends to be quite inferior to alpha blending or post produced keying.

Alternately, you can use two normal playbacks and a video mixer, though video mixers tend to be EXPENSIVE ($1000 for the cheapest HD one I know and $5000+ on average).  They tend to have the best quality and most capability though and can also work reliably over live video.


FFmpeg concat problem I just want to add black video at the beginning of the video

I have found following commands.

ffmpeg -i s1.mp4 -f lavfi -i color=c=black -t 10 -filter_complex "[1:v][0:v]scale2ref=1*iw/1/sar:ih/1[wm][base];[base][wm]concat=2" output.mp4

MainQuestion:

How can I solve this issue?

concat requires videos to have the same sample aspect ratio as well as the same resolution.

So, in this case,

ffmpeg -i s1.mp4 -f lavfi -i color=c=black -t 10 -filter_complex "[1:v][0:v]scale2ref[wm][base];[wm]setsar=1[wm];[base][wm]concat=2" output.mp4

or

ffmpeg -i s1.mp4 -f lavfi -i color=c=black -t 10 -filter_complex "[1:v][0:v]scale2ref[wm][base];[base][wm]concat=2:unsafe=1" output.mp4


after effects - circular trim path I have an animated circle shape layer with trim paths applied to it and the end percent animated from 0% to 100%. But half way through the animation, the circle path seems to close itself. How can i fix this?

if the circle animation is somehow not visible here, here is the link to imgur: http://imgur.com/hRKmcb7

I can't reproduce your issue on my end, but I can offer an alternative method. Another way to create the circle example you've provided is to use a Radial Wipe effect on the shape layer:

Effect > Transition > Radial Wipe

Just animate transition completion from 0 to 100 percent. If your shape layer is moving, you may also need to pickwhip expression the Wipe Center parameter to your position parameter:

transform.position

I hope this helps you out. Good luck!


What is the best way to clean the outside of audio/video cables What is the best way to clean a cable that has gotten sticky. I know the best thing to do is to not get them sticky in the first place, but after time they get dirty/sticky all by themselves.

Lets assume that there are no breaks or cuts in the outside of the cable.

How would one best clean the outside of a cable of stickiness without damaging it more.

For delicate cables use dish washing soap and warm water with a clean rag. Do not tug or squeeze on the cable too hard and be extra gentle with anything that has twisted pair.

For not so delicate cables rubbing alcohol on a clean rag then applied should do the trick.


ffmpeg -to option acting like -t option? The following command is producing a video of the exact length of the -to parameter:

ffmpeg -ss 00:06:26 -i fftestinput.mp4 -to 00:06:38 -r 29.97 fftestoutput.mp4

Again, the final product is a very nice video of length 6:38.

Yes, it does. -to looks at the timestamps. And input ss resets them to zero from the seek point. Either use -ss as output option (after -i) or calculate and use duration -t. The former will slow operation, as it performs a slow seek (decode and discard till inpoint).


How do i put the image behind video by using FFmpeg? I have one video (400x300) and an image (1280x300).
pls show me how can i put this image behind the video like that:
i've try, but not working T-T

Use the overlay filter

This will overlay the video on top of the image:

ffmpeg -loop 1 -i image.png -i video.mp4 -filter_complex "overlay=(W-w)/2:shortest=1" output.mp4

If you need to resize the video then add the scale filter:

ffmpeg -loop 1 -i image.png -i video.mp4 -filter_complex "[1:v]scale=400:-1[fg];[0:v][fg]overlay=(W-w)/2:(H-h)/2:shortest=1" output.mp4

You can use pad filter instead of an image

If you just want to add black padding you don't need an image and can use the pad filter.

ffmpeg -i video.mp4 -filter_complex "pad=1280:0:(ow-iw)/2" output.mp4

Using the player to do it instead

You could add the padding upon playback so you don't even need to re-encode:

ffplay -vf "pad=1280:0:(ow-iw)/2" input.mp4


How do I keep a pattern overlay layer effect from moving around separately when animating? How do I keep a pattern overlay layer effect from moving around separately when I do a rotation of the object the effect is applied to in After Effects? I created this composition in Photoshop and imported it into After Effects. It is almost correct except that the scratched metal pattern isn't following the rotation of the gear shape. It moves in a different way. See example here: https://cl.ly/3x2L2P2S2X3K Thank you.

Delete any motion or rotation keyframes in the overlay layer. Now line it up with the gear layer as you want, then make the gear layer the parent for the pattern layer.

To set a layer's parent you need to have the parent column visible in the timeline window. If it's not visible, right-click the column headings and choose it from the list. In the parent column you can then use the drop down to select the layer's parent or drag the pick-whip (the little spiral widget) to the chosen layer.


Ken Burns Effect. - Software Recommendations I am using Windows 7 and trying to find a right application to get advanced features of the "[Ken Burns effect]", like pan and zoom. Unfortunately Photostory version in Windows 7 is not able to get effects. I have access to Photoshop in other computer

Any software with keyframe support can do this.  This answer provides a rough walkthrough of how you can accomplish the look you are describing with just keyframes and positioning/scale keyframes.


Options to speed up Hobbyist Rendering? How can I speed up hobbyist animation-rendering project? It would be cool to see things faster, I use tools such as Blender.

You could try:

Turning off ray tracing
Lowering the resolution
Turning off soft shadows unless needed
In Blender, use the Simplify option

These and others are covered in this blenderguru article


Final cut pro export file size is huge (despite the small size of the initial video) - how can I shrink it? I'm a complete novice at final cut. I have recorded a dnd game over zoom, it's a 2 hour video, the file saved from zoom is 756mb. I have edited it a bit (just minor stuff, add a couple of images, remove a few outtakes), and now I'm trying to export.
I'm exporting the "master file", format "computer", video codec "H.264". It shows me 11GB estimated file size. Why is it so huge? What setting can I tweak to reduce it?
Do you know why this happens in general? Why would it turn my ~750MB file into ~11GB file?

A Master file export is a multipass high-resolution export. Its meant for archiving or transcoding into other formats.
Also, your Zoom recording is probably in a format what is not natively compatible with FCPX and was transcoded into ProRes during import. ProRes is excellent for editing, saving space is not its purpose.
Depending on where you want to publish your video you should choose different export presets, what will trade size for quality or vice versa. However, I doubt you can export in the same format than the recording from Zoom, so export size might vary significant.


What is the difference between mov, mpeg, and dnx hd formats? I recently was trying to get some old videos converted to digital and a company listed several file formats: Film Rescue PDF. It stated that one can convert video into .mov, .mpeg, or dnx hd formats. I was wondering which of these formats might have the the best quality in terms of being non-lossy ceteris paribus (all other factors being the same). Would anyone have any input? Thanks!

MOV is a container i.e. a wrapper for media streams, and doesn't identify the video codec of the stream wrapped inside.

MPEG refers to a set of standards and could refer to MPEG-1 (from 1980s) or MPEG-2 (DVDs or many TV broadcast streams) or MPEG-4 Part 2 (Xvid, DivX..) or Part 10 (H.264 / AVC). Of the MPEG standards, the last one is the latest and best at preserving quality for a given file size.

DNxHD is a proprietary codec by Avid used as an intermediate format for editing on their systems. DNxHD streams are usually stored in MOV or MXF.

Just going by the bare information here, I'd say DNxHD will offer the best quality but also the largest file sizes and playback compatibility isn't broad. Depending on the video codec used in MOV, say, PNG or MJPEG (likely), that may be the best option in terms of quality and compatibility but you should get details first.


FCP retime timelapse image gets blurry If i retime (speed up) my 4k footage, the image gets blurry.
If i stop the movie, i see a crispy still image!
Why?

I already tried to slow time the footage but it doesn't work

Thanks

If you retime the images so that there are more than one images that can land on a frame, your video software will likely interpolate between the two by blending the two frames.  If you play back at 12 fps with zero offset, your video software should play the first image for two frames (assuming 24fps playback), then the second frame for two frames, etc.  If you play back starting with a one frame offset, the first image will play for one frame, then a blend of the 1st and 2nd image will play the second frame, then a blend of the 2nd and 3rd image will play the third frame, then a blend of the 3rd and 4th image will play the fourth frame, etc.  That image blending will make the film look blurry.

Alternatively, say you have 240 frames and you want to play them at 24fps, but you are asking the editor to play them all in 1 second instead of 10 seconds, the video editing software might not pick every 10th image and display it for one frame, but will instead blend 10 images and play that as a frame.  That could also account for the blur.


How do I cut out black space on a video? I record mobile games and have my phone screen, but around the edge of the video it adds a black border which I don't want. Does anyone know how to remove it?

If you are playing a portrait oriented game, as Jim Mack said, something has to be in the empty space, that's where the black pixels come from. Unless...

You can use After Effects here. Duplicate the video clip, take the video behind the front one, which you won't touch, then scale it up so that the sides meet the sides of the composition, and add a gausian blur, or any blur, really, to the back layer. Here is what I'm talking about:

Duplicate the first layer (press Ctrl+D or go to Layer > Duplicate):

Scale up the second layer (open up the layer properties by clicking on the arrow > left beside the layers name or select the layer and hit S to open up scale property only):

Add a Blur Effect to the second layer (Select the Layer and go to Effects > Blur and Sharpen > Gaussian Blur)

Note: In order to render faster, use a Fast Blur and enable repeat edge pixels to blur the entire image.


ffmpeg Does using SSD improve render times when disk usage 100%? Disk usage while rendering with ffmpeg is hitting 100% most of the render. Cpu and ram though are only using half of what is available.

Would moving components to an ssd improve the operation time? And which components exactly would need to be moved to get the benefit? i.e. the ffmpeg.exe, the output files, the input files

Try using one disk for source material and a separate disk for the rendered video output.

There are lots of different SSD disks - cheap MLC ones, and more expensive but faster SLC ones.

If using RAID, there are several types. RAID5 and RAID1 probably won't be faster. RAID0 (striped array) is intended to be faster than a single disk.

What interface are you using? If you are using it as a removable drive, have you changed it to allow write-behind caching? (This allows the computer to move on while the drive is still writing the buffer to disk)


FFmpeg scale video to desire size I have an video with this resolution: 1920x1080,

I want to scale it to 480x852, like this video:

https://scontent-frx5-1.cdninstagram.com/vp/d7b76fe78c9ad72016b98dcda320a6ca/5BA532D8/t50.16885-16/10000000_232772710752607_772643665699930112_n.mp4

but it seems it's not working correctly.

here is my command:

-i input.mp4 -vf scale=480x852,setdar=1:009 -c:v libx264 -preset veryfast -profile:v main -crf 18 -c:a copy output.mp4

Where do I wrong?


How to concatenate clips from the same video with ffmpeg I have a long video with different scenes in it.
I want to extract and concatenate 2 scenes from the video (that do not start on an I-frame) using ffmpeg 2.1.4.

For argument, say I want 5 seconds from 01:00 and 02:00.

I can do this:

ffmpeg -ss 01:00 -i in.mkv -ss 02:00 -i in.mkv -filter_complex "
  [0:v]select='lt(t,5)'[v0];
  [0:a]aselect='lt(t,5)'[a0];
  [v0][a0][1:v][1:a]concat=n=2:v=1:a=1
" -c:a libvorbis -t 10 out.mkv

That gives me the movie I want, but select actually forces ffmpeg to decode the entire rest of the movie.  So, how do I tell it to truncate the first movie instead of decoding it?

I would prefer to do this with an ffmpeg complex filter, if possible.  I know that I can just use -t to recode separate movies first, but the extra encoding step is very slow in my case and also loses a fair amount of quality for this video.

I can't seem to find a filter that truncates the length of a steam.  Are there filter nodes that correspond to the -t or -ss parameters?

concat filter

This method is best if you need to perform additional filtering:

Use the trim, atrim, setpts, asetpts, and concat filters:

ffmpeg -i input -filter_complex \
"[0:v]trim=60:65,setpts=PTS-STARTPTS[v0]; \
 [0:a]atrim=60:65,asetpts=PTS-STARTPTS[a0]; \
 [0:v]trim=120:125,setpts=PTS-STARTPTS[v1];
 [0:a]atrim=120:125,asetpts=PTS-STARTPTS[a1]; \
 [v0][a0][v1][a1]concat=n=2:v=1:a=1[out]" \
-map "[out]" output.mkv

setpts and asetpts will prevent a jerky output due to presentation timestamp issues.
Make sure to use a recent version. See the FFmpeg Download page for links to builds for Windows, OS X, and Linux.

concat demuxer

Another method is to to create the segments individually and stream copy them instead of re-encoding (to save time and quality), and join them with the concat demuxer.

$ ffmpeg -ss 60 -i input -t 5 -codec copy clip1.mkv
$ ffmpeg -ss 120 -i input -t 5 -codec copy clip2.mkv
$ echo "file 'clip1.mkv'" > concat.txt
$ echo "file 'clip2.mkv'" >> concat.txt
$ ffmpeg -f concat -i concat.txt -codec copy output.mkv


How to get peak audio quality and lowest video quality? What are the best options to use to get optimal audio clarity for transcription, and minimal video to be used by the transcription service?

Our videos are all meetings, and we're sending them to a service for transcription services - video quality is of no concern, but audio quality of the speakers is.

Everything I've found is a complicated discussion about channels/tracks/mapping, etc., and frankly everything is about achieving peak video at the same time, so I'm confused about which options work on which tracks, and at this point don't even know what I should be googling.

Clarification
The source video can vary, depending on the circumstances of the meeting recorded.  It can be an enormous mpeg  or a smaller mp4 compressed "somehow".  The ffmpeg output VIDEO will be very small, 320:240 or similar, but I need as much of the original AUDIO (improved if possible) as I can get into the output mp4 file for the transcription service to have the best we can provide them.

It's not entirely clear what you mean by improved audio, but here are three ffmpeg-based options that should get you what you need. Just combine the appropriate code below. I've included an audio conversion to high bitrate aac in all of the commands, but this will not actively improve your audio. If you're looking to optimize the audio for voice, check out ffmpeg's highpass, lowpass, and anequalizer audio filters to filter out unwanted high end and low end frequencies, and to enhance vocal frequencies (probably around 1khz and 5kz).

This line processes all of one file type in a folder. Just cd into the appropriate directory. Replace [original file extension] with your file extension, eg. for i in *.mov; do

mkdir output; for i in *.[original file extension]; do

Use that first line, plus one of the following

Option 1) -vn will ditch the video altogether. Consider just sending audio files.

ffmpeg -i [input] -vn -acodec aac -b:a 320k [output];done

Option 2) -vf scale will scale all your videos into a smaller size without messing with the audio.

ffmpeg -i [input] -vf scale=320:240 -crf 30 -acodec aac -b:a 320k [output];done

Option 3) The first line gets the duration of your video $t using ffmpeg. The second line creates black video to replace your video with, then uses -map to combine the new black video and the audio. Then it uses -ss and -t to set a start and end time $t. Replace [original file extension] with your file extension, eg. "$(basename $i .mov).mp4"

You should really only consider using this if your transcription service demands a video file, but either of the previous options is probably a better choice.

t=$(ffmpeg -i "$i" 2>&1 | grep "Duration"|grep -o '00:*.*'|cut -f1 -d","|awk -F: '{seconds=($1*60)*60; seconds=seconds+($2*60); seconds=seconds+$3; print seconds}');

ffmpeg -f lavfi -i color=c=black:s=2x2:r=1/1 -i "$i" -map 0:v -map 1:a -acodec aac -b:a 320k -ss 0 -t $t "output/$(basename $i .[original file extension]).mp4";done

Again, if your transcription service doesn't care about or even want video, you could shortcut all of this and just send them high quality wav files.
ffmpeg -i [input.mp4] [output.wav]


AE: Limit Characters in random range selector animation I'm animating a roulette table; above the roulette is an animated text with random numbers untill the winning numbers apears on the roulette table; but the random numbers are from 0-99; i've made it so that the 2 numbers are each on a layer; so that limits it to 0-9; but i would like the animation of the first layer to 0,1,2 or 3. I was searching for a regex but i have no clue what i'm doing...

In any way; i would love it when the random numnbers would be between 00 and 36 as that are the only numbers on a roulette table.

Thanks guys !

To do this on one text layer you could use this expression in the sourceText:

Math.round(random(36));

If you'd like to keep the two layers then on the first layer use:

Math.round(random(3));

and on the second layer use:

Math.round(random(9));

The number in the brackets of the random expression is the limit, so if it's set to 100, the random expression will return a value between 0 and 100.


how to pipe:/// through a .sh or Python script, or use some sort of setting files with FFMPEG First post, so be kind please :)

So a quick bit of history. I am using tvheadend, and the inbuilt transcoder murders my CPU, and provides average quality output (it's powered by ffmpeg), if I pipe the output from tvheadend through ffmpeg I get much lower CPU usage and better quality (weird but true). (I am having to transcode because of limited player abilities)

So in tvheadend the http link goes from something like

http://avideostream

to

pipe:///usr/bin/ffmpeg -loglevel fatal -i http://avideostream -tune zerolatency -vcodec libx264 -preset veryfast -crf 28 -maxrate 1200k -bufsize 3500k -vf "scale='min(1280,iw)':'min(720,ih)'" -acodec aac -b:a 128K -f mpegts pipe:1

Big difference as you can see.

This all works, BUT if I want to change the settings in the my above pipe, i have to change them for all links (which I do through a script), but that means tvheadend re-imports and tests all of the links (as it see them as changed links, which is fair enough).

So what I want to do is wrap ffmpeg in something, so I can change the wrapper. (This is all happening on a up to date ubuntu server).

Now I am happy to say I am not a Ubuntu expert (not even close), although I have been running my own home servers for a few years now. So I don't fully understand all the aspects of "pipe".

The three options I see for above (as to date I have found no way for chosing an external transcoder option for tvheadend, without moving into weird builds, which I would like to avoid) are:

Use an external options file for ffmpeg (which I can get to work from the console, but not as part of the pipe, e.g. sudo ffmpeg -i amovie.mp4 $(cat ffmpegoptions.txt) convertedmovie.mp4, it might be as simple as file access rights, but I didn't do much debugging)

Put the ffmpeg stuff in a .sh file (but that just seems to break the pipe, and I have no idea where to even start with that)

put the ffmpeg in some sort of python script (I didn't even start investigating that, a step too far for me, I can write python, but that is currently out of my league)

Short version, I want to go from:

tvheadend >> piped to ffmpeg >> back to tvheadend >> off to player

To either

tvheadend >> piped to .sh or script wrapper >> piped to ffmpeg >> back to tvheadend >> off to player

or

tvheadend >> piped to ffmpeg (controlled by an external options file) >> back to tvheadend >> off to player

Any suggestions/help would be much appreciated. Let me know if I missed any important info out.

I didn't find an actual answer, more a work around. As this was all part of a bigger, involving plex, I found a proxy (xteve) that includes ffmpeg transcoding, and I can set the options for ffmpeg.  That is good enough for what I was trying to do.

Hope this save someone else a little time.


What approximate resolution did Beta SP correspond to? I know you can't really say that a non-digital format such as VHS and Betacam (or LP for sound) have a resolution but it should be possible to give an rule-of-thumb estimate, shouldn't it?
Wikipedia gives some number (300 for Beta and 340 for Beta SP) but that sounds too low doesn't it? PAL and NTSC are 575 and 625 lines and Beta (SP) was used for that, wasn't it? Why this discrepancy?
(Couldn't find any applicable tags, please add as you see fit)

The resolution is correct, but your understanding of how that is measured is confused.
Analog video consisted of a series of continuous horizontal lines. Don't confuse the number of vertical lines with "lines" of horizontal resolution. When you talk about horizontal lines you're actually talking about how many line pairs—or literally how many vertical black and white lines—the format could reproduce. To compare it to pixels, consider that it takes two pixels to reproduce a line pair: one black pixel and one white pixel. So double the analogue measurement to get the digital comparison.
So while line pairs is the measurement used for the horizontal resolution, the vertical resolution is locked to the television standard, 576 lines for pal, and 480 lines for NTSC.
The horizontal resolution can be calculated from the bandwidth using the rule of thumb for resolution of 80 lines per MHz of luminance* bandwidth. Betacam had a bandwidth of 4.0-4.5 MHz, which works out at 320-360 lines. This equates to 640-720 pixels of resolution, or roughly the same as DV.
TL;DR: Betacam's resolution was roughly equivalent to 720x576 for PAL, 720x480 for NTSC
*luminance had higher bandwidth than chroma, just as digital formats subsample the chroma information, usually at half or even quarter resolution.


How to using Math.round(easeOut(time…) in after affects? I have a shape layer and I want to animate position x using this expression
x=clamp(thisComp.layer("Control Values").effect("Value Bar 1")("Slider"),0,100);

Math.round(easeOut(time,inPoint+0.53,inPoint+1.8, 0, x))
[x, value[0]]

but he shows expression result must be of dimension 2. not 1

where is the problem???

On the second line: Math.round(easeOut(time,inPoint+0.53,inPoint+1.8, 0, x)) returns a value. Since expressions use the first line that returns a value as the value of the property it is trying to use the result of that line as the value for position, and since it only has one dimension it's causing an error.
Change that line to
x = Math.round(easeOut(time,inPoint+0.53,inPoint+1.8, 0, x));

(don't forget the semicolon at the end).
What the amended line is doing is taking the result of the Math.round() function and updating the value of x with that result.
Just as best practice, you should also use a let on the first line, i.e.
let x = clamp(thisComp.layer("Control Values").effect("Value Bar 1")("Slider"),0,100);

The let keyword assigns x as a variable, but restricts it in scope to the local expression, so that it doesn't possibly pollute other expressions.


Video player with motion blur or frame averaging I here would be a good place to ask, I apologize if Im mistaken.

I am looking for a video player that can add motion blur to videos or that can insert an average frame in between two frames.

The reason I think I need this is because some videos appear stuttery on a low response time monitor. If I connect an older monitor to the exact same setup, the problem goes away. I figured it would be a good way to test this theory.


ffmpeg video generation process optimization I am generating video using ffmpeg by combining images, audio, logo and some text sliding from right to left. Currently I am using four different ffmpeg commands to complete my video generation process.

Command 1: Below command combines the images and output a video with desired animation

ffmpeg \
-t 5 -i 1.jpg \
-t 5 -i 2.jpg \
-t 5 -i 3.jpg \
-t 5 -i 4.jpg \
-filter_complex \
"[0:v]zoompan=z='if(lte(zoom,1.0),1.5,max(1.001,zoom-0.0015))':d=125,fade=t=out:st=4:d=1[v0]; \
 [1:v]zoompan=z='if(lte(zoom,1.0),1.5,max(1.001,zoom-0.0015))':d=125,fade=t=in:st=0:d=1,fade=t=out:st=4:d=1[v1]; \
 [2:v]zoompan=z='if(lte(zoom,1.0),1.5,max(1.001,zoom-0.0015))':d=125,fade=t=in:st=0:d=1,fade=t=out:st=4:d=1[v2]; \
 [3:v]zoompan=z='if(lte(zoom,1.0),1.5,max(1.001,zoom-0.0015))':d=125,fade=t=in:st=0:d=1,fade=t=out:st=4:d=1[v3]; \
 [v0][v1][v2][v3]concat=n=4:v=1:a=0,format=yuv420p[v]" -map "[v]" -s "800x450" ./out_fade.mp4

Command number 2: Then I use this 2nd command to add audio to my video.

ffmpeg -i 'input_video.mp4' -i 'audio.mp3' -codec copy -shortest video_out.mp4

Command number 3: This is used to add logo to my video on top left location.

ffmpeg -i 'input_video.mp4' -i 'logo.png' -filter_complex "[0:v][1:v] overlay=25:25" -pix_fmt yuv420p -c:a copy 'video_out.mp4'

Command number 4: This is used to add the sliding text in a red box at the bottom of the video screen.

ffmpeg -i video_input.mp4 -vf "drawbox=y=ih-80:color=#ef2626@0.8:width=iw:height=80:t=fill,drawtext=text='This is a testing text example.':expansion=normal:y=h-line_h-20:x='if(eq(t\,0)\,w\,if(lt(x\,(0-tw))\,w\,x-4))':fontfile='Lora/Lora-Regular.ttf':fontcolor=white: fontsize=40" video_final.mp4

This process is slow I think and I am thinking is it possible I can combine these 4 processes into one or at least reduce it to two commands?

Here's the combined command,

ffmpeg \
-i 1.jpg \
-i 2.jpg \
-i 3.jpg \
-i 4.jpg \
-i 'audio.mp3' \
-i 'logo.png' \
-filter_complex \
"[0:v]zoompan=z='if(lte(zoom,1.0),1.5,max(1.001,zoom-0.0015))':d=125,fade=t=out:st=4:d=1[v0]; \
 [1:v]zoompan=z='if(lte(zoom,1.0),1.5,max(1.001,zoom-0.0015))':d=125,fade=t=in:st=0:d=1,fade=t=out:st=4:d=1[v1]; \
 [2:v]zoompan=z='if(lte(zoom,1.0),1.5,max(1.001,zoom-0.0015))':d=125,fade=t=in:st=0:d=1,fade=t=out:st=4:d=1[v2]; \
 [3:v]zoompan=z='if(lte(zoom,1.0),1.5,max(1.001,zoom-0.0015))':d=125,fade=t=in:st=0:d=1,fade=t=out:st=4:d=1[v3]; \
 [v0][v1][v2][v3]concat=n=4:v=1:a=0,format=yuv420p,scale=800:450,setsar=1[v]; \
 [v][5]overlay=25:25,drawbox=y=ih-80:color=#ef2626@0.8:width=iw:height=80:t=fill,drawtext=text='This is a testing text example.':expansion=normal:y=h-line_h-20:x='if(eq(t\,0)\,w\,if(lt(x\,(0-tw))\,w\,x-4))':fontfile='Lora/Lora-Regular.ttf':fontcolor=white: fontsize=40" \
-c:a copy -shortest ./out_fade.mp4


Looking to intentionally distort video I am looking to intentionally distort a video file. Filters and effects are not really doing it for me, they are simply too generic or predictable over the course of a 2-3 minute video. I am looking for something that is close to entirely random. I would like to still be able to decipher the video content (in some manner, at least recognize it). Having the video overlaid with all kinds of random effects (I am really open to anything, as long as it changes over the course of the video) is what I am aiming for.

I care less about it, but any similar suggestions for audio would be great!

I really look forward to any creative suggestions. I've done a bit of research and haven't got anywhere satisfying. I know this is probably a silly question.

I really like what this guy did. He's been "repurposing" YouTube's video compression to create a glitch effect for his voice and video recording. Not sure whether this is what you're looking for.


What video formats/codecs should a video editing software aimed at beginners/semi-pros definitely support I have a video editing software which current supports only MP4/H264 as the videos that can be imported into the system. I wanted to expand this and was investigating into the different popular formats out there.

My tool is meant to make video authoring simpler and tries to achieves that with a doing away with pro-level features. I have basic editing features like trimming, filters, annotations etc.  My target audience are everyday consumers like teachers, entrepreneurs, trainers etc. who might have a video creation need and can't afford time to learn or money to pay for a pro software.

So, in your opinion, which are the video formats I should definitely support for importing over and above MP4/H26 given my customer base? I personally felt that MP4 is very restrictive and wanted to expand over it.

To be frank, beginners and semi-pros will be capturing their videos on smartphones or consumer-level camcorders. And contemporary ones all record their videos as H264 in MP4 or MOV. The only other candidate is MJPEG in AVI for videos taken with older devices

If it's legally possible, I'd suggest bundling Avisynth along with your software and coding AVS/AVI import into your tool. There are plugins for Avisynth which handle many other formats. To make it somewhat transparent and simple for users, your menu should contain two entries: 'Open MP4' which handles native import of MP4, as it presumably does right now, and something like 'Open other formats', which when presented with a heterogeneous format, constructs a simple Avisynth script on the fly and executes it, without the knowledge of the user. This way your users don't need to know scripting and your app now accepts many other formats.


HDMI/DVI capture/recording hardware? Does anyone know a Framegrabber / capture device that works for all HMDI, VGA, DVI, SDI ?

Foresight Imaging cards support all types at HD and up to 60/sec


Duplicating keyframes in After Effects I've made a basic animation where an element quickly changes position multiple times, e.g:

Top left corner
Middle
Top left corner
Bottom right corner

I'm trying to duplicate these keyframes a couple times so that the animation lasts longer.

Is there a way to do this? I've read up on copying / pasting keyframes to different layers, but I can't find a way to paste them onto the same layer

Click the layer were your made the keyframes
Press U or P to reveal the keyframes
Highlight the keyframes. You will know it's highlighted since the color of the keyframes is colored blue(see screenshot below)

CTRL + C to copy the keyframes
Move your time indicator to the next time you wanted
CTRL + V to paste the keyframe
Note: You need to properly copy the Start and End of the keyframe so that you won't mess up the animation


filter_script usage with ffmpeg and replacing inputs with a file When using ffmpeg -i input1 -i input2 ... -filter_script filter_complex.txt output.mkv I can't seem to get the stream from the filter_complex.txt file to be recognized by ffmpeg. If I add -map [v], then it doesn't recognize the [v] like it would normally and says there's an unconnected output.

This is less important, but I haven't found a way to do something like ffmpeg -i inputs.txt ... to avoid the character limit yet, so if you know a way to do that, that would be nice.

Reason: I'm trying to use ffmpeg to overlay many images (~100) onto a video at various points and need to use files so I'm not going over the command line limit of 2k-8k characters in windows.

I found an answer that worked for me. I was trying to use the -map [v] syntax, but it turned out that wasn't necessary and I could just use the filtergraph I made as is. I did use filter_complex_script, which Gyan pointed out is the correct command, but I'm still not quite sure what the difference between the two is after looking through the documentation.


GoPro video lose color quality while exporting in Premiere CC I am trying to solve this know gamma shift problem upon exporting from Adobe Premiere CC.
I have video recorded by GoPro Black edition.
The video quality is great but after compiling the video in a film by Premiere CC I loose
the quality of the color.
I have tried x264 but I still have this problem.

Probably I have not understood properly the reasons.
I do not think it is calibration problem, in fact (to my mind), if I open with vlc or quicktime, on the same computer (mac retina with maverick) the original video and the exported one I clearly notice the difference.
WHY?, same computer, same movie, same player the only thing is that I open the file with Premiere CC and then exported it.
I used the highest quality and I tried the H264 and x264 even with gamma correction of 2.2 the video does not look the same.

This is extremely annoying especially for underwater movies.

Please any help?
I can't get out of this problem.

This might indeed be a dupe of Upon export in Premiere Pro, colors lose saturation when previewing in QuickTime.

Are you using QuickTime .mov as your video container or MP4? If it's the former you will find your solution in the answer above.

If not, this might just have to do with your settings when encoding to h264. Try to export in a lossless codec and see if you get the same result. Then try an application like Handbrake with High Profile and see if you still get the same issue. H264 is a lossy codec and with a low-bitrate you can get washed out colors.


How do I speedup encoding of a video that has just 1 static frame with ffmpeg and lib264 library? I'm making mp4 (libx264 + aac) videos that have just one static image throughout the whole video. It's basically a narrated text with a nice background.

The question I've is how could I speed up encoding of such videos? Currently the videos are encoding at 50fps which is very, very slow. I can only encode 2000 videos on a single computer in one day.

Any particular settings I could specify to ffmpeg or lib264 library to suggest that there is no motion, and it's just a single image that has to b

For comparison, I was doing .avi (divx + mp3) videos before I moved to mp4, and I was able to encode 6000 - 8000 videos per day.

Give this a try:

ffmpeg -i audio.m4a -loop 1 -r 2 -i image.jpg -c:a copy -c:v libx264 -preset ultrafast -shortest out.mp4

-r 2 sets the frame rate to 2 fps (some players seem to have problems with 1 fps).


Playing back 1080p and 720p videos (same bitrate) on a 720p display Suppose a high quality, uncompressed video is re-encoded twice, with almost identical encoding settings at a relatively low bitrate of 4mbps, but at different resolutions, first at 1080p, and then at 720p.

So we now have two videos: One is 1080p and the other one is 720p. Both have identical bitrates.

I know that 4mbps is considered a low bitrate for 1080p, and the video will look bad on a full-HD display due to the compression artifacts.

However, during playback on a 720p display, the 1080p video will obviously be downscaled to 720p.

My question is: On the 720p display, will the 1080p video (which is being downscaled to 720p in real time during playback) look as good as the 720p video (which has the same bitrate)? Or will the 720p video (which was downscaled from 1080p to 720p by the encoder) look better? Or will both of them look the same?

I would run some tests to see this for myself, but my system isn't powerful enough for 1080p encoding. I'm looking for some expert views on this.

When you ask how something will 'look' you're in the realm of the subjective. Things 'look' different to experienced professionals than they might to the average viewer.

But still, the 1080p video will not be as good no matter what you view it on. When you encode at a low bit rate you aren't removing pixels, you're mostly removing high frequencies. Doing either will reduce the amount of information, but in different ways and with different visible effects and artifacts.

The information you lose with very lossy encoding doesn't lie in the spaces that inevitably are discarded when you downscale. You'd lose in both domains. But how that 'looks' depends to some degree on who's looking.


Automated, script and template based video editing Basic idea - I have a lot of .mp3's that I want to turn into video which would contain static background image and audio visualizer. While it's easy to do this by hand, It would take a lot of time (lots and lots of mp3s). So I was thinking of perhaps somehow automating all of this, but all I found was pretty much moviePY or another solution is AHK script for any video editing software.

Isn't there any better solutions? Most of the stuff would remain the same, So pretty much in theory I'd just need a template with static background image and audio visualizer effect and I'd just change audio track.

Automation Software might be a good option, although you'd need to give yourself a day or more to just get yourself up to speed learning curve wise.

AutoIt is free, and you can basically code your scripts and then compile it into a program or batch file which you could run on a folder of files.

I use a program called WinAutomation, which is similar to AutoIt, but you have to purchase ($800ish). But it makes task automation, even to a very high level of sophistication, and allows you to automate human processes.

With WinAutomation you could create a program that basically opens sequentially each file, loads it into your editor, adds video to a timeline, random, or based on variables, applies filters, sets up settings, exports, when finished, it would do the next one.

But again, learning curve wise.

Either way, its going to come down to coding/programming/scripting. I don't code enough to be proficient at it, so while I can cut/paste/modify and even write basic code in a few programming languages, a package like WinAutomation allows me to make programs that work like actual programs, and do very complex tasks, which script/code wise would require a lot of time to learn language wise.

Look at AutoIt. Its used to make so many apps and programs, and again, its free, with tons of resources and projects you can download to get a feel for how it's build architecture works.


How to append or join multiple times a video file (single file) to make a 10hour long video of that same file using ffmpeg? is there a way? I guess i explain what i need in the title but if not i want to make something like this.

You can use the Windows command line (DOS or cmd) using copy /b 00001.mts+00001.mts K:\Merged.mts as explained in this step-by-step tutorial, where in your case 00001.mts is the identical file repeated over and over again:

https://photography.tutsplus.com/tutorials/3-free-ways-to-join-spanned-avchd-video-files-into-continuous-clips-on-windows--cms-25830

Connecting the same file 6 times instead of twice, you would just replace in
00001.mts+00001.mts+00001.mts+00001.mts+00001.mts+00001.mts


Which rate control algorithm best preserves quick movement? I gathered the following rate control algorithms are commonly used when encoding modern video formats like h264, HEVC or VP9.

With a constant quantizer (-qp in terms of ffmpeg) all frames are encoded with the same compression ratio. Any still frame one would extract from the resulting video should come out to the same visual quality, regardless of how movement-intense or complex of a scene it is from.
A constant rate factor (the -crf parameter) applies more compression to complex parts to in turn leave simple scenes relatively uncompressed. Thus more artifacts are introduced in e.g. quick moving shots, which in common application is less noticeable to the human eye, achieving a good subjective quality while saving on file size.
The third variant is to target a specific file size with two passes of variable bitrate (-b). The first pass collects data on each frame, so that the second pass then can allocate more bits to the parts of the video that are hard to retain quality otherwise. This effectively does the inverse of CRF, assigning more quality to complex scenes.

I am looking for a strategy to archive videos wherein the movement-heavy scenes are actually most important, may even be stopped, zoomed in on and analyzed for details, whereas slow or static content is less of interest. Am I right to look to two-pass VBR to achieve the best encoding in this regard?
Should my understanding of any of the above methods be mislead in the first place, feel free to correct me. Other hints for encoding movement with good quality are also appreciated. I am especially unsure whether two-pass variable bitrate indeed leads to a heavier distribution of bitrate towards quick scenes and would appreciate if someone could confirm this with any documentation.

Here is my understanding of FFMPEG, there are 4 settings for VQ, and they are "codec", "crf", "preset", and "tune". For the "codec", FFMPEG does not do well on VP9; the others are H.264 and H.265. For the "tune", i prefer "film" for H.264 and "grain" for H.265. "crf" and "preset" can get the VQ excellent but there are drawbacks:long encoding time and large file size (bitrate)
"codec" takes care of the bitrate, H.265 has smaller file size(bitrate) that retains same level of VQ but longer transcoding time.
"crf" takes care of the quantization and the bitrate, the smaller the crf, the better the video quality, but the longer the transcoding time, and larger the file size.
"preset" takes care of the bitrate, the slower the preset, the smaller the file size(bitrate), but the longer the transcoding time
Get back to your scenario - the quick movement video, we concern with the high frequency content. We don't want to see blocky images; therefore, we need higher bitrate, but we want reasonable transcoding time.
Therefore, i prefer H.265 "codec" and "tune" grain. Then we need to tweak the "crf" and "preset" based on the SSIM and PSNR results. I had done some experiments on the MainConcept sample stream (1080p content)

Default) codec=h.264 crt=23, preset=medium, the transcoding took 27.9s the bitrate=3118kb/s, the SSIM=0.994413, PSNR=48.644
Setting 1) codec=H.265, crt=23, preset=medium, tune=grain, the transcoding took 130s, the bite 3949kb/s, the SSIM=0.99487, PSNR=50.894298
Setting 2) codec=H.265, crt=1, preset=medium, tune=grain, the transcoding took 202.37s, bitrate=60883kb/s, SSIM=0.999738, PSNR=65.497223
Setting 3) codec=H.265, crt=23, preset=slow, tune=grain, the transcoding took 329.36s, bitrate=4338kb/s, SSIM=0.9952, PSNR=51.452838

Setting 3) has better VQ performance with acceptable drawbacks or you may keep tweaking the "crt" and "preset" to get to the point that reaches your acceptable transcoding time and the bitrate results.
Good luck!


Can I use historical films from Weimar/Nazi Germany for research? (Copyright UK law) And does anyone know any good places I could find this stuff, its for a video collage?

Reach out to the European Film Gateway's FAQ and look for "May I use content found on the EFG for my own website or in other contexts?".

In addition to that you can ask for help in their contact form.


Apply custom lut via ffmpeg? I'd like to batch convert some log footage as well as transform each clip into rec709 colorspace. Is there any way to apply a custom lut to the footage? If so, what's the correct way to do that?

You may want to use FFMPEG's lut3d filter. It requires you to provide a look-up table (a *.cube file). For example, if you have an ARRI camera you can generate these files using ARRI Color Tool or simply download a package with them from the linked page.

Once you have the files, use FFMPEG like this:

  ffmpeg -i "Input.mov" -vf lut3d="ARRIP3D65PQ108-33.cube" -s 1920x1080
  -c:v dnxhd -pix_fmt yuv422p -b:v 120M DNxHD_for_Editing.mxf

The important part here is the use of lut3d filter:

  -vf lut3d="ARRIP3D65PQ108-33.cube"

where ARRIP3D65PQ108-33.cube is the LUT file to use with the filter.


Video editing software with Audio scrubbing[Windows 10- 64bit] I am looking for a Video editing software to do some post production work on my animated movie(mp4 file without audio).I use Blender VSE,but it lacks severely in effects like transitions ,FX  etc .
My main requirement is Audio Scrubbing since their is lipsyncing and precision trimming required in the video.I did do a web search and the only advanced software which seems to pop up is Adobe Premiere Pro.Since I am an indie animator, "Premiere Pro" is way of my budget.I also checked softwares like Camtasia,Powerdirector,Movavi,Filmora but was surprised that audio scrubbing was not available.
Sony vegas is avalable around the 300$ mark but it seems to be an overkill for just some audio scrubbing .
Are there any other softwares available around the 100$ range with the Audio scrubbing feature and some basic transition,Fx and color grading capabilites.

I'd also suggest DaVinci Resolve for your needs, though you may need the studio version ($300 one time purchase with free upgrades, so far even between major versions.)  While recent versions of Resolve include very full featured non-linear editing and fantastic sound handling with Fairlight audio, I don't believe they include effects and much in the way of transitions.  The paid "studio" version includes a good selection.

You are also getting a pretty high end node based compositing tool (Fusion) built in to the software for that price as well.  Resolve's NLE isn't quite as good as Premiere Pro, but it's very good.  I like Fusion better than After Effects (which is the partner compositor that goes with Premiere Pro.)


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

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

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

The minimum software is hardware.  You want specialized hardware for doing top quality live streaming encoding reliably.  You could use something like the Black Magic ATEM television studio which includes 4 inputs and real time stream encoding capability to produce the conference really well or could use a cheaper stream encoder device that simply produces a direct stream.

You then need a CDN to handle distribution of the stream.  You can either use advertising supported options like Youtube or you can use commercial ones you pay for, such as UStream or any number of other services.  That's fairly independent of the streaming hardware you use.  Your end point just produces the stream, which just needs to be reliable and high quality, preferably specialized hardware.


What are ways to show phone conversations? Suppose you have person A in one room, placing a phone call to person B in another room. How would you show the resulting phone conversation?

I can think of two ways: One is to split the screen, so person A is shown on the left side, and person B on the right side.

The other way, is to have alternating "full shots" switching back and forth between persons A and B.

What are these video techniques called? Are there other techniques that I've overlooked?

I like to think of alternate ways to do things, so here are a few.

One variation of the split screen is a picture-in-picture layout, where Caller B is in a small (often rectangular) box overlaid on the main shot of Caller A.
Another variation of the split screen is a "cloudy" picture-in-picture, where Caller B appears as a cloud-shaped image with fuzzy edges overlaid on the main shot of Caller A, usually floating above Caller A's head. This is sometimes used to make it look as though Person A is thinking of Person B, but I'm pretty sure I've seen it as a phone call too.
If the call occurs in present day, a video call on a computer screen can show Caller A and Caller B in a variety of layouts.  It could even include Callers C, D, E, etc.
Some scenes only show Caller A, and Caller B is heard without being seen.
In the movie The Player, there is a creepy scene in which Tim Robbins calls a woman he's attracted to / stalking.  He's on his cell phone, outside of her house, at night. She can't see him but he is looking in through her windows while they talk. So there are some 2-shots that show both of them on the phone simultaneously. (It's briefly included in the trailer at 1:10.)


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

You need to make sure your artwork is at least 720x1280 in size.

Then open a video editing package like Adobe Premiere, Final Cut, or an animation package like After Effects.

Create a project with a canvas of 720 x 1280 pixels, and drag your artwork into it.

Make the timeline 10 seconds in duration (set in and out points on your timeline).

Export your timeline either in a higher quality video format first (like Apple ProRes 422 if you're in Final Cut), or export straight into the format your want (not all editing software exports in these formats).

If your software doesn't export in these formats, convert your ProRes file into the correct format using something like Adobe Media Encoder, Compressor, MPEG Streamclip, or Quicktime Pro 7.

Make sure you know what bit rate, frame rate, and color depth the video should be encoded at - ask whoever you're delivering to.  Set these when you do the export.

NB - I'm assuming 9x16 isn't a typo - most displays are 16x9 (16 horizontally and 9 vertically).  But as you said advertising displays, these are often in "portrait", i.e 9x16 aspect ratio.


Adobe Premiere Pro CS6 Shortening Video I have a video that is 38 minutes and 13 seconds in length but when I convert the video to the H.264 encoding using the 'YouTube HD 720p 29.97' preset the video is converted - but only the first 2 minutes or so.

The video file is of the extension '.avi' and was originally recorded using the Lagarith Loss-less video codec in DXtory - the original file fps is 30.

What can I do to convert the entire video?

After selecting File -> Export -> Media, in the Export Settings window that pops up, go to the lower left and make sure that Source Range: Entire Sequence is selected.


Is it possible to customise Krita’s FFMPEG render? As Windows 10's native media players still don't support the YUV444p pixel format, which seems to be FFMPEG's default format, is it possible for a Krita user to easily (or relatively easily) reconfigure Krita’s FFMPEG command line to specify, say, YUV420p?

While downloading the VLC Media Player is, of course, an option, as is ‘simply’ collecting Krita’s PNG file render output and running FFMPEG against them manually, life would be a lot easier if Krita’s render workflow was seamless at this point.

While I don’t mind tinkering around at the command prompt, it’s not ideal for people who’ve grown up in a GUI environment. So. Any helpful suggestions or workarounds, anybody?

As per the code, you need to set the profile in Video Export Options to high and Krita will force the pixel format to yuv420p. There also appears to be a Custom Options field where you could fill -pix_fmt yuv420p but if the profile is incompatible (like high422), ffmpeg will bail out.


How can I combine whiteboard animation, stop motion and live video without massive import/export and adjustments? I have watched videos from AsapSCIENCE. These videos combine stop motion, whiteboard board animation (drawing effects) and real life scenes.

I found a whiteboard animation software, VideoScribe, that lets me achieve drawing like effects without any drawing knowledge, however it does not let me add any video or edit the video track.

Suppose I

  draw a man -> drag him -> walking animation -> draw a girl -> drag and
  animate again -> draw a dog jumping towards them -> erase dog -> drag
  both to come close -> draw rain -> raining -> draw umbrella -> ...

I'll prefer to use videoscribe for drawing effect and flash for rest. But I need to adjust frames everytime. And if I later on realize that dog should look more cute. I would have to rework since It may again require adjusting scenes, platform and position of other elements.

I was wondering if Flash has some actionscript which can put sketch/drawing/painting effect to a SVG image then we at least combine video scribing with Flash only. It'll save a lot of time in importing/exporting and editing. Especially when we commit a mistake in past work.

Is there any software or Action Script to achieve this without needing advanced knowledge?

Any end-to-end tutorial which can teach me how to make videos like this may also help me.

Well in that case you would export the video from VideoScribe and then edit it together with your other video material in an video editing program (also referred to as NLE).
Quite straight forward process, how you do this step by step depends on the video editing software you want to use.

There is the free Lightworks and commercial solutions like Adobe Premiere, Sony Vegas or Apple Final Cut and Apple iMovie.
I'd suggest you look into a solution that looks like it appeals to you and then watch a tutorial on the basics of that program.


Started to record over AVI file I have an AVI file. It was an hour or so long file. Then I accidentally started recording over that same file. The old video is still there but all the video players don't see it. Is there any way to recover the file?

When overwriting happens, usually old file is removed. So, new file size is around 0 bytes. Here nothing to rescue.

If you realized your mistake ASAP, in a few seconds, you can press RESET button. You will lost everything unsaved. Perhaps, even file system commit with new data, so old data will be here.

Otherwise, your file lost. You can try to recover file as any other deleted file (possible buy new disk, create sector copy, use any software like R-Studio), but since file here, with new content, this may not help. Try chance in specialized datarecovery company.

Yes, here exists ultimate solution. In theory, you can scan every sector of you hdd for AVI signatures (with AVI it easy possible) and read "RAW" frames from your disk directly. But here two problems:

I don't know good tools for this. I know only one tool, which "in house", written for "in house" usage: http://an-private.narod.ru/video/dvchanger/dvchanger.htm - it dedicated for DV video only. I found some other public available tools like https://www.remosoftware.com/dv-file-recovery, but it not tested by me and I can't suggets it.
Even if you file was in AVI, and you restored frames from your disk, frames may be mixed together due disk fragmentation. So you may get mixed your footages with other files. If you have very costly file, you can try to spend many hours in Premiere to recover it.

Sometimes it's easier to write a program for a specific case and equipment than to use ready-made utilities designed for general purposes. I wrote such a program for a dental camera and successfully restored the video


Customize Date/Time title for Final Cut Pro X I am trying to "recreate" FCPX's title Date/Time in Apple Motion 5. Reason is that the the original Title is in English. I want the date to be at least numeric only (26.10.2016).

I am able to achieve this in new Final Cut Title, but then in FCPX the title does not use time of the connected clip in Timeline.

I also tried to open the original Title in Apple Motion, but I am unable to find any setting of date generator value. Also in this title I am unable to change region of the the date.

Region control for my Time date generator

No region control for Time date generator from original title

Update:
I was able to change the region in Motion, but it is not reflected in FCPX and the Title goes crazy

The reason the one from Final Cut Pro doesn't have the "Region" control is because it has the "Animate" flag set. If you set the animate flag on yours, then select something else, and then select yours again, the Region setting goes away. I don't know if that's a bug or if there's some user interface design reason for it.

So if you want to change the region, I suggest turning on the animate flag, select something else, select the generator again and set the region. Then turn the animate flag off again. I'm not sure if it will take or not, but I bet it would.


How to extend the captions to an earlier point in Premiere Pro? I started the captions too late in the video and now I need to extend it earlier, but I'm getting this message:

Is there a way to extend it to the left without having to re-position each individual caption? How?

There is a 3-step solution-

Insert an empty caption in the beginning
Move captions to 0 mark of your sequence
If you hold CMD/CTRL while dragging out the end of a caption, it ripple-shifts all the captions after it. So just grab the tail of first, empty caption and extend it to the mark where the text should begin


How to create a video like this? How do I create a video like this?

If I want to create such videos, I want to know

Type of instruments to be used(including camera, etc.)
Light settings
After effects
Software suggestions if any

As currently stated, the answer is, you can't.  The only thing special about that video is that it is very well planned out and coordinated with lots of lighting making it almost certainly outside your budget to reproduce something similar.

The video work itself is all actually fairly basic.  Any camera with a decent dynamic range and sharpness could capture the level of detail, though protecting it from the powder is always a fun trick.  It would need a decently fast frame rate for the shots that are slowed down, but 60fps would probably be sufficient.  They are also using a dolly or steadicam for the smooth shots that track across the scene (from one side to the other).

Most of what you see is simply lighting as shot that is then color graded to give it that look.  The color grading and speed adjustment is very basic and even a fairly simple non-linear editor could achieve it.

The problem is that the shots depend entirely on the content actually being shot and the way it was lit.  There is a ton of light on that scene.  There are three or four massive sport stadium/construction site style light arrays in the background and more light (possibly reflectors) in the front.  They all need to be properly aimed and setup to put the light where it is needed and this is a complex and costly operation that is drastically beyond the scope of what can be answered in a simple question and answer.


Changing duration of multiple still frames at once (stopmotion animation) I want to make video from multiple still photos (some kind of slideshow). When I drag&drop photos from media pool, they appear on timeline, but last too long. When I select all frames, press right mouse button and choose "change clip duration" I can set some value. Unfortunately, they are changing duration but stay at previous position leaving some gaps:

Are there any other ways to set duration of all frames to the same, fixed value (0.5 second for example), and at the same time keep them all together?

You can use Edit > Delete Gaps

This will remove all gaps on all tracks. To exclude a particular track, you can lock the track before you Delete Gaps.

You can also change the default Image/Still duration before the import in the application Preferences > User  > General > Standard still duration setting


How to zoom in on (or pop out) particular screen area's I would like to know how to zoom in (or pop out)on a particular boxed screen area (like menu and mouse movements) just like this guy did in this linked video. I wanted to make same thing for my Youtube tutorial series.

Video Link -

I think the person in the tutorial recorded, cropped and placed each individual element in his video.

You could give "ZoomIt" a try. It's a tool from Microsoft that lets you zoom while recording your screen.


Transitions in Premiere Pro CC 2015 with After Effects Sequence I have two clips in Premiere, to which I want to add a black fade transition. So far that works without a problem.

But when I replace the clips with After Effects compositions (because I want to add some effects on the clips, like Twixtor) and then try to add a black fade transition between those clips (now AE compositions), it doesn't work.

Premiere tells me there are not enough frames for the transition, altough the clips are still the exact length, but only AE compositions...

What is the right workflow for doing stuff like this, so I will still be able to add transitions over the clips when they come back from After Effects?

Often (and perhaps in your case) what is happening is the following.  Initially you have a clip that has plenty of content before or after your transition point.  You trim that clip to represent the content you actually care about.  If you do a fade at this point, the fade is going to use frames from the trimmed part of the clip that you don't necessarily see, but which are there (and which are used to complete the fade).  Now, if you send your trimmed clip through some external process, it doesn't send the /whole/ clip to the external process, just the frames you "see".  That clip that seems properly trimmed doesn't actually have the frames to allow the fade to complete the way you want it to.

To fix this, send a longer trim of the clip to AE, then, when it comes back, re-trim it to what you want.  You should find the fade working as well as it did for you initially.


What's the technical term for additional material at the start and end of a take? When shooting footage, it's good practice to start a little earlier and end a little later than the actual action. That way, you get more freedom during editing. The same holds true for animated sequences or visual effects.

I'm sure there must be a technical term for that additional time at the start and end of a clip. I'd like to say 'this clip requires 5 frames [additional material at the start] and 10 frames [additional material at the end]'.

What's the term I'm missing? Googling didn't help.

I can't cite any authority, but the term I've used and heard most often is handles. It's not just used for live shots, but refers to any trimmable material that allows for transition points to be adjusted, etc. In your example I'd say "this clip requires 10-frame handles".


Is there any ffmpeg command for knowing max bit rate of a video? I have an MP4 file input.mp4 which is encoded in libx264. By ffprobe command:

ffprobe -v error -show_streams input.mp4

I can know the bit rate of input.mp4, but it does not give the information of max bit rate (max_bit_rate=N/A ).

Is there any ffmpeg (ffprobe) command for getting max bit rate of a video?

That max_bit_rate is a a tag written by some encoders, when set by the user in the export dialog box. It is not an indication of the maximum bitrate found if you were to survey the encoded bitstream.

It's possible to get a good idea of the maximum bitrate of a stream this way:

ffmpeg -i in.mp4 -map 0:v -c copy
       -f segment -segment_time 1 -break_non_keyframes 1 folder\seg%d.264

This will break up the video stream into 1 second segments. Sort the directory listing by size to find out the largest file. That's your maximum bitrate. Not totally accurate as it's not a rolling survey but should be close enough.


Some parts have audio out of sync after a master export I have a project in Final Cut Pro X, that plays as I expect in the Final Cut, but when I export in to h264 there is a part where audio is playing slightly in before the video.
Such part is present on the following screenshot:

At the beginning the audio is in sync. Then there is a 100x speedup, and then audio get's out of sync (I'm talking about the clips audio, not the green music). Ironically there is also a connected clip that appears slightly later, and it also has a 100x speed increase later on but that does not cause any problems. Also both clips' audio plays separately in the left and right channels, so in headphones I can hear that in FCPX some audio bits happen at the same time, while in the exported file they are out of sync…
Am I doing something wrong?

I don’t think you doing something wrong.
My suggestion is copy the sequence to a complete new and fresh library. This should load the clips again and hopefully get rid off any possible problems in the library.


App to quickly analyze audio loudness of several video files? Is there an app for OSX that lets you quickly analyze the loudness of a bunch of video files, shows you the peak and RMS loudness of each file in dBFS (I think dBTP and LUFS would be too much to ask for) and maybe even outputs everything into a log file? It should preferably be free, or cost only a few bucks.

No special format support needed. It's all just basic QuickTime compatible stuff.

ffmpeg, a free multi-platform command-line tool, can do this.

Use the volumedetect and EBUR filters on each of the files

ffmpeg -i input.mov -af volumedetect,ebur128 -f null - 2> input.log

This will produce a log file with the initial lines looking like this:

[Parsed_ebur128_1 @ 0000000002d42400] t: 12.7       M: -32.7 S: -32.7     I: -30.7 LUFS     LRA:   3.1 LU
[Parsed_ebur128_1 @ 0000000002d42400] t: 12.8       M: -33.2 S: -32.7     I: -30.8 LUFS     LRA:   3.1 LU
[Parsed_ebur128_1 @ 0000000002d42400] t: 12.9       M: -33.2 S: -32.7     I: -30.8 LUFS     LRA:   3.1 LU
[Parsed_ebur128_1 @ 0000000002d42400] t: 13         M: -34.3 S: -32.9     I: -30.8 LUFS     LRA:   3.1 LU
[Parsed_ebur128_1 @ 0000000002d42400] t: 13.1       M: -34.3 S: -32.9     I: -30.9 LUFS     LRA:   3.1 LU

and the final lines:

[Parsed_volumedetect_0 @ 00000000005db400] n_samples: 18700288
[Parsed_volumedetect_0 @ 00000000005db400] mean_volume: -31.5 dB
[Parsed_volumedetect_0 @ 00000000005db400] max_volume: -5.3 dB
[Parsed_volumedetect_0 @ 00000000005db400] histogram_5db: 22
[Parsed_volumedetect_0 @ 00000000005db400] histogram_6db: 32
[Parsed_volumedetect_0 @ 00000000005db400] histogram_7db: 250
[Parsed_volumedetect_0 @ 00000000005db400] histogram_8db: 470
[Parsed_volumedetect_0 @ 00000000005db400] histogram_9db: 816
[Parsed_volumedetect_0 @ 00000000005db400] histogram_10db: 936
[Parsed_volumedetect_0 @ 00000000005db400] histogram_11db: 1796
[Parsed_volumedetect_0 @ 00000000005db400] histogram_12db: 2632
[Parsed_volumedetect_0 @ 00000000005db400] histogram_13db: 4516
[Parsed_volumedetect_0 @ 00000000005db400] histogram_14db: 6028
[Parsed_volumedetect_0 @ 00000000005db400] histogram_15db: 8846
[Parsed_ebur128_1 @ 0000000002d42400] Summary:

  Integrated loudness:
    I:         -28.6 LUFS
    Threshold: -38.9 LUFS

  Loudness range:
    LRA:         9.0 LU
    Threshold: -49.0 LUFS
    LRA low:   -33.6 LUFS
    LRA high:  -24.6 LUFS

The mean_volume is the RMS value.

(Download the latest nightly/snapshot binary for your platform)


How to *integrate* every two frames of an existing video into one in order to compensate for low illumination? Some mobile phones are able to compensate for low illumination conditions by integrating every two or more frames into one. The result is a video with variable frame rate, where each image has its particular timestamp. This kind of footage shows correctly illuminated subjects, but you notice the drop in frame rate because the movement is not fluid and also the images become noisier (because you are adding too the noise produced by the electronics). Anyway it seems a technological miracle for me, taking into account that the entrance pupil of such devices may not be larger than 1 mm in diameter.

But let's say you forced the phone to record at a fixed frame rate (e.g. 1280x720p30 with OpenCamera in Android). It should be possible to convert for instance 30p to 15p by adding the values stored in the corresponding pixels of each two frames into one. I know this process is possible because it is usual in other contexts, e.g. dealing with astronomical images.

My tools are ffmpeg and Blender. I would be thankful if someone can restrict the answer to these tools, though other solutions are also welcome because they might put me in the right track to look for suitable alternatives.

As you note, just adding (integrating) each pair of adjacent frames to make one new frame decreases the frame rate.

But if all you want to do is integrate adjacent frames, consider duplicating the video into a separate timeline, shifted by exactly one frame. Integrating these two streams would give you a new video with the same frame rate, but shorter by one frame overall.

All the rest of the noted issues might surface, but at least the frame rate wouldn't change.


Video (or audio, too) format that stores multiple languages in the same file, but only the parts that are different? DVDs or similar often offer different dubs of the same movie, TV show, etc. on one disk.  Storing a whole different video track (and audio track, too) for a movie seems a bit wasteful, given that the parts where nobody actually speaks (and, for that matter, when no on-screen text needs to appear in another language) don't need to be duplicated.

So, instead, why not provide the whole movie in some "canonical" language (maybe English), and then if other languages are available only store the parts of the movie that actually need to be translated, seamlessly loading them as needed?  Is there a video or audio format that does something like this (not necessarily on DVD)?

You don't need separate video tracks. All the differences are in the audio, which is a minuscule part of the overall data on a BVD. It's a simple matter for a player to select one of multiple audio tracks.


In video, can previous frames effect results seen in subsequent shots? While watch a shot on YouTube at .25 normal speed, I noticed two distinct images of the rocket fired at the ship from (25-26s).

Is this an effect of the video, the film, or the result of a video that was filmed at regular speed with a regular camera and watching at .25 speed? My question is why is the missile visible in two different frames?

Link to the video: Missile YouTube

At a certain time you can see the rocket at two places at the same time.

What you are seeing has nothing to do with compression artifacts, but is frame-blending due to the slow motion effect applied (in the video)

Let's say the video is recorded at 30 frames per second. You only have 30 'pictures' per second to capture the information. If you want to slow the video down (to be able to see the rocket more slowly) you could play these frames back at a lower speed, let's say 15fps. Each frame will be visible twice as long as when playing back at 30fps. (you could also duplicate all the frames, and play them back at 30fps to have the same effect). The footage will kind of look jittery when doing this, like it is stuttering to continue, which is not nice.

Instead of just adding copies of the already existing frames, extra frames are calculated in between. The easiest way is to just calculate the average between the frame before and the frame after. This way all your frames will have different visual content and it will be a little more pleasant to the eye. The fact that you are seeing two rockets, is due to this averaging.

(source: apple.com)

There are other possibilities to generate new frames. Software like twixtor does some advanced calculations and will (try to) guess the rockets position on the frames in between. If configured correctly this is even more pleasant for the eye than the averaging method.

The obvious solution would be to shoot these kind of shots with a high framerate. If you shoot video at, let's say 1000 fps, you can slow it down to 30fps (33 times slower) without having to calculate values from in-between frames.

These artifacts are probably coming from the original video itself, because if you watch closely you can also see it at the original speed. But it's always possible that youtube also uses averaging for it's slowdown feature, so that these artifacts are introduced by the player.


How can a beginner remove an actor from footage? I want to edit this montage of James Bond Intros. What I want is remove the real james bond, as a beginner what will you suggest a good video editor for this kind of situation?

All of these seem to be simple circle mattes, you just need an editing system that allows you to generate a circle mask that has an animatable position.

You will need 3 pieces of media:
1- the original footage
2- the new actor to go in the circle (or a neutral shot)
3- the moving circle mask

You will need to animate the circle to follow the original circle, then use the circle mask to reveal the new footage in the hole.

I can recommend using the Open Software "Blender", it has a Video editor called the VSE and a system of user defined masks that you can animate with.


Compressor 4.1: Why can't I select the group I made for distributed processing? I'm currently trying to get distributed processing to work using two different computers on the same network running the same versions of osx, fcpx, and compressor. When I go to choose the group I made from the "process on:" dropdown, it will not let me choose the group that I made. I'm trying to export to compressor directly from FCPX, and that works, but it would be much faster if I could farm out the videos from this computer to my other mac. Does anyone have any idea why I can't select my group?

Compressor 4.1 does not support distributed renderings for other programs (such as FCPX).  This is documented on page 11 of the Transitioning To Compressor document.  You can only do distributed encoding for transcodes defined entirely within Compressor, not renders.


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

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

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


Avidemux shows better preview than VLC player I shot a video in Nikon D3400 and tried to play in VLC and native player of Ubuntu. But Avidemux preview is much greater than any of these two. Any way to get the quality of that preview for my video.

Do I need to do any editing to video to get that quality? I will put two images of the two video for comparison. Avidemux-image, VLC-preview.

This looks to be a color space mismatch. You could be viewing a “clamped” (16-235) signal in VLC. This is a common issue with nVidia graphics cards.

See VSG:Video:Color washed out.


Remuxing a TS file to MP4 results in a less fluid video I'm trying to convert a .ts file to an .mp4. I'm using the following ffmpeg command:

ffmpeg -i all.ts -c copy all.mp4

This results in a noticeable loss in the fluidity of the video, which looks much more fluid in the original .ts format when viewed in VLC.

Output of ffmpeg:

Input #0, mpegts, from 'all.ts':
  Duration: 00:00:25.00, start: 235.000000, bitrate: 804 kb/s
  Program 16727
    Stream #0:0[0x22]: Audio: aac (LC) ([15][0][0][0] / 0x000F), 44100 Hz, stereo, fltp, 124 kb/s
    Stream #0:1[0x21]: Video: h264 (Main) ([27][0][0][0] / 0x001B), yuv420p(progressive), 960x540 [SAR 1:1 DAR 16:9], 25 fps, 25 t
br, 90k tbn, 50 tbc
File 'all.mp4' already exists. Overwrite ? [y/N] y
Output #0, mp4, to 'all.mp4':
  Metadata:
    encoder         : Lavf58.29.100
    Stream #0:0: Video: h264 (Main) (avc1 / 0x31637661), yuv420p(progressive), 960x540 [SAR 1:1 DAR 16:9], q=2-31, 25 fps, 25 tbr,
 90k tbn, 90k tbc
    Stream #0:1: Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 124 kb/s
Stream mapping:
  Stream #0:1 -> #0:0 (copy)
  Stream #0:0 -> #0:1 (copy)
Press [q] to stop, [?] for help
[mpegts @ 0x7fabfe802a00] Invalid timestamps stream=1, pts=21153600, dts=21160800, size=1936
[mpegts @ 0x7fabfe802a00] Invalid timestamps stream=1, pts=21160800, dts=21164400, size=2827
[mp4 @ 0x7fabff005000] Invalid DTS: 10800 PTS: 3600 in output stream 0:0, replacing by guess
[mp4 @ 0x7fabff005000] Invalid DTS: 14400 PTS: 10800 in output stream 0:0, replacing by guess
...
frame=  625 fps=0.0 q=-1.0 Lsize=    2330kB time=00:00:24.98 bitrate= 764.0kbits/s speed= 614x
video:1908kB audio:398kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 1.070788%

There's lots of Invalid timestamps and Invalid DTS errors, but I'm not sure they're related to the problem.

I've uploaded a small sample to demonstrate the error: here is the original TS file, and here the not-so-fluid MP4 result.

Any idea of how to fix this? I have noticed that the problem does not occur if I re-encode the video track with h264, but I'd really like to just remux as the original TS looks just fine.

Thanks!

There's lots of Invalid timestamps and Invalid DTS errors, but I'm not sure they're related to the problem.

They are, frames in video streams with B-frames are not encoded or stored in presentation order, so the presentation timestamps have to be correctly offset for fluid playback. In this TS sample, you have presentation timestamps earlier than decoding timestamps, which are invalid, and ffmpeg defaults to assigning the DTS as the new PTS.

Instead, use existing PTS as the reference.

ffmpeg -fflags +igndts -i all.ts -c copy all.mp4


Force subtitles to play as default I've added different language subtitles to individual m4v movies, and they show fine when selecting the subtitle track in both Quicktime and VLC. I would like to have them so that the subtitles display by default. Any way to do this?

You can use MP4Box 0.6.2-DEV-rev453 (May 2016) or higher to do this:
mp4box -add alfa.mp4 -add bravo.srt:txtflags=0xC0000000 -new charlie.mp4

Example
This will mark the subtitle stream in the output file as forced.
However, this mark will only be recognized starting with these versions of
programs:

MPC-HC 1.7.10.207 (May 2016)

VLC media player 3.0.0-20161101 (Nov 2016)

I have seen mentions to this post on the FFmpeg mailing list about a
patch that implements disposition for FFmpeg:
ffmpeg -i alfa.mp4 -i bravo.srt -c copy -c:s mov_text -disposition:s forced charlie.mp4

However after having tried it with both "forced" and "default", the subtitles
marked by FFmpeg are not recognized as forced by either MPC-HC or VLC.