text:
DVD created with ffmpeg and dvdauthor doesn't start at the beginning
I'm trying to create a DVD from a video file. While I've done this in the past and had a method that usually works, it has been a few years. This is my process:

I have ripped an old VHS tape with a video capture device that has generated an MP4 file. This original file plays perfectly in VLC.
I use ffmpeg to convert to VOB:

ffmpeg -i input.mp4 -target pal-dvd -qscale:v 3 output.vob"
The resulting file also plays perfectly in VLC.

Next, I set an environment variable to specify the format to be used for dvdauthor:

export VIDEO_FORMAT="PAL"

Then I create an XML file that describes the DVD for dvdauthor:

<dvdauthor>
    <vmgm />
    <titleset>
        <titles>
            <video format="pal" aspect="4:3" />
            <pgc>
                <vob file="output.vob" />
           </pgc>
        </titles>
    </titleset>
</dvdauthor>

Next, I use dvdauthor to generate the DVD file structure:

dvdauthor -o output -x info.xml

If I point VLC to play this structure, it works perfectly.

I burn the resulting folders to disk.

For some videos, it seems I can play the DVD on an actual DVD player without any issues
However, for some videos, the DVD starts not at 00:00:00, but further along. One some DVD players I can rewind, on others I cannot. If I use dvdauthor to put multiple files on the disk, the chapters (by default at the beginning of each file) are also not placed correctly.
In such a case, if I create an ISO file instead of an actual DVD, I can also reproduce the issue in VLC when trying to play the ISO file.
My best guess is that the original source video is corrupted in some subtle way, probably something timestamp or framerate related, and needs to be sanitized first in some way. I tried some extra conversions and remuxing, but that doesn't really seem to help.
Does anyone have an idea what is going on here?

I've resorted to using mkisofs to create the ISO image, and this seems to fix the problem. Creating the ISO in another way (e.g. on a Mac with hdiutil, or directly burning it to disc with Finder) creates malfunctioning DVDs. Apparently there are some restrictions on the ISO format for DVDs. If these are not respected, the DVDs have incorrect chapters and might even start in the middle of the video. These restrictions are best explained in mkisofs' man page:

-dvd-video
  Generate  DVD-Video compliant UDF file system. This is done by sorting the order of the content of the appropriate files and by
  adding padding between the files if needed.  Note that the sorting
  only works if the  DVD-Video filenames include upper case characters
  only.


text:
How to get VLC like screen recording performance with FFmpeg?
I had initially used VLC to record the screen of computer using the following script:
/Applications/VLC.app/Contents/MacOS/VLC -I rc screen:// --sout-keep --screen-fps=7.0 --screen-index=0 --sout #transcode{vcodec=h264,vb=1500,width=1280,height=720,acodec=mp3,ab=128,channels=2,samplerate=44100}:file{dst=/Users/shashi/temp/vlctesting4.mp4,no-overwrite}

The audio codec parameters are redundant because I am only recording the screen. However, with these video parameters, I get a decent recording of the screen without a noticeable cpu usage as well as relatively low file size.
Now I have to achieve the same but using FFmpeg instead of VLC. I thought that should be possible because both use the same underlying library. However, no matter how much I try, FFmpeg recording takes more CPU and the resulting file takes up much more space than what VLC achieves.
A sample FFmpeg command I tried:
ffmpeg -hide_banner  -f avfoundation -i "2:none" -r 10 -vf "scale=-1:720,setsar=sar=10/9"  -c:v h264_videotoolbox -b:v 1250K -keyint_min 20 -bf 5 testing_ffmpeg.mp4

Both are using the h264 encoding but how is VLC more efficient by such a degree? In fact VLC does not even seem to use the HW acceleration for encoding.. ? But a 1 minute recording from VLC is around 1 MB with decent quality but to get similar quality from FFmpeg, the file size is around 7 MB...

Yes. The VLC is most certainly using the HW accelerated compressor. For ffmpeg, you'll need to find the correct command line options to force the use of a compressor which supports hardware.

What codec does VLC say it is using?

Okay, I found the one option that will show you whether there is hardware support:
ffmpeg -codecs | less

Then search for your format, it looks like you'd type:
/h264<enter>

In my case, it shows me that I have nvenc as one of the sub-options:

DEV.LS h264                 H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 (decoders: h264 h264_crystalhd h264_v4l2m2m h264_vdpau h264_cuvid ) (encoders: libx264 libx264rgb h264_nvenc h264_omx h264_v4l2m2m h264_vaapi nvenc nvenc_h264 )

Reading from the nvidia/ffmpeg page, if ffmpeg is compiled with hardware acceleration, it should auto-pickup the available hardware encoder. However, hardware may not always encode with the same level of quality so it may be preferable to use software anyway. If you need realtime, though, you definitely want the hardware when available.
Next you need the following option:
... -hwaccel auto ...

The default, as I mentioned in my comment, is none.
For more info you may want to look at the manual page:
man ffmpeg

and search for hardware or hw.

source: Stack Exchange

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

sort: votes


text:
How to import PSD layers into After Effects and maintain their original positions?
When importing a .PSD file into After Effects, I am able to easily maintain my separate layers with their original size, but is it possible to also retain the position of each layer?
Right now, After Effects automatically centers each layer, but I need it to keep it's original position from the PSD file.

Here's a photoshop file with four layers - a background, a shape, and two text layers "left" and "right":

I save as PSD, and import them into After Effects using the "Composition -Retain Layer Sizes" option:

Here they are correctly imported into AE with the same positions:

Ah. Turns out I was just dragging the individual layers into my comp instead of opening the comp that AE created when I imported the PSD. Thank you.

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


text:
Play a single frame in a video for multiple seconds, as if video is paused on one frame
How can you slice a video and then play up to the the frame at the slice for multiple seconds, then resume the video after the slice? An example would be a 5 second video, sliced at 2.5 seconds, showing the frame at 2.5 for the next 5 seconds, then resuming to show the remaining 2.5 making it a total of 10 seconds long.

Add a freeze frame, under the retime controls of the clip. It’s command/control-R with the clip selected to see the retime menu.


text:
Undo ripple delete in davinci resolve
Is there a way to undo a ripple delete much later?
Long time after I lost the ability to ctrl-z my way back, I regret cutting out a section of the clip and I want it back. Anyway to find it?
Thanks

No.  If you’re running out of undos, you can increase the max number of undos, or you can version more frequently.  Versioning in most apps is simply, “Save As,” but Resolve works differently.
An easy way to version at the project level In Resolve is to turn on auto-save.  At any point, if you want to revert to an old version, you can restore a project backup from the contextual menu in the project manager.
Personally, I like to version at the timeline level, though.  So, periodically, I’ll duplicate my current timeline, and increment its name with a version number.  Then, if I want to open an old version, I can just open an old timeline.  The advantage is that in Resolve, you can have two timelines open at the same time, but not two projects.*  So, copy/pasting or drag/drop from an old version to a new one is easy.
*Technically, turning on “dynamic project switching” lets you have two projects “open” in memory at the same time, but they can’t both be visible in the UI, simultaneously.


text:
Combine individual R G B channel videos into single false color video?
I know how to merge individual channel images in photoshop, but I can't seem to find a tutorial or even mention of how to achieve this with video clips. I have satellite footage shot at different wavelengths (R, G, B). I could take single frames and easily make images but I'd love to do a false color video. I guess I could do all of the frames individually but I'm curious, is there a way to do this in Premiere or After Effects? Any suggestions would be helpful.

I would put all three files on three layers in either Premiere or After Effects, and play with the different blend modes and opacity of each layer until the image looks right. Screen, Add, or Overlay modes will probably be worth trying.
Premiere:
https://helpx.adobe.com/premiere-pro/using/blending-modes.html
After Effects:
https://helpx.adobe.com/after-effects/using/blending-modes-layer-styles.html

If they are the Red Green and Blue channels then Add mode would be correct.

But OP is asking for false color.  Adding would give normal color.  If he means false color like the “Predator Vision” exposure tool in some cameras and broadcast monitors, he’d also need to posterize, then remap based on Y’, which I think can be done with the “ramp” effect in AE, if I remember correctly.  In DaVinci Resolve, there’s a false color effect that’s just drag and drop.

Very good point - please add as an answer!

Just to build on @tomh answer, to get false colour you will first need to get true colour by added the layers in after effects, use the "Add" blend mode as mentioned, which will get you true colour (rough enough without grading).
Not sure this is exact "false color" but it will work near enough for your purpose I think:
You will need to select all 3 layers and pre-compose them.

Then go into Photoshop, create a blank, empty document of the same size as your footage.
At the bottom of the layers panel, create a new Gradient Map adjustment layer.

Select a gradient map that fits your requirements, or create your own.  This is what will map light and dark values to colours.

Now you can export the gradient map as an LUT:

Go through the save steps and note where you save the LUT files to.  Back in After Effects, you can add the "Lumetri Color" Effect to your pre-comp, open the Effect, then Basic Correction, then on Input LUT click Browse and import the LUT you just created.

Your footage should be gradient mapped to the LUT you created.  Hope that helps!
EDIT:  couple notes, the .3DL files seem to work best and go for about 60 grid points.  Can add LUT's in After FX or Premiere Pro.


text:
ffmpeg scale, force multiple of 2
I am using ffmpeg to scale video files to fit within a size of 1280:720, maintaining aspect ratio, using the below commands. This works most of the time, but every now and then a video with a weird aspect ratio comes out to a scale that is not a multiple of 2 in one of the dimensions, which throws an error when encoding to h.264. Is there a way I can keep the same scaling logic but round off that dimension to a multiple of 2?
By way of example I am currently erroring on a video which is 4:3 720:486 - which scales to 1067:720.
-i input.mov -c:v libx264 -vf scale=w=1280:h=720:force_original_aspect_ration=decrease output.mov

The scale filter has an option called force_divisible_by for this,
scale=w=1280:h=720:force_original_aspect_ration=decrease:force_divisible_by=2


text:
Using ffprobe to detect black frames outputs duplicate results
I'm using ffprobe to detect black frames of a video. However, the output produces duplicate entries for each black_start and black_end. Looking for help in figuring out why it duplicates these results.
ffprobe -f lavfi -i "movie=movie.mp4,blackdetect[out0]" -show_entries tags=lavfi.black_start,lavfi.black_end -of default=nw=1 -v quiet
TAG:lavfi.black_start=0
TAG:lavfi.black_start=0
TAG:lavfi.black_end=0.4004
TAG:lavfi.black_end=0.4004
TAG:lavfi.black_start=1813.68
TAG:lavfi.black_start=1813.68
TAG:lavfi.black_end=1814.38
TAG:lavfi.black_end=1814.38
TAG:lavfi.black_start=6620.85
TAG:lavfi.black_start=6620.85
TAG:lavfi.black_end=6621.88
TAG:lavfi.black_end=6621.88
TAG:lavfi.black_start=9069.16
TAG:lavfi.black_start=9069.16
TAG:lavfi.black_end=9070.69
TAG:lavfi.black_end=9070.69
TAG:lavfi.black_start=9081.84
TAG:lavfi.black_start=9081.84

The input is read via the lavfi device, and the tags are inserted by the blackdetect filter inside the filtergraph. So, they are present in the packets emitted by the filtergraph. Then, once decoded, they are also present in the decoded frames.
Use either
-show_entries packet_tags=lavfi.black_start,lavfi.black_end

or
-show_entries frame_tags=lavfi.black_start,lavfi.black_end


text:
H.265 disadvantages with video dimensions not multiple of 8
Are there any disadvantages (like worse image quality/more compression artefacts) when encoding a video in H.265 with dimensions that are not a multiple of 16 or 8, but instead a multiple of 4 or 2?
For example 1920x816 vs. 1920x818.
At least in file size there seems to be no difference, as far as my tests go.

Personally I always stick to multiple of 8 but here it is:
Multiple of 4: In H.265, DCT can be done in 4x4 Transform Units, so it's not a problem for that. It can also use motion vectors for 8x4 or 4x8 Prediction Units if there is only a single reference frame, or 8x8 if there are 2 reference frames. I suspect this causes some inefficiency, but nowhere near as bad as not-divisible-by-16 was for MPEG-4.
Multiple of 2: I would not do that. Both PUs and TUs have to be padded. (I suspect it's still better than MPEG-4, just because the "bad" blocks are not that huge.) Also, what are you gaining? Cutting off 2 pixels is not going to be noticeable.
Multiple of 1: You can't even do it unless the pixel format is YUV444. Don't do it unless it's a really low resolution video, like maybe you are using it as a replacement for GIFs.


text:
FFMPEG Extract Front Centre Channel as an audio track
I have an MKV video file with 5.1 channel audio. I want to use the third channel (FC) as AAC Audio Track 1 (with language label Malayalam), the whole audio file copied as Audio Track 2  (also with language label Malayalam), and save the video as MKV. I don't want to reencode the video.
How can I do that?
I tried this:
ffmpeg -i "input.mkv" -filter_complex "channelsplit=channel_layout=5.1[FL][FR][FC][LFE][BL][BR]" -map '[FC]' -acodec aac -map 0 -vcodec copy "output [Background Removed].mkv"

It gave me the error:
Filter channelsplit:BR has an unconnected output

Only extract the relevant channel using channelsplit.
Use
ffmpeg -i "input.mkv" -filter_complex "channelsplit=channel_layout=5.1:channels=FC[FC]" -map '[FC]' -map 0 -c copy -c:a:0 aac "output [Background Removed].mkv"

Thanks. I need at least 15 reputation to up-vote. Your answer is really useful. Please mention how to set the language of the new track to Malayalam, so that I can select this as the correct answer.

Add -metadata:s:a:0 language=mal

Up-voted and Selected, although it would be useful for everybody to describe each part of the command.


text:
Davinci Fusion Planar tracking, effect mask distorted size
I'm having problems trying to apply a polygon mask to a planar tracking media which is UHD. My project is HD and my background image (the building) is also UHD. My tracking window and mask look like this:

Then when I attach the polygon mask it gets scaled like this:

How can I resize the media or the mask so it fits my background?

I figured it out. You have to apply the mask and background with a merge node after the original composite using the tracking data like this:


text:
Expression to make image same height as shape
I have a shape that varies in height, and an image that varies in height.
I would like the image height to be the same height as the shape at all times.
I got as far as this, but none of my math seems to be making the image the same height as the bar constantly.
kyronnb = thisComp.layer("Kyron BG").sourceRectAtTime();

syz = 100 * thisLayer.height/thisComp.height - 100;
kper = 100 * kyronnb.height/thisComp.height;

sizeW = kper - syz;

[sizeW, sizeW]

I assume "Kyron BG" is the shape layer and thisLayer is the image layer and you're applying the expression on the scaling of the image layer. Then this should work:
kyronnb = thisComp.layer("Kyron BG").sourceRectAtTime();
scaleFactor = kyronnb.height/thisLayer.height*100;
[scaleFactor, scaleFactor]

Wow, thanks! So simple.


text:
Film or digital for a hundred hours of footage? Looking at cost and durability
What method would be the most convenient for storing over a hundred hours of footage? Digital looks convenient, but I think backing up that much video can be expensive. My inspiration is Jonas Mekas, who recorded a lot of (mostly) home movies on film, and I'm wondering if film could hold any advantages for me. My biggest concerns are the cost and durability of storage.

Please describe your project in detail - esp. why 100 hours? Cinema? Home video? Science project? What fps? What resolution in case of digital? What research efforts have you made so far - esp, what are the costs of film rolls where you live? Develop them yourself? I'm 99% sure you have to shoot digital because you underestimate costs of using film and overestimate costs of digital. Also, what's the problem with durability? Just have multiple copies and replace disks after 5-10 years. Tape backups can endure for 30 years and if you upload the files to a datacenter you even have geo-redundancy.

@Matt You're right, I definitely overestimated the hassle and cost of using digital. 100 hours was a ballpark figure - I just want to film a lot of videos (none of them too long) over the course of a lifetime

Film has serious challenges around durability - which is why archival onto digital formats for old/valuable film is an ongoing project for many museums

My general advice is not to worry too much about storage when you are starting. I gathered from the comments that those 100-something hours of video will accumulate over life and this allows to upgrade storage solutions as you go.
Normally you record, edit, probably import other assets, record sound or music, etc. Then you export a video master file (for the archive and to create new delivery files from) and a number of delivery formats right away to publish the video.
The actual capacity you need will also depend on what you keep: all source material or just the end result, like a high-quality masters and maybe a few delivery formats. If you also want to keep all source video files, storage needs depend on what the camera can produce. Cameras targeted for professionals use storage-hungry RAW formats whereas consumer-oriented cameras usually use compressed formats with low storage needs. You will probably start with the latter and won't produce huge files for quite a while.
Since you said you make short videos, I think it's sufficient to buy a 8 TByte disk and it will be enough for a long time. After about 5 or max 10 years, the disk will reach its end of life and can be replaced by a larger one that surely will be cheaper than it is today. For fast editing you can use an SSD where your operating system and video software is installed and where you put the source material for the current video you're editing. So the SSD doesn't have to be that big.
Regarding backups, it's safer to keep at least 2 copies besides the original. For fast access it's best to have a local backup on an external harddisk. To protect yourself against catastrophies, put another copy at a different geographical place, like a friend's house or upload it to a datacenter designed for backups/archiving needs. For a service like Wasabi you'd pay 6 USD per month for 1 TByte. If you use external harddisks they too have to be replaced over time as they degrade. However, since they are used less often, you can replace them at longer intervals. It's good if your backup program can use checksums to check if files on the backup medium have changed (because of bit flips or block read errors). When this happens replace the disk and re-generate a fresh backup using the original or the other backup copy.
Tape backups are another option. If handled well, tapes should stay intact for about 30 years. Tapes are rather cheap, but tape drives not so much. I'd say tape storage makes not much sense in your case since your storage needs will grow slowly over time and you benefit from the cost degredation of harddisks. It has become harder to find a service for tape backups as the trend seems to go to cloud storage solutions.
It's probably worth to re-evaluate backup strategies every 5 to 10 years for cheaper or better solutions. For small projects/businesses it's often best to invest only in the capacity you need for the time being and the next few years and not plan for decades ahead.
That said, filming digitally with a good backup plan should fulfill your cost, durability and convenience requirements.
To give you a glimpse on analog filming: A 400 ft roll of 35mm cost about 300 USD, or 16mm costs 200 USD, Super-8 is sold in small quantities and is therefore even pricier. Those 400ft rolls only enable you to film for a few minutes. Then there are costs for development, and costs for scanning if you want to edit it digitally - and this means you produce digital files anyway and those aren't small either. Finally, you do master prints and have to store all of them in some controlled environment. If treated well the durability is much greater than anything digital. But the archive space costs you. All this is why you won't be able to save money when working with film and it's much less convenient. It's also getting harder to find services that develop and scan the film for you.
Still, it might be fun to make a short analog movie but it would be a costly choice when dealing with large amounts of material.


text:
A 2 Gigabyte MP4 file on AWS S3 can be played on Browser instantly (no need to download the whole file before streaming), why?
I thought when streaming a mp4 file on a browser, the browser needs to download the whole MP4  file before playing, because the player needs to know metadata like video codec, audio codec, etc. and MP4's metadata can only be known only after downloading the whole file.
But today when I uploaded a 2 Gigabyte MP4 video on AWS S3, it plays instantly on Microsoft Edge (actually there is 1 or 2 seconds' delay, but still obviously the browser did not download the whole MP4 file before playing). By the way I have CloudFront (CDN) before S3, so Microsoft Edge first request the video url to CloudFront, then CoudFront request the MP4 file in S3.
How is it possible? What is the magic behind AWS S3? Don't we have to download the whole MP4 file before knowing MP4's metadata then streaming?

I’m voting to close this question because it is about web streaming technologies (S3) and not about video production.

Mp4 files store all the metadata in the moov box of the file. The browser can download the moov box, then perform byte range requests to pull the rest of the file on demand as needed. the moov box is usually only a few hundred kilobytes.

Don't we have to download the whole MP4 file before knowing MP4's
metadata then streaming?

No

Thanks! By the way I found another similiar topic on this which says there are some limitation on playing large mp4 file through browser: https://stackoverflow.com/questions/10328401/html5-how-to-stream-large-mp4-files


text:
Save video track names as a preset
I'm in Premiere Pro CC 2019 13.1.2, and want to save named video tracks as a preset.  This can be easily done with Audio as per image, but I think I must be missing how to set up a preset with named video tracks.  How can I do this?  I can't find a fat lot about it online at all.

In the latest versions of Premiere Pro CC, you can now rename video tracks by right clicking them:


text:
DaVinci Resolve: How to hide the timeline in the Deliver page
I'm using DaVinci Resolve 17 and on the Deliver page, the timeline panel takes up half the screen vertically (because I have a small monitor). It doesn't seem to be possible to shrink it with the cursor, so I'd like to hide it. But I can't find an option to do so in the View or Workspace menus. Is there some not-very-obvious way to hide it?

You can’t.  In Resolve, all of the main panels you can hide or un-hide are listed in tabs across the top of the screen.  So, you can hide the clips view for example, but not the timeline.
There are some sub-panels on the color page that expand and collapse by other means, but for the most part Resolve’s layout is less flexible than many NLE’s, but this is by design.  If your monitor meets Resolve’s minimum resolution specs and you still feel encumbered, you should submit a feature request or bug report to Blackmagic.  They are typically more receptive to user feedback than other NLE developers.
Most of the panels also have a button to toggle whether they occupy the full screen height. The Render Settings and Render Queue panels both support this on the Deliver page.  The buttons are directly adjacent to each tab, respectively.

Personally, I don’t think hiding it would be a good idea, even if you could, because there’s a high chance of outputting more or less than you intend.


text:
Are Custom Dimensions for YouTube Videos Possible?
I'm creating a video that will display in a specific zone on our home page that is not a standard 16:9 dimension, (it's 1920x539, shorter from top to bottom than usual).
Is there a way to embed this into the homepage without seeing the added black bars on top and bottom?
I entered the video's actual dimensions of 1920x539 in the embed code HTML copied from YouTube, but, while the thumbnail displayed perfectly filling up the 1920x539 space, once you hit the play button, the video displays shrunken down with lots of black space around the ages.
Any tips?
(I know I can host the video myself, but I'm hoping to benefit from YouTube's handling of automatically providing the proper bitrate to users on slow connections, which our audience is likely to have.)

Yes, videos with custom dimensions are possible and are displayed without black bars in the embedded player.
I have just tested the same and it worked for me. I think the issue is with your video. In my case, there was no need to enter the actual dimensions, the copied embed-code already had it in there. If you see different dimensions I'd say something went wrong during exporting or uploading to YouTube. Maybe the wrong dimensions are stored in metadata, maybe black bars were hard-coded into the video. It's hard to say without more details of your workflow.

Thanks for your input, Matt.  Yes, you were correct, I had spaced out during the export and used a standard preset, so, though the composition settings were 1920x539, the exported file was, of course, 1920x1080.  Brain fart.  Thanks again for responding and shedding some light on the matter.

You're welcome, glad I could help.


text:
Which settings should I use for transparent video?
I've created some graphics in Adobe After Effects which have a transparent background. I wish to render these and maintain the transparent background in the final video file so I can easily import them in my editing software. I've looked on the internet and most video tutorials show that QuickTime Animation is used to render transparent video but over the last few years support has been removed from adobe products for that video format (since premiere version 12.1).
What video codec/format should I use for my graphics? If QuickTime is still preferable, how should I import it into Premiere Pro?

I normally use ProRes 4444 set to "RGB + Alpha" and "Millions of Colours+"


text:
How to transfer huge files from dslr to ipad
How to transfer huge videos from dslr to iPad quickly without wireless transfer and also without the usb?
I have a canon camera.

SD card to lightning adapter, unless you have a new M1 iPad Pro, in which case SD card to usb-c, or unless your camera uses something other than SD, such as cfast, in which case you’d use that.  The Apple supplied “Files” app is where you access the card reader, and move the photos to either local or iCloud storage.  No drivers or special software are necessary, only the hardware card reader.  Because the iPad has to supply power to the reader, check user reviews before you purchase.  Some are are less reliable than others. I have one that only works if the iPad is fully charged.


text:
Is there a hotkey to move the selected clip to the timeline beginning in Premiere?
I often have the same simple workflow:

Import a downloaded video
Cut out a few seconds
Move the small clip to 00:00:00
Export

The third step seems pretty unintuitive for me, because I need to zoom out in the timeline, select the clip and drag it by hand to the timeline beginning. I would prefer using a “move clip to the beginning” or “move clip to the left until it collides with another clip” shortcut. Is there any?
When I google, I find these shortcuts that are also too slow for me:

Move clip one frame to the left
Move clip 5 frames to the left

OK lots of ways to do this, here's a few:

Open a sequence, and then double click the imported video to open in the source window, go the beginning of what you want and press "I" to mark the in point.  If you are cropping anything off the end of it, you can also find that point and press "O" for outpoint.  Press the full stop "." button and this will insert the clip from in to out into your sequence wherever your playhead is.  (if you have in/out points marked on your sequence it will use those instead)

in the screenshot you've shared, use the Select tool (shortcut V) to click the empty space in front of the clip.  It will turn grey as selected.  press delete and that part will delete so any clips on the end of it will be pulled to the beginning.

Or drag the whole clip to your timeline, and put the playhead at the beginning of where you want to cut to.  Press B for the ripple edit tool, and then click and drag the beginning of the clip to the playhead and it will remove the front portion of the clip and pull the remained of the clip back to the beginning of your sequence at the same time.

I've used PPro for some years and I don't want to be patronising but this is quite basic stuff.  Any basic set of tutorials shouldcover this, I recommend you find some free youtube tutorials and learn the basics - it will really help you understand how PPro works and save you asking lots of questions and waiting for answers.  If you've gone through a proper course for this, please accept my apologies and send them a note requesting a refund and ask them why on earth they didn't cover the core tools!
Edit: also on the first point - you don't have to have a sequence open.  Follow it up to pressing the full stop button, and instead of that click on the filmstrip icon below the video:

and just drag this into the empty space where the sequence is when it's open.  PPro will auto create a sequence for you and just put the in to out part of the video at the beginning.

Thank you very much! I tested all 3 methods and they work for me. And yes, I'd agree that this isn't a StackExchange question, I just couldn't fill this particular knowledge gap with YouTube videos and Google searches and got desperate.

That's ok, no problem.  Sometimes the most obvious questions are the ones no one talks about just because they seem so obvious!

@Frizelbliz It's a useful question. Took me 30 seconds to get the answer thanks to you and 5Diraptor, instead of watching a 1-hour tutorial.


text:
ffmpeg to cut subtitle file in sync with the cut video
I managed to cut the video and keep subtitle in sync by embedding the subtitles in the video:
$ ffmpeg -i sample-mp4-file.mp4 -hide_banner \
    -vf subtitles=subtitles.srt -ss 0:30:00 -t 1:33:31 \
    OutputVideo.mp4

I'm wonder if it possible to cut subtitle file in accordance / sync with the cut video, instead of embedding them in the video?

Found out that ffmpeg works on the text based subtitle file just as well:
$ cat subtitles.srt
1
00:00:06,000 --> 00:00:20,000
This is demo subtitle 1

2
00:00:20,000 --> 00:00:40,000
This is demo subtitle 2

$ ffmpeg -i subtitles.srt -ss 5 -t 60 -y cut.srt

$ cat cut.srt
1
00:00:01,000 --> 00:00:15,000
This is demo subtitle 1

2
00:00:15,000 --> 00:00:35,000
This is demo subtitle 2

$ ffmpeg -i subtitles.srt -ss 10 -t 60 -y cut.srt

$ cat cut.srt
1
00:00:10,000 --> 00:00:30,000
This is demo subtitle 2

Just exactly as what I wanted.


text:
Transcoding from AVC to ProRes: Are there any negatives that would happen to the footage?
I've shot a short film and the files are using AVC codec within an .MP4 container. I'm wondering whether transcoding to say Quicktime (ProRes 422 HQ) would have any negatives that come with it.
I would primarily do this because ProRes happens to work better with editing systems; in other words, it offers a faster preview because it's an intraframe codec.
So, are there any negative sides to doing this - and would doing it using Premiere Pro be good enough or is there a better way?

Cons:

There will be a small loss of quality due to transcription error, but it's likely to be negligible and not worth worrying about.
it will take up way more drive space. Only a problem if you're limited for drive space (these days, not likely to be a major problem)
extra work (see below for an easier way)

Pros:

much easier to work with, as long as your storage is fast enough to deal with 255mb/s bit rate

So you're good to go. But read on before you do.
The best workflow is to use proxy files, and then revert to your original footage for final output. Premiere has a built-in proxy workflow. Usually it's for working with higher quality or higher resolution footage by swapping in smaller, lower quality copies while cutting, and reconnecting to the originals at output time, but it will work just fine in your case. This also means you don't need to use the highest quality prores codec, Prores proxy does exactly what it says on the tin, it's a good-enough quality, all i-frame codec with smaller file size that is easier on the CPU and the storage.
To create proxies, just right click on the media items in your project window and choose proxy > create proxy. This will fire up media encoder in the bg, and replace all the clips with proxy versions.

By default it will want to create h.264/mp4 proxies, why I don't know. You may need to create a quicktime proxy ingest preset. You do that in Media encoder, this page has the deets. I'm not sure if prores proxy is one of the default presets or if it's one I made myself. As you can see you can even set lower resolution if you want fast editing on a crappy machine, or you have limited space. It will scale up the lower resolution proxies to match the dimensions of the originals, so you don't have to worry about resizing things. Where I work we often shoot 8k raw video, so I use this all the time.

One gotcha is that you have to have proxies enabled in the media preferences (I've actually mapped this to a hotkey so I can toggle it while I work).

At export time you just make sure that Use Proxies ain't checked. Out of superstition I usually turn off proxies in my preferences too, but that is almost certainly unnecessary.


text:
Premiere Pro system compatibility report unsupported video drivers
Just had to wipe my windows installation as it got beyond repair.  Working on a Lenovo P50, 32GB memory, Core i7 HD, Intel HD Graphics 530, Nvidia Quadro M1000M.  I've got a clean install of windows, I've installed the latest version (grudgingly) of Premiere Pro.  Open it for the first time, I get a window I haven't seen before:

(FYI, at first, this showed both my video drivers as unsupported.  The other is a Nvidia Quadro M1000M)
That's weird, I think.  I click on Fix...

Fix for the Intel Graphics driver takes me to: https://helpx.adobe.com/x-productkb/multi/drivers-video-win-intel.html
Fix for the Nvidia driver takes me to: https://helpx.adobe.com/x-productkb/multi/drivers-video-win-nvidia.html

Wasn't keen on messing with the Nvidia GPU, so I thought I'd give the Intel a go first.  Downloaded the file but when I try to install I get:

So then I did Win + X and click on Device Manager.  When I update the drivers for either Nvidia or Intel, using the search online option, I get told that I've got the latest drivers.
Ok, let's have a look at Nvidia I think - go to the website, stick in the right version, download and clean install the latest drivers, and boom, the problem goes away for Premiere Pro and everything seems to be functioning normally.  (Hence the first screenshot not showing a problem with Nvidia any more)
Well, the Intel error in Premiere doesn't bother me if Premiere will work with the Nvidia driver.  So I either want to fix it or make it go away.
I downloaded the Intel tool which detects your hardware and recommends the right drivers.  This says:

So then I found this link online: https://community.adobe.com/t5/after-effects/faq-what-is-system-compatibility-report-in-after-effects-and-premiere-pro/td-p/11200108?page=1 where an answer led me to look at this link: https://www.howtogeek.com/343287/how-to-fix-the-driver-being-installed-is-not-validated-for-this-computer-on-intel-computers
BUT there's a caveat which applies to my laptop:

I ran the Lenovo system update tool, hoping for an Intel driver update from the manufacturer, but I have all the latest packages for my system.
So what should I do?  My understanding is that if I force the update to Intel's latest driver, this could cause compatibility issues where it integrates with the Nvidia driver, and possibly Lenovo's other drivers.  On the other hand, I use Premiere Pro a lot, and I don't want to live with error popups and notifications whenever I use it.  If the error isn't going to bother me I'd be happy just to hide it.

Where possible, it seems best to disable the Intel integrated graphics if you have dual graphics.  Install the latest graphics from Nvidia for the Nvidia graphics card, and Premiere Pro should be good.
If you have discrete graphics you might not be able to disable the integrated graphics.  However this also means it doesn't matter if you update the discrete GPU.

The only solution I found is to open a new project on premiere, go to "edit", preferences, general and uncheck "show system compatibility issues at startup".
This will make that thing desappear, but it won't fix any issue.
Anyway, i hope it helps.
Bye!
Bizzarra


text:
Merging rectangles results in one rectangle disappearing in Davinci Resolve's Fusion
I'm working on a poker vlog, and I'm creating an overlay to show the cards I'm playing.  The overlay is intended to have a background color (rectangle + background), and two cards (rectangle + background + text).  When I try to merge these 3 things together, the background color I mentioned is disappearing, and only the two cards end up rendering.
On the left you can see my rectangular background color, while on the right you can see the result of the merge.

These are the nodes I've configured in Fusion:

the 5 nodes in the top-left corner represent the first card,
the 5 nodes in the top-right corner represent the second card,
the 2 nodes on the middle-left represent the background color,
the 1 node on the middle-right represents the "Hole Cards" text.

The Merge1 node seems to bring everything together EXCEPT for the background color nodes, which are suddenly disappearing (as seen on the right of my first screenshot).
I suspect I'm doing something wrong with merges or rectangles here, but I'm not sure since I literally just started using the software.  What am I doing wrong here?

I figured this out.  I didn't realize that the different colored arrows/connectors have different meanings.  There is a background, foreground, and mask connector on each merge (and on other node types as well).  When merging these three items, I was inadvertently making the hole cards background section be a mask instead of a background or foreground, which was not correct.  To solve it, I needed to add an extra merge node in so that I could use the correct background/foreground connectors.


text:
How can I find out which chroma subsampling (if any) is used in a video file?
If I have a video file, how can I find out which kind of chroma subsampling (4:2:2, 4:2:0), if any, that is used?

What I've tried so far:
If I open the codec info in VLC I can see that it's in the ITU-R BT.709 color space. Does this tell me anything about which subsampling is used?

Mediainfo is a free, open source, cross-platform solution, available in 37 languages.  https://en.m.wikipedia.org/wiki/MediaInfo
When run from the command line it outputs chrome subsampling info by default:
$ mediainfo videofile.mov

[...]
Chroma subsampling                       : 4:2:0
[...]

Would be nice with some more info about how to answer my question with the help of that software. E g  does it list the used type of chroma subsampling separately?

Depends on your OS.  With Mac, you just type “mediainfo” followed by the path of the file you want to examine into terminal and press return. It’ll display all of the info available on the file. For other options, type “mediainfo -h”  I think Windows has a GUI.

For platform-specific help, you’ll need to let us know what operating system you’re using, or what video software you’re using, because many NLEs can provide that info, too.

Also, mediainfo comes bundled on many platforms, so it might already be a built-in solution for you.  It’s just the most generic one I know about, and it actually drives a lot of the knockoffs people pay for.

Using the ffprobe command (part of FFmpeg, also a command line tool)
ffprobe -show_entries stream=pix_fmt <VIDEO FILE>

The output will look like this:
...
[STREAM]
pix_fmt=yuv420p
[/STREAM]
[STREAM]
[/STREAM]

You can then find the description of the pixel format as used in ffmpeg:
 AV_PIX_FMT_YUV420P,   ///< planar YUV 4:2:0, 12bpp, (1 Cr & Cb sample per 2x2 Y samples)


text:
FFmpeg Optimized File Size Video Loop
I am attempting to create a video loop by merging a 15 second video with about 4 minutes of audio. After finding a similar question, I found a command that loops the input video for the length of the audio, and results in a merged video file that plays like I intended.
ffmpeg -stream_loop -1 -i loop.mp4 -i audio.mp3 -shortest -map 0:v:0 -map 1:a:0 -c copy output.mp4
While the resulting video plays as I wanted, I noticed that the file size is much larger than I expected. I presume I am not understanding what the -stream_loop option is actually doing. In my case, I input a 45Mb video clip and a 6Mb audio clip, yet the resulting video is about 690Mb. The video loop repeats about 15 times before the audio is done. Since 45Mb * 15 + 6Mb is about 680Mb, it looks like -stream_loop is not instancing the clip, and is just repeating the memory. I expected a file size not much larger than the sum of the input files' sizes, just over 50Mb.
I found several other questions and answers regarding merging a video loop with an audio track, but I didn't find anyone commenting about the resulting file size. Admittedly, I am a beginner with this process, but my expectation was the default behavior for a command that creates a loop from an input source would be to efficiently instance it whenever possible.

Is the -stream_loop option actually repeating the input video clip frames to make the loop?
Is there a way to tell ffmpeg to instance the input video frames when creating the loop?
Is this actually a limitation with video formats (e.g. mp4, mkv, etc.)?
If ffmpeg is not sufficient for this, is there some way to create a video that efficiently (with respect to file size) loops the video clip for the duration of an audio clip?

Is the -stream_loop option actually repeating the input video clip frames to make the loop?

Yes.

Is there a way to tell ffmpeg to instance the input video frames when creating the loop?

No.

Is this actually a limitation with video formats (e.g. mp4, mkv, etc.)?

For MP4s and MKVs, yes.

If ffmpeg is not sufficient for this, is there some way to create a video that efficiently (with respect to file size) loops the video clip for the duration of an audio clip?

Not that I know of. Some vendors like Whatsapp have customized MP4s to allow this. However, the player has to recognize and implement the proprietary loop instruction.

In theory, one can use custom edit lists in MP4s to implement this in a backward compatible way, but I don't know of a tool that does so.


text:
Color textbox with consistent height
After-Effects newbie here.
I have many many text lines all using exactly the same font. How can I best add background color textboxes with a consistent height?
The color background must not change height depending on the text. The top two green textbox colors are what I want. The bottom two red textbox colors, changing height depending on the letters, are what I am getting.

I tried box-blur/shift-channels techniques (example) but the textbox heights are not consistent.
I also tried expression techniques using sourceRectAtTime() on size and/or position of the shape (example) but again the textbox height changes depending on letters used.
I am experimenting with anchors and baseline and suspect there is a solution somewhere there but I am getting very confused and suspect I am reinventing the wheel badly. Surely there must be a widely used solution for this but I cannot find it!
Many thanks, Polly

Make a text layer called “Text”.
Align the text centrally using the
Paragraph controls.
Make a filled rectangular shape layer beneath it.
Add two sliders to the shape layer called "horizontal padding"and "vertical padding".
Apply this expression to the size control in the shape layer:
var s = thisComp.layer("Text");
var w = s.sourceRectAtTime().width;
var h = s.sourceRectAtTime().height;  // note this isn't used
var paddinghorizontal = effect("horizontal padding")("Slider");
var paddingvertical = effect("vertical padding")("Slider");

[w + paddinghorizontal,100 + paddingvertical];

The last line of the code above sets the width and the height of the box, ie [width, height].  The height is set to 100 (an arbitrary value), plus whatever vertical padding you add later.
Write the largest vertical text you will need.
Adjust the position of the shape layer.
Adjust the height of the text layer using the vertical padding Slider control.
Adjust the horizontal padding to make it look good.


text:
Prepare a timeline to one audio track with multiple cameras and multiple clips per camera
I have a recording of a full musical theatre show with several cameras. However, the only full-length track I have is the audio. The cameras do not have ongoing tracks but separate clips with pauses inbetween. If manually arranged in Premiere, it could look like this mockup:

As there are nine cameras with sometimes a lot of clips (not just four or five), it would be extremely time-consuming to manually synchronize audio and video. However, I did not find a way to synchronize them with the built-in tools:

Multi-camera mode could work if each camera would have cuts at the same points. However, this is not the case.
Merging only works for exactly one video clip and audio.
I also tried to arrange the videos and the audio on a timeline and apply synchronize for each video/audio combination. However, it moves the audio, not the video, therefore it doesn't work either.

Is there any trick to make this work? I need separate tracks per camera because the cameras are very different and need to be color corrected individually.

Cuts don't need to be in the same place for Multi-camera mode to work.  Does each camera recording have the same audio on it?

Each clip has the audio from the build-in microphone.

If you can hear what they are saying on the built-in mic, Premiere is usually pretty good about syncing them up using Multi-camera mode.

But then how would I go from multi-camera mode to having all clips of a camera on one track (for the color correction part)?

When you add your multi-camera sequence to a normal sequence, it appears as a single track in the normal sequence.  You then cut between the different cameras.  You can apply colour correction per clip, or to all the source clips - the links in the answer below should explain it.

If there is audible speech of the event on the built-in microphone of each camera, Premiere is usually pretty good about syncing them up.
I would throw all the clips into a multi-camera sequence, set to sync using audio.  Set whichever camera is the best one to be the main sequence settings, then let it do its thing.
You will end up with a tonne of video tracks and a tonne of audio tracks, but from that point onwards, it's just shuffling the clips around in a game of video-Tetris until you have the right clips on the right tracks.  The syncing is the time consuming bit, and hopefully Premiere will do that part for you.
Make the multi camera sequence using Audio to sync.
When it is done, duplicate the sequence, and work from the duplicate.
Right click the multi-camera sequence and select "open in timeline"
Move all the camera 1 clips to Layer 1, Camera 2 clips to layer 2 etc.
When this is done, make a new "normal" sequence, and drag your multi-camera sequence into it.
You should now be able to cut between cameras using the multi-camera tools in Premiere (make a cut, right click, select which camera you want for each
clip).  There are shortcuts to make this faster.
I often end up adding the master audio to the normal sequence after I've put the multicamera sequence in, because the multi-camera tool often messes with the audio panning per clip.
You can colour correct afterwards using source clip effects per camera, or on a clip by clip basis, or you can apply them within the multi-camera sequence.

In addition to tomh's answer which is correct:
In my case, it could happen that at certain times there was only one camera filming at a time. In this case, the multi-camera sequence could not be generated as there was no way to determine where to add a certain clip.
As I mentioned in the initial question, the only thing I have at full length is the audio track. However, you (naturally) cannot use audio files for creating a multi-camera sequence. I circumvented this by creating a video of my audio track with just a black background using ffmpeg:
ffmpeg -f lavfi -i color=c=black:s=1280x720:r=5 -i input.mp3 -crf 0 -c:a copy -shortest output.mp4

Source
As a consequence, I could use this clip for creating a multi-camera sequence and it combined all videos correctly.

Off topic but I have to say it, genius!


text:
Proper way to change font size instantaneously without any easing in After Effects?
I just went in manually and added a single frame before the change in font size a frame where the font is the previous size. Is manually adding a frame one frame before the change the best way to make the font change in size instantaneously or is there a more formal way of doing it?
I also tried changing the easing to be instantaneous by going in a single frame prior and adjusting the easing speed to be 100% in a single frame as well, which worked.
I just don't want the frame time stops section to get messy with so many time stops. Is this the right way to do it still?

You need to use a hold keyframe. Right click the keyframe, select hold frame.
Each time the play head gets to a hold frame, the value will jump to that keyframe value with no interpolation.
https://helpx.adobe.com/after-effects/using/keyframe-interpolation.html


text:
Issue after importing video in Premiere
I imported some videos in Premiere Pro (MOV format, captured with iPhone), but after adding them to the timeline, they start to have issues, like video and sound not sync, and videos that repeat themself  (i.e. they start again from the beginning after 15s). It is quite annoying, I tried changing the format to mp4 but I have the same issue. Of course the original files are not corrupt and play properly in any video player.
I also tried to export the project in a video file, and it also shows the same behavior, so it is not just a playback bug in Premiere Pro.
Any help on this would be much appreciated.

Try to use any video converter and convert your files to constant frame rate.
Handbrake, movavi video converter, ffmpeg, xvid4psp or any other.
For ffmpeg your command line will be similar:
ffmpeg -i "input-file-name.mov" -r 25 "output-file-name.mov"

-r 25 - it's a framerate.
Mediainfo should show constant frame rate after render.

Awesome, problem solved, thank you very much!


text:
FFmpeg seems to write bad .w64 files for pcm_f32le streams
I have a problem with FFmpeg when writing a pcm_f32le stream to a Wave64 file format (.w64).
Basically, only FFplay can read the file back correctly. I tried with VLC, but it seems it cannot read any .w64 files I have, then Audacity and Ardour can read it but it is heavily distorted.
Wave64 files with float32 samples created with Ardour do not have this problem, so this is not a codec to format incompatibility.
Moreover, it works fine when writing to a usual WAV file, but that defeats the purpose of Wave64 which I require. It also works fine when writing a Wave64 embedding a pcm_s16le, pcm_s24le or pcm_s32le stream. Only pcm_f32le into .w64 seems problematic from what I tested (could not check pcm_f64le).
I tried using a "volume" filter at the end of the chain, to no avail.
You can get a MWE using the following commands:
ffmpeg -f lavfi -i "sine=frequency=440:duration=5" test.wav
ffmpeg -i test.wav -c:a pcm_f32le test.w64

The resulting .w64 seems valid (FFplay, Audacity and Ardour can play it back), but only FFplay produces the expected audio.
This hints me -- but I might be wrong -- that it may simply be a header-related problem, but I don't know how to solve it, and hand-editing is not an option (except for debugging purposes) since it eventually has to be done on many files by people other than me.
I'm hoping there's an argument to FFmpeg that I missed... though ffmpeg -h muxer=w64 did not help, and the resulting .w64 file's codec is reported correctly as IEEE 32-bit by MediaInfo :-(
Please excuse me if this is not the right place to ask this question (I read on StackOverflow that "[q]uestions about interactive use of the command line tool should be asked on Super User or Video Production").

Actually, ffmpeg writes them correctly. Wave64 is a wav extension by Sony, and ffmpeg Wave64 with float samples play fine in Vegas Pro which reads these files using a plugin by Sony.
If you change the 65th and 66th bytes (0x40 & 0x41) to 03 00, they open fine in Audacity.
Alternatively you can write to rf64, which Audacity plays fine straight out of ffmpeg.

Thank you for the clarification. So, after all, there was a 'magic' parameter that would solve my problem: RF64 will be the way i shall take.
Thank you very much!


text:
AE Counter Switch (Mins > Hs)
I'm trying to create an expression that changes source text from minutes to hours.
Here is an example of the graphic I'm animating:

As you can see the 3 hours counter is on hold, I want that to start from 0 minutes and increase till 60 to then swap to hours and gradually reach 3.
I will apply that too on the blue bar which currently displays '60 min' instead of '1 hour'.
Of course, I can work around it but I'd love to know a working expression.
Thanks!

Make three text layers with a slider on each.  Call the layers value 1, value 2, and value 3.
In the source text of each of the text layers put this expression, to display the slider value and round it to the nearest minute:
slider = (effect("Slider Control")("Slider").value);
rounding = (Math.round(slider));
SourceText = rounding + " minutes"

Make a text layer called total.
Put the following in its source text as an expression
totalmins = thisComp.layer("value 1").effect("Slider Control")("Slider") + thisComp.layer("value 2").effect("Slider Control")("Slider") + thisComp.layer("value 3").effect("Slider Control")("Slider")

if (totalmins <60) {
    SourceText = totalmins + " minutes" } else
        if (totalmins > 61) {
        SourceText = Math.round((totalmins/60)*10)/10 + " hours" }
        else
        "1 hour"

totalmins is a variable which adds up the total minutes from the sliders in the other layers.
If the total is under 60 minutes, it displays the total in minutes with the text " minutes" appended to it.
If the total is over 61 minutes, it displays the total time in hours, to one decimal place (the Math.round function normally rounds to the nearest whole number, so confusingly we have to multiply it by 10, then divide by 10 outside it to get one decimal place). Watch out for the capital letter on "Math".
Otherwise, display "1 hour".

Wow, this is great! Thank you so much! I just had an issue, the total wasn't rounding up from 0 to 60m but only after, so I added math.round after totalmins.


text:
Crop outer parts of frame and rejoin
I have a video 3000x1000.
I want the left part of video 1001x1000 and the right part of video 999x1000 to create a video 2000x1000. Center of original frame just dropped.
Is this possible with ffmpeg in one pass? And how?

ffmpeg -i input.mkv -filter_complex '[0:v]split[l0][r0];[l0]crop=1001:1000:0:0[l1];[r0]crop=999:1000:2001:0[r1];[l1][r1]hstack[out]' -map '[out]' ouput.mkv

It would be better if you could explain a little bit what this command does. This will help future readers and in particular those who don't have much experience with ffmpeg. .

As I understand, every filter takes a number of streams and produces a number of streams. E.g. split takes source video stream 0 [0:v] and clones it to streams [l0] and [r0]. Then crop takes [l0] crops it and produces [l1] ... finally hstack takes [l1] and [r1] and place them side-by-side then produce stream [out]. Then -map maps stream [out] to an output stream.


text:
How can I merge five mkv files I've created in OBS Studio?
I used OBS Studio to create five recordings.
Now I need to submit them as just one file on YouTube, so my five .mkv files has to be merged into just one file.
Can it be done in OBS Studio, if so how?
(I didn't manage to do find a way)
Are there any other free tool to download or use online that can fix this in an easy and controllable way?
(Preferable with the possibility of transition effects, like in this Premiere Pro demonstation if possible)

OBS is not made for editing. If you're looking for the quickest, free way, check out ffmpeg. You should have some experience using the terminal though. If not, Premiere has a free trial as far as I know.

Thanks for the tip. And yes, if OBS can't do it, I'm looking for something that can. Also it should be with a easy to use graphical UI.

In that case, ffmpeg is out of the picture. You can try the free trial of Premiere and use something like Filmora or any free software. There are a bunch of threads on here for free editing software, you should definitely find something there.

This is absolutely not a problem. You can do this with MKVToolNix (specifically with it's GUI, since that is what you have requested).
I am on Debian GNU/Linux, if you use something different, your screenshots will differ, do not worry about it.
First start the application:

Add the very first file to it:

Now you will need to add or drop the other files.
Doing so you will get a question of what to do with the files you've added:
Select "Append to an existing source file".

Now you only need to provide the name of the output file and press "Start multiplexing".

Thanks this program worked really well...

In case you will be unable to use MKVToolsNix for whatever reason, there is an older tool which is able to append files quite well: AVIDemux.
The process is trivial. Start the program and open your first file.

You then select append from menu and select files that you want to append.

That is it. Now you simply save the output. Take a note that the video and audio streams are set to copy.


text:
Is is possible to insert numerous videos to timeline automatically 2 seconds before the previous video ends
I'm very, very new to After Effects (using it for 3-4 days now). I have a bunch of videos added to my workspace, they're all of different lengths. Is it possible to somehow automatically insert them to timeline, where each sequential video is inserted 2 seconds before the previous video ends? I.e. if video1 length is 20 seconds, video2 should be inserted at 00:00:18:00 seconds. And if its length, for example, 28 seconds, video3 should be inserted at  00:00:44:00. And if they can do some cross-fading effect - even better! But at least inserting them automatically as described would be a huge time saver for me!
I tried to Google it, but either my search was incorrect, or there are no results for it, but I wasn't able to find anything on that subject. I did find a YT video which explains how a bunch of videos may be automatically inserted one after another, but it depends on videos being the same length, so that's not it.
So is there such possibility, and if there is - how do I do it? Or do I have to arrange all these files manually?
Thank you!

After playing for some time with After Effects I think I found a solution. Here's what I did:
Drag all the videos form workspace to timeline, then select all the videos I want to sequence in the timeline. Right click on the selected files, go to Keyframe Assistant -> Sequence Layers. In the opened window tick the Overlap checkbox and in the duration text insert 0:00:02:00. In the same window you can also set a transition effect. I selected Cross Dissolve Front and Back Layers, and for such a simple project I'm quite happy with the result! It did save me a lot of time!
Perhaps someone will find it helpful!


text:
Add/Replace something with silence DaVinci Resolve
Thank you for helping me. Now, my question is quite simple but I can't find the answer: How can you add silence in DaVinci Resolve? I'm switching from Audacity to Fairlight and in Audacity, I just replaced breathing with silence to not make the recording shorter, but cut out the sound. Is something like this possible in Fairlight or is there another solution?
I searched on this site, on youtube and just on the internet. Thanks!

Have you ever considered doing trainings like "FAIRLIGHT AUDIO POST"? For Version 16 it says (page 209): "Filling in Gaps with Room Tone
Nothing screams amateur video more than hearing background sound change between
every cut, or worse, plunging into a black hole of silence between dialogue lines. In
dialogue tracks, silence is deadly! Unless your scene takes place in the vacuum of space,
actual silence should never be present in your soundtrack."

Usually, it’s a good idea to replace unwanted sounds with “room tone,” rather than absolute silence.  To do this, you would edit in a recording of the environment where no one is speaking.
In the cases where you do want absolute silence, you can simply delete the audio.   If you set the sequence out point on the deliver page first, you can be sure that the duration doesn’t change.
Alternatively, you can disable the clip, by highlighting the clip and pressing “D.” This is a temporary and nondestructive method, and as long as the clip is disabled, it won’t contribute to any rendered output.
Also, in edit selection mode (it’s the I-beam cursor icon in Fairlight), you can simply drag the long, horizontal gain line down to zero, and automation points will automatically be added wherever in and out points intersect the clip.  If there’s not a long, horizontal gain line visible across clips, you can enable it in the “track display options” menu.


text:
How is this .mp4 file 596523 hours long?
I came across this joke mp4 file online. (Warning: direct download link to an 8 mb file.) Media players as well as ffmpeg both list the file as having a length of 596523:14:07.00 (!). My first guess was that the video might have used a very low frame rate, but ffmpeg lists a frame rate of 10 fps, with no frames having a variable frame rate. What is going on in the encoding of this file to give it such a long length?

Here is a hint: if someone tells you "I am 100m tall", do they actually need to be 100m tall in order to say this?

There are several things we can note here:

The file stops playing after 0:05:30.
If you remux the file (mkvtools for example) you do have 5:30 displayed as the length.
The original file does in fact show the ridiculous length.

So, although it is a funny joke, it is not as cool as I first thought. Nobody has figured out how to do an infinite loop of frames or anything similar to that. This appears to be just a header of the file that is not matching the data.
How does the player (or most tools) figure out the length of the video? They do not read the whole file, otherwise the load times of files would be impractical. So at the start of the file there is a marker that says the length, and the player just trusts it.
Let's run through the maths:
596523:14:07.00 = ((596523*60)+14)*60+7 = 2147483647 seconds
2147483647 (base 10) = 7FFFFFFF (base 16)

Oh, that's a nice number. Now let's open the file up with a hex editor, right at the start we see
 00000000:  00 00 00 18 66 74 79 70  6d 70 34 32 00 00 00 00  ....ftypmp42....
 00000010:  6d 70 34 32 6d 70 34 31  00 01 69 7b 6d 6f 6f 76  mp42mp41..i{moov
 00000020:  00 00 00 6c 6d 76 68 64  00 00 00 00 dd 69 a6 fb  ...lmvhd.....i..
 00000030:  dd 69 a6 fb 00 00 00 01  7f ff ff ff 00 01 00 00  .i..............

There's our culprit, right at the 0x38 mark. Let's edit it and see what happens. I actually get a funnier "joke" if I change 7f to ff at the start. To understand why it works, please see How the negative numbers are stored in memory?.


text:
DaVinci Resolve 17 Error Code -1 ('The GPU failed to perform image processing because of an error')
I'm trying to edit and render a three-minute 1080p video in DaVinci Resolve 17. I don't have a GPU, but I've edited and rendered much longer 1080p videos before just using my CPU. In the past, I never opened the color tab. This time, attempting to shift the video to black and white, I opened the color tab. Resolve couldn't handle it and gave me the error message in the title above. Since then I've closed Resolve and restarted my computer, but Resolve keeps giving me the same message and it's unable to do anything: unable to edit and unable to render. The message just keeps popping up periodically as long as Resolve is open. There is no problem with the amount of memory on my computer and, as I said before, Resolve has handled much bigger projects before. This problem definitely arose when I tried to do some color grading, and now it won't go away. Does anyone know of a fix?

(Answering my own question.) After uninstalling and reinstalling Resolve several times, the problem wouldn't go away. Eventually Resolve crashed as soon as I opened it, every time. Opening the color tab must have done something that messed with the way Resolve runs 'below' the level of the operating system -- I don't know much about computers, so I'm not sure how to express that properly.
Anyway, I formatted my hard drive, installed a new copy of Windows, installed a new copy of Resolve, and now it works fine. I have not opened the color tab again because I suspect the same crash will occur.
This is a pretty drastic solution, and I hope there's a better one for other users, but at least it worked.

Resolve requires a GPU to function properly, as listed in the system requirements.


text:
What are the small windows called in news-style mid shots?
What is the name of these picture in picture squares that come up on studio mid shots?
I've seem them used on YT as well for similar news-style channels.
There's an industry term and I can't remember what it is...

It is an "over the shoulder" graphic. One possible creator of the form was Ben Blank.

Brilliant! Thank you :)


text:
Convert Warped VR Video to Stereo
I'm aware there's a few different VR cameras out there that do different projection types (fisheye, parallax, etc).
I have a video that I want to convert from its warped VR projection to regular left/right stereo. Is this possible? I did a quick google search and there seems to be software for this but I'm not sure it does what I want.

If the original “VR video” is not stereoscopic (i.e., monoscopic panorama) and/or does not contain any depth data, then to create stereoscopic video, the second camera angle must be synthesized from the first.  The success of this project depends on the current state of the art machine learning models for view synthesis, and isn’t a simple matter of converting one format to another.
But if the original content does contain left/right pairs, then, yes, changing the projection is relatively simple.  Andrew Hazledon has built a suite of tools for Blackmagic Fusion, called KartaVR, available through Reactor.


text:
How to see the list of all used clips in a timeline?
If i create a timeline in davinci resolve and drag some clips from bin on this timeline, then where is the list of clips used on this timeline ? the bin contains massive clips i don't want to sort it out one by one. I just want to see only used clips as a list.
In Nuke studio, every timeline has its own clip list. But i can't find it in resolve.

The edit index lists all of the clips used in a timeline. It also provides ways to sort and filter the list, so you could limit the list to all clips containing a particular marker, for example.  Also if the filtering and sorting you require isn’t available, the edit index can export plain text, so that you can process its contents however you like.


text:
HEVC vs H264 video file size
I am doing some experiments on the file size of recorded videos in HEVC vs the ones recorded in H264 using a simple Android app that I developed. My impression was that videos recorded in HEVC should generally have almost half size (or at least much lower size) compared to ones recorded in H264 given they have same duration and almost same contents (I capture the same scene with phone's camera). But when I compare their metadata using mediaInfo, it is not really like. I wonder why.
What is going on here? Am I missing anything?! What should I do to prove this concept?
Here is what I set:
    mMediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
    mMediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AAC);
    //choose HEVC or H264
    mMediaRecorder.setVideoEncoder(MediaRecorder.VideoEncoder.H264);
    mMediaRecorder.setVideoEncodingBitRate(5000 * 1000);
    mMediaRecorder.setVideoFrameRate(30);
    mMediaRecorder.setVideoSize(1280, 720);

Here is the mediaInfo for the HEVC video:
General
Complete name : VID_20211225_210352.mp4
Format : MPEG-4
Format profile : Base Media / Version 2
Codec ID : mp42 (isom/mp42)
File size : 763 KiB
Duration : 1 s 447 ms
Overall bit rate : 4 322 kb/s
Encoded date : UTC 2021-12-25 17:33:56
Tagged date : UTC 2021-12-25 17:33:56
com.android.version : 11

Video
ID : 1
Format : HEVC
Format/Info : High Efficiency Video Coding
Format profile : Main@L3.1@Main
Codec ID : hvc1
Codec ID/Info : High Efficiency Video Coding
Duration : 1 s 447 ms
Source duration : 1 s 441 ms
Bit rate : 4 316 kb/s
Width : 1 280 pixels
Height : 720 pixels
Display aspect ratio : 16:9
Frame rate mode : Variable
Frame rate : 29.837 FPS
Minimum frame rate : 23.112 FPS
Maximum frame rate : 30.050 FPS
Standard : PAL
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Bits/(Pixel*Frame) : 0.157
Stream size : 759 KiB (99%)
Source stream size : 759 KiB (99%)
Title : VideoHandle
Language : English
Encoded date : UTC 2021-12-25 17:33:56
Tagged date : UTC 2021-12-25 17:33:56
Color range : Limited
Color primaries : BT.709
Transfer characteristics : BT.709
Matrix coefficients : BT.709
mdhd_Duration : 1447
Codec configuration box : hvcC

Audio
ID : 2
Format : AAC LC
Format/Info : Advanced Audio Codec Low Complexity
Codec ID : mp4a-40-2
Duration : 1 s 408 ms
Bit rate mode : Constant
Bit rate : 13.1 kb/s
Nominal bit rate : 12.2 kb/s
Channel(s) : 1 channel
Channel layout : C
Sampling rate : 8 000 Hz
Frame rate : 7.812 FPS (1024 SPF)
Compression mode : Lossy
Stream size : 2.26 KiB (0%)
Title : SoundHandle
Language : English
Encoded date : UTC 2021-12-25 17:33:56
Tagged date : UTC 2021-12-25 17:33:56

And here is the mediaInfo for the H264 video:
General
Complete name : VID_20211225_210425.mp4
Format : MPEG-4
Format profile : Base Media / Version 2
Codec ID : mp42 (isom/mp42)
File size : 719 KiB
Duration : 1 s 409 ms
Overall bit rate : 4 178 kb/s
Encoded date : UTC 2021-12-25 17:34:28
Tagged date : UTC 2021-12-25 17:34:28
com.android.version : 11

Video
ID : 1
Format : AVC
Format/Info : Advanced Video Codec
Format profile : High@L3.1
Format settings : CABAC / 1 Ref Frames
Format settings, CABAC : Yes
Format settings, Reference frames : 1 frame
Codec ID : avc1
Codec ID/Info : Advanced Video Coding
Duration : 1 s 408 ms
Bit rate : 4 157 kb/s
Width : 1 280 pixels
Height : 720 pixels
Display aspect ratio : 16:9
Frame rate mode : Variable
Frame rate : 29.832 FPS
Minimum frame rate : 23.107 FPS
Maximum frame rate : 30.050 FPS
Standard : PAL
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Progressive
Bits/(Pixel*Frame) : 0.151
Stream size : 714 KiB (99%)
Title : VideoHandle
Language : English
Encoded date : UTC 2021-12-25 17:34:28
Tagged date : UTC 2021-12-25 17:34:28
Color range : Limited
Color primaries : BT.709
Transfer characteristics : BT.709
Matrix coefficients : BT.709
mdhd_Duration : 1408
Codec configuration box : avcC

Audio
ID : 2
Format : AAC LC
Format/Info : Advanced Audio Codec Low Complexity
Codec ID : mp4a-40-2
Duration : 1 s 409 ms
Source duration : 1 s 408 ms
Bit rate mode : Constant
Bit rate : 13.4 kb/s
Nominal bit rate : 12.2 kb/s
Channel(s) : 1 channel
Channel layout : C
Sampling rate : 8 000 Hz
Frame rate : 7.812 FPS (1024 SPF)
Compression mode : Lossy
Stream size : 2.31 KiB (0%)
Source stream size : 2.31 KiB (0%)
Title : SoundHandle
Language : English
Encoded date : UTC 2021-12-25 17:34:28
Tagged date : UTC 2021-12-25 17:34:28
mdhd_Duration : 1409

You've specified the encoding bit rate to be 5000*1000 kbs. So the constraint here is the file size, not the quality of the video (i.e., all of your videos will be approximately 5 kbs * duration in size, regardless of the choice of encoding).
HEVC has the potential to have higher quality at a given bit rate, though it comes at a cost of encoding speed (i.e., better compression also takes more time; for certain levels of compute, the difference between x264 and HEVC might be de minimus).
See also this answer.

Ok..So if I make the hevc bitrate half, what should be the acceptable psnr? So if too off, I increase the hevc bitrate more than half.

If you're comparing x264/HEVC to the uncompressed original, you should be able to get the same PSNR using a lower bitrate with HEVC. You might have to fiddle with some of the encoding settings and you might decide to have a slightly higher HEVC bitrate than half of an acceptable x264 bitrate to achieve the same quality.


text:
ffmpeg - why does h265 compression increase the filesize?
I try to learn about the basics of video encoding/decoding so I played around with ffmpeg a little to get my hands on it and not just read about the topic.
Accodring to the ffmpeg documentation there are two options to configure the compression of a h265 encoded video file.
The first is the -crf option and the second is the -preset option.
https://trac.ffmpeg.org/wiki/Encode/H.264
https://trac.ffmpeg.org/wiki/Encode/H.265
The crf option does what I expect that it does, the lower the value, the better the quality, the brigger the file size. So far so good. But what I don't understand is the -preset option.
The documentation says:
A preset is a collection of options that will provide a certain encoding speed to compression ratio. A slower preset will provide better compression (compression is quality per file size). This means that, for example, if you target a certain file size or constant bit rate, you will achieve better quality with a slower preset. Similarly, for constant quality encoding, you will simply save bitrate by choosing a slower preset. Use the slowest preset that you have patience for. The available presets in descending order of speed are:
ultrafast
superfast
veryfast
faster
fast
medium – default preset
slow
slower
veryslow
placebo – ignore this as it is not useful (see FAQ)

So I encoded my input file once with ultrafast and once with veryslow:
ffmpeg -i Input.mkv -c:a aac -c:v libx265 -preset ultrafast -crf 15 output_crf-15_preset_ultrafast.mp4

ffmpeg -i Input.mkv -c:a aac -c:v libx265 -preset veryslow -crf 15 output_crf-15_preset_veryslow.mp4

The results are very confusing for me:
33M Dez 24 16:43 Input.mkv
90M Dez 24 16:48 output_crf-15_preset_ultrafast.mp4
116M Dez 24 19:34 output_crf-15_preset_veryslow.mp4

first of all, the copressed videos have a bigger filesize then the input file?
Then the veryslow-version which should compress better has a bigger filesize then the ultrafast-version?
That does not make any sense to me.
In addition I also did a lossless encoding
ffmpeg -i Input.mkv -c:a aac -c:v libx265 -x265-params lossless=1 output_crf-15_lossless.mp4

And the resulting file is about 1.2GB in size? Why does that happen? Shouldn't it be as big as the original?
The testfile and results:
https://mega.nz/folder/Ok8UhCRB#DDblMnGgSoJ0LeE_DtVmGg

CRF is not a constant quality guarantee, more of an approximate bitrate specification. veryslow outperforms ultrafast in SSIM:
ffmpeg -i output_crf-15_preset_ultrafast.mp4 -i Input.mkv -lavfi ssim=stats_file=ssim_logfile.txt -f null -
ffmpeg -i output_crf-15_preset_veryslow.mp4 -i Input.mkv -lavfi ssim=stats_file=ssim_logfile.txt -f null -
ffmpeg -i output_crf-15_lossless.mp4 -i Input.mkv -lavfi ssim=stats_file=ssim_logfile.txt -f null -

ultrafast
SSIM Y:0.988442 (19.371360) U:0.990816 (20.369877) V:0.989430 (19.759408) All:0.989003 (19.587190)

veryslow
SSIM Y:0.994984 (22.996610) U:0.995488 (23.456610) V:0.994814 (22.851297) All:0.995040 (23.045022)

Lossless
SSIM Y:1.000000 (inf) U:1.000000 (inf) V:1.000000 (inf) All:1.000000 (inf)

The result from the lossless compression is also not surprising. Suppose I have data in the form of integer coordinates for 2D functions (e.g. y=x). Suppose I have an encoding scheme that assumes horizontal lines, and therefore only records (x,y) coordinates when y is different from the previous coordinate. Under this scheme, to save a horizontal line "losslessly", I only need 1 coordinate. For a series of coordinates that define a horizontal line with 1 outlier coordinate with a different y, I need to save at most 3 coordinates to losslessly save the data. But to losslessly store the integer coordinates of the line y=x, I need to save every coordinate in the entire domain. Under other encoding schemes, y=x is trivial to encode losslessly.
Or imagine you have some image that consists only of circles, and an encoding scheme that is based on squares. It might take 10,000 squares to losslessly encode a circle at some resolution, while 100 squares gets you 99% of the way there, and close enough no one can tell the difference.
Lossless encoding will be much closer in size to saving a bitmap for each frame than a very high quality, lossy encoding. You lose even if you losslessly compress something already compressed in the same format. E.g., if you losslessly compress a x264 video using x264, instead of reconstructing the raw, uncompressed video, you must now perfectly reconstruct this x264 lossy version of that video, but without the benefit of referring to the original video! There's no guarantee you'll find the same compression and in most cases, you're practically guaranteed not to.
See also this answer.


text:
4x resample videoframes using ffmpeg
I need to speed up video by a factor of 4x, but do not want to drop the frames and instead average them. I.e. each 4 frames are averaged, and produce 1 output frame. Target frame-rate stays the same, so video is now 4 times faster.
Is there a way to do so in ffmpeg?

Can you be more specific about how they should be "averaged"? What method do you want to use?

@LordNeckbeard (f1+f2+f3+f4)/4 - simple averaging. So each resulting frame have faint traces of the movement on all sub-frames.

@BarsMonster I doubt ffmpeg can do this. Have you seen this effect done another way? Do you know what it actually looks like?

@JimMack I currently did that manually in VirtualDub, they have interpolate filter, with 0.5x interpolation it does correctly average 2 frames. Here is the result : http://www.youtube.com/watch?v=8zrws5CGWsI One can see that each frame has movement of 2 subframes, so it is slightly smoother. But doing so in a cmdline would be much faster in the future.

slowmoVideo may be worth a try, but I don't know if it has a cli. The FFmpeg framerate filter appears to perform interpolation, but it does not seem to fit your needs.

How about applying the blend filter in 'average' mode where the 2nd input is the same clip with PTS offset by 1 frame. Then use framestep with n=2 to generate result. Then, do the same process with the result. If I have time tomorrow, I'll try this out, but if someone else wants to run with it..

What about extracting the images as separate files, averaging them with imagemagick (I sure it can do this :) ) and then create the video with ffmpeg again?

I'm not sure but maybe with ffmpeg video filters it could be done. It will be a very long filter to write. Actually you should create a filter where you take 4 frames and sum them with opacity of 25% each if i understood correctly what u want to do, then output as single frame and go on until all the movie is done.

I use these commands:
4x speedup:
ffmpeg" -r 60 -i "inputfile.mp4"  -vf "tmix=frames=4:weights='1',select='not(mod(n\,4))',setpts=0.25*PTS" -c:v libx265 -an -x265-params crf=25 "outputfile.mp4"

16x speedup:
ffmpeg" -r 60 -i "inputfile.mp4"  -vf "tmix=frames=16:weights='1',select='not(mod(n\,16))',setpts=0.0625*PTS" -c:v libx265 -an -x265-params crf=25 "outputfile.mp4"

The "-r 60" parameter is used to specify the source file fps.
The "crf=25" parameter define the encoding quality (lower number = higher quality = higher size)

Thanks, that is much more robust and universal solution!

I liked the apparent scalability of this answer, but it turns out this is ridiculously inefficient. If you do a 4× speedup for example, it's generating 4 frames (each averaging the previous 4 frames of the input) and then discarding 3 of them, for each frame of the output. I wanted to do a 60× speedup… you can do the maths. I discovered it would take more than twice as long to render (on an 8-core machine) as the runtime of the original video! Gyan's answer on the other hand, while rather inconvenient for large speedups, scales well because it doesn't do any wasted effort.

ffmpeg with this filterchain does it:
ffmpeg -i input -vf "tblend=average,framestep=2,tblend=average,framestep=2,setpts=0.25*PTS" -r srcfps -{encoding parameters} output

srcfps should be replaced with your input's framerate.

Also tried for x16 using "tblend=average,framestep=2,tblend=average,framestep=2,tblend=average,framestep=2,tblend=average,framestep=2,setpts=0.0625*PTS"

so the multiplier to PTS is important to increase rate

@BarsMonster is there a way to use this to combine every frame in the video into a single image output? The docs seem to suggest (since it will use the longest input) that I can just increase the multiplier, but i'm getting silly results before I even get that far, e.g. at 256x with pts at 1/256*PTS I am getting 0.3fps and only 3 frames out of 72,000 when I would expect 281.

@BarsMonster In fact, adjusting PTS doesn't seem to change the reported frame rate, even as high as 0.1PTS I'm still seeing 0.3fps.

If I use setpts=1*PTS, it's still 0.3fps, but it does produce the expected number of output frames.

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


text:
how to make progressive hand drawn animation
I would like to learn how to make progressive hand-drawn animation (if it's not the correct term then it would be great if you could correct me).

This is the type of effect I am wanting to achieve. I did my research on the internet but couldn't find anything useful. The closest thing I could find was SVG stroke animation in the web browser
I did however figure out a way to achieve this. The procedure is as follows:

Use a software like Inkscape or Figma to draw a figure and export it as an SVG path.
Next use the CSS properties stroke-dasharray and stroke-dashoffset and @keyframe to make the progressive effect.
Use some JavaScript to automate this process if SVG figure has multiple <paths>.

This was fine to generate the animation, but I need it as a video file so that I can edit it with the rest of the video components. The downside with my aforesaid approach was:

Converting the HTML, CSS, JS animation to a video file is not easy. I found two ( not so effective ) ways to get around this problem:

Add more CSS to make the animation cover the entire page, enter fullscreen mode, and use any screen-recording software to record the animation. ( Not efficient as screen recording lowers the quality and this relatively low-quality video when merged with the rest of the clip will only make it look odd. ) ...OR...
Convert the HTML document to Canvas and use something like RecordRTC to record the canvas. ( Not efficient as its a quite tedious process )

Is there any other ( hopefully simpler ) way to achieve such animations? A vector-based approach would be better as I might need to scale up and down graphics quite a lot of times.
I am a complete beginner in animation and video editing so any help or guidance would be
appreciated.

Blender is a free 3d modeling software that also does 2d drawing (and animation), which could create the same video you posted.
Here's a good intro if your not familiar with Grease Pencil in Blender (multi-part series).

Here's a quick and to the point video for animating a Grease Pencil drawing, but takes for granite someone is alittle familiar with Blender.

Blender yes. Luckily I've been using it for a few years so learning grease pencil should be relatively easy. Thank you.


text:
Free software to zoom in/out using curve functions
I need to smoothly zoom "through" a person's eye to another scene behind it. The closest I've come is a linear function zoom in Kdenlive that appears to slow to a crawl the closer you get. I'm guessing I need an exponential function to give the appearance of a constant speed. Ideally you could define or edit a curve controlling the speed at any point. I'd consider getting Premiere Elements if it can do this, but I'd prefer something free.

Davinci Resolve has editatable curves for zoom and is free (there is a pid for vesion but the free version has the function). Steep learning curve though, and high high requirement for GPU hardware.

Thank you so much! The dynamic zoom works perfectly!


text:
Adobe Premiere Pro "Sliding The Cut"
I want to know if it's possible to "Slide/Move the Cut" so that both clips get shorter or longer depending on slide direction.

Right now I'm trimming one clip and then stretching the next clip towards the left to extend. If there's a better way to do this then it'd save us huge time.

Yes there is:

Use the Rolling Edit tool by selecting the transition point between the two clips so it goes red:

Then press N to select the Rolling Edit Tool, and drag the transition left or right.
Any linked tracks will move together.  If you want to only move the track you selected, hold down the option key (on a Mac) to only move one track.
This is useful for doing L-cut edits.


text:
Cross over from left scene to right scene
I found an interesting video that show two clips merge and blend so it looks like one video but two different scenes because the guys from the left scene can cross over to the right scene.

In the left image, part of the body of the guy from the left scene is disappear because it is covered by the right scene.
In the right image, all of those guys can cross over to the right scene and nothing is disappear in the right scene (the wall and the person).
Here is the link of the video https://drive.google.com/file/d/1y98wt7n_lSbguiA0dYaO44gJ_j_6lcyj/view?usp=sharing
I use keyword such transition, transform, merge, and blending to search for tutorial but no luck. What is the name of this technique? Does black-magic design software has features to do this?

There's two parts to this technique.
The first one is sometimes called a “split screen” or “side by side” video technique. Pretty much any NLE “like Davinci Resolve will allow you to achieve this effect. The primary thing to make this technique work, is how you shoot the two video clips. Once you’ve shot them, you’ll simply crop or mask one to fill only half of the screen and then place the second one on a layer below it. Here’s a link to a video tutorial on how to make a split video:

The second part is called rotoscoping. This is where an object (or person) from one clip "enters" the other video. There's a couple video tutorials for rotoscoping in Davinci Resolve:

Not exactly what I'm looking for. If you watch the attached video, in the beginning, you will see those guys moving around and disappear behind the clip on the right. it is the easy one because you only need to merge two clips and put half of the right clip on top of the left clip. but since the 5th second you will see them move around in front of the clip on the right. it is not easy for me.

@Xelonovia That's called rotoscoping, I've updated my answer to include some info on that.

Thank you, rotoscope is the keyword that I'm looking for.


text:
Best tools to start for 2D graphic animation for Physics?
I want to make an animation like this. What do you call them? And is it possible to do it in Sony Vegas? How do I get started?
These came from the video of Consumed by the Apocalypse by Lemmino:

This sort of question is not a good fit here because a) multiple questions, b) very subjective and c) it is the subject of entire courses

Just my thoughts:
It looks like it (motion graphics) could be done with Vegas but the industry standard is to do it with After Effects, probably in partnership with something like Illustrator.
TBH I am not too familiar with Vegas but I have seen its output; AE on the other hand has been around for a long time and I have seen physics, mathematical, medical, etc, motions graphics and video done with that as the norm.
(Based on doing motion graphics eons ago)
If you are new to this, best bet is to look at tutorials on youtube and get stuck in for a long ride and perhaps quite a learning curve.


text:
ffmpeg volumedetect filter doesn't work on 32bit float audio?
Here is a test file with peaks at +200 dBFS (it's an extreme example, but the same holds for a file with peaks a +1 dBFS).
When running the "volumedetect" filter on this file, ffmpeg appears to change to 16bit int to run the volume detection, causing everything above 0 dBFS to be clipped (see "Stream mapping" in the transcript below). The result is that it detects the peak at 0 dBFS instead of 200 dBFS (see "max volume" below.)
Am I missing something? Any way to work around this? The documentation says nothing about 32bit float being unsupported, so it seems like it should "just work"?
Example run:
    $ ffmpeg -i test3.wav -filter:a volumedetect -f null /dev/null
    ffmpeg version 4.3.2-0+deb11u1ubuntu1 Copyright (c) 2000-2021 the FFmpeg developers
      built with gcc 10 (Ubuntu 10.2.1-20ubuntu1)
      configuration: --prefix=/usr --extra-version=0+deb11u1ubuntu1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --enable-avresample --disable-filter=resample --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libdav1d --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librabbitmq --enable-librsvg --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opencl --enable-opengl --enable-sdl2 --enable-pocketsphinx --enable-libmfx --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-nvenc --enable-chromaprint --enable-frei0r --enable-libx264 --enable-shared
      libavutil      56. 51.100 / 56. 51.100
      libavcodec     58. 91.100 / 58. 91.100
      libavformat    58. 45.100 / 58. 45.100
      libavdevice    58. 10.100 / 58. 10.100
      libavfilter     7. 85.100 /  7. 85.100
      libavresample   4.  0.  0 /  4.  0.  0
      libswscale      5.  7.100 /  5.  7.100
      libswresample   3.  7.100 /  3.  7.100
      libpostproc    55.  7.100 / 55.  7.100
    Guessed Channel Layout for Input Stream #0.0 : stereo
    Input #0, wav, from 'test3.wav':
      Metadata:
        encoded_by      : REAPER
        date            : 2022-01-22
        creation_time   : 17-06-55
        time_reference  : 0
      Duration: 00:00:03.94, bitrate: 2823 kb/s
        Stream #0:0: Audio: pcm_f32le ([3][0][0][0] / 0x0003), 44100 Hz, stereo, flt, 2822 kb/s
    Stream mapping:
      Stream #0:0 -> #0:0 (pcm_f32le (native) -> pcm_s16le (native))
    Press [q] to stop, [?] for help
    Output #0, null, to '/dev/null':
      Metadata:
        encoded_by      : REAPER
        date            : 2022-01-22
        time_reference  : 0
        encoder         : Lavf58.45.100
        Stream #0:0: Audio: pcm_s16le, 44100 Hz, stereo, s16, 1411 kb/s
        Metadata:
          encoder         : Lavc58.91.100 pcm_s16le
    size=N/A time=00:00:03.93 bitrate=N/A speed= 911x
    video:0kB audio:678kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
    [Parsed_volumedetect_0 @ 0x55617ae5e140] n_samples: 347156
    [Parsed_volumedetect_0 @ 0x55617ae5e140] mean_volume: -0.0 dB
    [Parsed_volumedetect_0 @ 0x55617ae5e140] max_volume: 0.0 dB
    [Parsed_volumedetect_0 @ 0x55617ae5e140] histogram_0db: 347155

Actually, the filter only supports 16-bit samples, so anything else will be converted. You can open a bug report of type enhancement at trac.ffmpeg.org

Thank you! -- I have done so now: https://trac.ffmpeg.org/ticket/9613


text:
Reverting Loss from .MOV (MPEG-4 Compression)
I was wondering if it is possible to revert the loss that was caused by MPEG-4 compression. I had HD quality images and our colleague made the grave mistake of converting these HD images into a ".MOV" file to save space, which caused a great loss of detail around the moving object due to MPEG-4 using temporal redundancy as well as spatial redundancy.
My idea is to get the loss back, if it is possible. I know it is an unlikely thing, but still, I wanted to ask if anyone experienced such a situation.
I can share a sample video. As you can see, although the resolution is 2K, there is a great amount of blur on the object that is moving. Ironically, that is the object we want to 3D reconstruct to have a model of. So, it all depends on the quality. Original images were taken by a DSLR camera, if it matters.
Any ideas?

No, there is no way to recover information lost during any encoding steps - they are discarded forever. The only way to avoid this is to use lossless encoding.
That said, there are various algorithms available which will interpolate or try (using machine learning) to create detail based on various assumptions (such as buildings have edges, faces have a certain structure etc) so you may be able to produce something that looks better.