text:
ffmpg (copy existing settings?) or crop a .mov with alpha and have it be open-able using Quicktime (not VLC)
How do you have ffmpeg copy all existing settings except the crop dimensions of a video file?
I've been struggling to crop an .mov with alpha channel (transparent video), so that it can be opened using Quicktime (instead of VLC). However, it seems that the output is either black background or somethig Quicktime cannot open. I've tried these variations and a number of others to no avail...
ffmpeg -i input.mov -vf "crop=1080:1080:420:0" -pix_fmt yuv420p output2.mov
ffmpeg -i input.mov -vf "crop=1080:1080:420:0" -pix_fmt yuva420p output2.mov

Paste the readout of ffmpeg -i input.mov

It does say this - but which other format can i choose that quicktime can open with alpha channel? Incompatible pixel format 'yuva420p' for codec 'libx264', auto-selecting format 'yuv420p'


text:
Even out fluctuating exposure on old video
I'm trying to restore this old Charlie Chaplin snippet:
https://i.sstatic.net/AyNU3.jpg
I have trouble with the exposure of the clip, it fluctuates from brighter to darker. I want the exposure have an even consistency over the entirety of the clip.
How would you go about fixing this? I'm new to video editing and am trying to find right words to google. I have tried de-flickering plugins with no success, as it seems to be mainly designed for time-lapses or high frame rate flickering.

You could try GBDeflicker to see if it improves the footage.
They have a free demo. It is designed for smoothing out time-lapses (and is good at this), but it might work on archive video?

source: Stack Exchange

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

sort: votes


text:
Import GoPro (or similar) video segments in one step into DaVinci Resolve in the correct order
GoPro saves video files in 4Gig segments, on my settings that's 5mins, 20 seconds per segment. That means after an hour of recording there would be 12 files.
The format is
GXSSVVVV.mp4

where SS is the segment number and VVVV is the video number, one video is multiple segments. Example:
GX010010.mp4
GX010011.mp4
GX010012.mp4
GX020010.mp4
GX020011.mp4
GX020012.mp4
GX030010.mp4
GX030012.mp4
GX040010.mp4

This means there 3 videos.
video: #10 = GX010010.mp4 + GX020010.mp4 + GX030010.mp4 + GX040010.mp4
video: #11 = GX010011.mp4 + GX020011.mp4
video: #12 = GX010012.mp4 + GX020012.mp4 + GX030012.mp4

Is it is, to put all of the videos in order into DaVinci Resolve's timeline I drag each segment, one at a time into the timeline.
Is there a way to add all the segments into the timeline in order in one step?  Ideally I just want to select all the segments in Windows Explorer (or the Finder) or the Media Library and drag them to the timeline and have DaVinci Resolve order them correctly.

As I was typing the question I think I figured it out.
Import all the clips into the Media Pool, sort by "date created" or "date modified" so the oldest is at the top.

Select all the clips, drag into the timeline

It appears they are all in the correct order

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


text:
Why is ffmpeg producing a background?
I am a chemist and since a few weeks I am making short videos with ffmpeg by combining images, I am using the command below (for some reason without profile:v high, powerpoint crashes when I would import a video).
ffmpeg [...] -r 24 -preset slow -profile:v high -level:v 4.0 -pix_fmt yuv420p -c:v libx264 -crf 8 output.mp4

The images are from a raytracer and their background is perfectly white (I checked), however the output movies have a slight background (some kind of beige). Why ? Is it from one of my parameters ? I would like if possible to have a perfect white background while keeping high quality,

I already tried to delete the background of the images with ImageMagick, it is working but it lower the quality.
Thanks

Its impossible to say for sure, Because you dont say what your input format is, But there is most likely a color space/range conversion occurring.
You may may need to set the those values. you may need to specificity the agues to use for the conversion as well.
This post should explain it.
https://mux.com/blog/your-browser-and-my-browser-see-different-colors/
I don't cover color range in that post. But you most likely want to use full range.


text:
Correctly compositing linear RGB elements over log footage
I have some water splash elements I need to composite over log footage in After Effects before sending it to the colorist for grading.
As I understand, the correct workflow is to convert the log footage with Cineon Converter to linear, composite the elements, and then I guess pre-compose everything and convert it back to log with Cineon Converter and export it?
I'm not sure about this and all tutorials I could find are pretty vague.
(For the output format I use Cineform 10-bit YUV).
Thanks in advance!

Ask the colorist if they'd prefer log or not. If you're exportign 10 bit yuv you should be ok without converting it. You could also export as say a 16-bit tiff sequence if you want to make sure that there's lots of room for grading.

Thanks for the reply. I'll ask the colorist, but you're saying, in general, I don't need to convert it back to log at the end?

No, it just adds extra processing. As long as what you output has a neutral grade and enough bit-depth to give the colourist the dynamic range to adjust it.


text:
Converting/filtering/deinterlacing VHS captures on Linux
I'm pretty much a novice video editor especially on Linux. I'm looking to take a bunch of old home videos I captured using ffmpeg and clean them up as painlessly/automatically as possible. At this point I'm just more confused than anything else as to what to use. I have Ubuntu Studio 20.04 on an older gaming desktop and have messed around a bit with Kdenlive and Openshot, but have been disappointed trying to remove noise and deinterlace.
Any advice is appreciated, I'm not committed to open source, I could switch to Windows 10 if that's a better idea.
Thanks!

@Prof.Falken They have already captured the VHS.

I'm no expert in FFmpeg but I would have thought it would be able to do quite a bit of those transformations, I'm guessing using the same libraries that even programs like Adobe Premiere use - I know for sure that FFmpeg can use YADIF to deinterlace.

I use VirtualDub, or AviSynth+ if I feel patient. AviSynth and its Python clone work on Linux. Virtualdub works in Wine on Linux.

Thanks to both of you, I think the problem I'm having is most of the tools are so old that Google gives info from 10 years ago right along with current information. I've been playing with ffmpeg and have gotten deinterlacing down, virtualdub is so old, I guess I assumed it was not worth playing with, although I know it was rock solid. Maybe I'll get Wine going. Thanks again!


text:
Finding and repairing duplicate sound with ffmpeg
I have a number of videos that contain sound sequences that repeat with a corresponding video freeze. I have an example clip that contains a sound sequence from 51.194s -- 60.133s that repeats again from  60.157s--69.096s with a corresponding video freeze that consists of a single frame at 61.144s with next frame coming nearly 9 seconds later at 70.149s.
I've managed to cobble together a perl script that will find and repair the erroes in this particular sample. The repair was to simply delete the second sound sequence (51.194s -- 60.133s) and reduce the following audio time stamps by ~8.9s and to reduce the video timestamps after 61.144s by the same 8.9s.
As I said my script is simply cobbled toghether and before putting more work into it, I would like to explore options with ffmpeg.
I've had luck using freezedetect to find the frozen video:
ffmpeg -i input.flv -vf "freezedetect=n=0:d=2"  -f null -
[freezedetect @ 0x5632dc441f00] lavfi.freezedetect.freeze_start: 61.14421.5x
[freezedetect @ 0x5632dc441f00] lavfi.freezedetect.freeze_duration: 9.005
[freezedetect @ 0x5632dc441f00] lavfi.freezedetect.freeze_end: 70.149
[freezedetect @ 0x5632dc441f00] lavfi.freezedetect.freeze_start: 116.1112.2x

And I've attempted to use trim/atrim to repair the file -- with no luck:
ffmpeg -i input.flv -filter_complex
'[0:v] trim=end=61.115,trim=start=70.107, setpts=PTS-STARTPTS [v0];
 [0:a] atrim=end=60.158,atrim=start=69.121,asetpts=PTS-STARTPTS [a0]'
 -map [v0] -map [a0] output.flv

This produced a short, unplayable file. But even if this had worked, I'd need some way to detect the duplicated audio first.
So is there a filter that will detect and repair the problems I've described above? Something like this:
ffmpeg -i broken.mp4 -vf {dup remove filter} fixed.mp4

is there any reasons the end is smaller than the start in the trim filter?

I can't seem to edit the question but my understanding is this acts as 2 trims the first will include segments in 0--61.115s and the second will include segments between 70.107 and the end of the video.


text:
ffmpeg and blocky corrupted video clip after concatenation
I am attempting to concatenate a bunch of video clips using ffmpeg.  The command line I am using is:
ffmpeg -f concat -safe 0 -i mylist.txt -c copy output.mp4
One of the video clips in particular appears corrupted and blocky in the output file, or sometimes doesn't even display (VLC).  The video clip plays fine (VLC) on its own.  The details are below.  Note, it is 2.02s in length; that is expected.
Any advice?  Do I need to re-encode this video somehow and to what?
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'master3-1.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf58.18.104
  Duration: 00:00:02.02, start: 0.000000, bitrate: 1789 kb/s
    Stream #0:0(eng): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], 1670 kb/s, 15 fps, 15 tbr, 15360 tbn, 30 tbc (default)
    Metadata:
      handler_name    : VideoHandler
    Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 129 kb/s (default)
    Metadata:
      handler_name    : SoundHandler

Have you tried remux the sources by removing "-c copy"?


text:
how to Order layers by name in after effects
I have a lot of layers(100 layers) And I want to arrange them according to the name.

To sort layers by name, you either have to name them using a numerical prefix of some sort or use a script to do it.
Ordering by name using numbers: https://graphicdesign.stackexchange.com/questions/131728/in-after-effects-sort-project-layers-by-name-numerical-order
Here is a script: https://github.com/ff6347/after-effects-script-snippets/blob/master/automagically-sort-layers-by-name.jsx

The excellent and free Kinda Sorta script can do this:
http://aescripts.com/rd-kinda-sorta/
It is part of a really useful set of free scripts:
http://www.redefinery.com/ae/rd_scripts/


text:
Is it possible to use two cameras in after effects for motion tracing
I want one camera behind me (only for motion tracking), and one before (I want to show the scene only from the front view, but I need the camera behind for "wings" motion tracking.

Sounds like you need to investigate motion capture, rather than motion tracking.


text:
How is Match Tolerance calculated for the Change Color Effect?
I am studying the Change Color effect in After Effects. Do you know what the math is behind the calculation of Match Tolerance?
I read the documentation and what I gathered from it was that, say Match Tolerance is 10%, then any color that is withint 10% of the 'Color to Change' will also be included and modified accordingly.
However, how does the math for Match Tolerance work? I tried to do the calculation myself by calculating percentages from the hex values, but was not able to work the math out.


text:
How to Cut & Ripple Delete on a german laptop keyboard?
I am using my windows laptop for video editing and recently came across this incredibly time saving feature:
Cut & Ripple Delete, which basically does 3 actions in one. You can see in this guide at 4:48 how this command is used:

Unfortunately there seem to be problems with the german keyboard. The english shortcut is:
Ctrl + Shift + [
But it doesn't work on a german keyboard. The problem seems to be that on a german keyboard you have to press an extra Alt key to be able to type [.
The keyboard customization settings in Resolve 16 do not even show this command (Cut & Ripple Delete). I don't know if I'm stupid or what but I am having tremendous issues setting a new shortcut for ANY command.
Does a shortcut for Cut & Ripple Delete exist on the german keyboard that actually works? Can I make this work in Resolve without setting my system keyboard localization to english?

I figured it out. The commands you're looking for are:
End to Playhead - in Application/Trim/Ripple
Start to Playhead - in Application/Trim/Ripple
Put them on some shortcut that is actually working on the german keyboard.


text:
ffmpeg converting Nikon .mov file to a format for Da Vinci Resolve Linux
Hi folks I've spent 2 days on this now and I'm no closer to finding the perfect ffmpeg command line to do an exact conversion of a Nikon D850 .mov file to a format that Da Vinci Resolve on Linux can import.
I've tried PRORES ffmpeg -i input.MOV -c:v prores_ks -profile:v 3 -qscale:v 9 -vendor ap10 -pix_fmt yuv422p10le output.mov but this takes a 2.3 Gb original file and creates one that is 16GB
I've tried mjpeg ffmpeg -i input.MOV -vcodec mjpeg -q:v 1 -f mov output.mov this creates a file that to my eyes doesn't seem to differ in quality but is half the size of the original.
I've tried various other things some which produce a file Da Vinci can read but all result in a file size half the original. Space is an issue for me so the ProRes is not an option, a smaller file size is of course welcome as long as I know the original quality has not been lost.
Is this reduction in file size something to be concerned about?
Can anyone recommend a way to simply do a direct conversion without modifying bitrates or quality. My eyes are a bit doddery at the moment due to some new meds I am on so while I cannot see quality differences between the originals and the converted files I would hate to convert 4 years worth of timelapse footage and discover later they lost quality.
Thanks in Advance.

can you give any information about what the source codec in the .mov container is? If it's a common codec davinci resolve should be able to read it directly.
Also: You can't directly compare file sizes of different codecs in order to say something about quality. Highly compressed codecs like h.264 will always have a smaller file size then e.g. ProRes or DNxHR on the cost of computing power for decoding.

I purchased Da Vinci resolve Studio Pro which imports all my files in their existing format so this can be marked as solved.


text:
Changing color of numbers in stock exchange AE template with expressions
I just wondering if there a way to optimize the way of changing color of numbers in stock exchange template by using expressions? When I put the +before the number it turns green and if -,it turns red.

This is probably not the shortest way of doing it, but it's quick and easy:

Make a null layer with a slider
Make a text layer with green text
Link the source text in your text layer to the slider in the null layer.

You should see an expression like this:
thisComp.layer("slider null").effect("Slider Control")("Slider")

Now add an expression to the Opacity control in your text layer. This is going to make the Opacity go to 0 if the slider value is below zero, or 100 if it is zero or above:
if(thisComp.layer("slider null").effect("Slider Control")("Slider")>=0) {100} else {0};

Now duplicate the green text layer

Rename it "red text"

Change the text colour to red

Edit the expression on the red text layer's Opacity control to this:
if(thisComp.layer("slider null").effect("Slider Control")("Slider")<0) {100} else {0};

Now the red text layer should only be visible when the slider value is lower than zero.
Screenshot of the whole thing below:

If you want a leading "+" before the positive values, you could also make an "if/else" statement in the green Source text control, so you only see a "+" when the value is above zero - something like this:
if(thisComp.layer("slider null").effect("Slider Control")("Slider")>0) {"+" + thisComp.layer("slider null").effect("Slider Control")("Slider")} else {thisComp.layer("slider null").effect("Slider Control")("Slider")};

Hi! Very interesting and not obvious solution. Thank you!

please mark as answered!


text:
FFmpeg on windows cut and fade question
so i am using the following code to  in a windows .BAT file to cut up a video at X time:
bin\ffmpeg -hide_banner -loglevel 0 -i "%video%" -c copy -map 0 -f segment -segment_time %segment_time% -reset_timestamps 1 -segment_format_options movflags=+faststart out%%03d.mp4

No issues there.
I then add a fade in and fade out to those segments using the following code:
for %%a in (out*.mp4) DO bin\ffmpeg -hide_banner -loglevel 0 -i "%%a" -vf "fade=t=in:st=%segment_fade_in%:d=%segment_fade_duration%,fade=t=out:st=%segment_fade_out%:d=%segment_fade_duration%" -af "afade=t=in:st=%segment_fade_in%:d=%segment_fade_duration%,afade=t=out:st=%segment_fade_out%:d=%segment_fade_duration%" -async 1 fade_%%~na.mp4

again NO issue here at all
what i am finding is that it takes a lot of time to add these fade in and fade outs.
So i was thinking of then cutting each of the segments,  for say 2-3 seconds at the front and end of the video file adding the fade in or the fade out and then just concat them back together.
not asking for the code but a method that would not take me days to work on only to find it wont work. looking to see if anyone has done similar to save time
on videos over 20-30 seconds or less its not that big of deal but when the videos in the folder are 5-24 minutes it has to be way faster to cut them up.

I would like to answer my own question.
One thing tho is the file is quite large (370+ lines) so i have added it to pastebin
FF Fader on Pastebin
A few Notes:
I had errors popping up if the cuts were certain lengths like on a 30 sec video and I wanted over 10 sec  cuts it would work but toss up errors such as
Invalid number.  Numeric constants are either decimal (17),
hexadecimal (0x11), or octal (021).
Invalid number.  Numeric constants are either decimal (17),
hexadecimal (0x11), or octal (021).

this error would be cause form the calculations at lines:
218 to 229
lines 218 - 229 were added by another issue i found was if you did a 6 sec segments, the last cut was shorter than 2 seconds  so if that was the case i would need to concat that way cause it was concating (sp?) that last clip twice
If that is not correct way of answering the question here, please help me fix it b4 down voting me etc.  I am new here
I would love some input and if you see where it can be cleaned up that would be great too
EDIT:
Wanted to add that taking a 30 second video and cutting into 3 segments, then cutting those 3 segments into 3 sections.  add the fade in and fade out and then combine them all back into segments  took right at 30 seconds or less!
That is pretty awesome! I think maybe using "threads" on ffmpeg could speed it up  but I am not sure you need it any faster than that.  If you have a idea to speed up ffmpeg more let me know in the comments.


text:
Weird (interlacing?) artifacts in my rendered video
I've been making a YouTube outro for my channel with blender recently.
I exported the outro in blender using the QuickTime container together with the QT / QT Animation video codec at 60fps. Everything worked just fine until I tried to put the outro after a test video using Davinci Resolve 17. The test video I exported with Davinci at 30fps using the mp4 format and h.254 codec had weird line artifacts. I did a bit of googling and discovered that my problem could have something to do with a thing called interlacing.
I think it might be caused by the process that's "scaling down" a 60fps video to 30fps... But I am completely unsure how I can solve this problem...

Any suggestions?

Hi Samuel - it would be helpful if you added screenshots of your Blender render and project settings, and your DaVinci Resolve export & project settings

It is very likely that you have exported your render not as progressive but as interlaced. This would explain the strange artifacts you're experiencing. You can try to deinterlace your footage (a quick google search should prompt you with viable methods) or you might need to export your shot again, but as progressive. Interlaced footage was used to minimize the data required for a fluid motion picture broadcast for TV, there is little to no use in our field of use.


text:
How do you open multiple videos with multiple subtitles in VLC from command-line?
Usually, you can use this command to open a video with a subtitle in VLC, if it isn't detected automatically:
vlc.exe path_to_video.mp4 --sub-file path_to_sub.srt
But I want to open multiple videos, each with their own subtitle file. How do I do that?
Neither vlc.exe video1.mp4 video2.mp4 --sub-file sub1.srt sub2.srt
nor vlc.exe video1.mp4 --sub-file sub1.srt video2.mp4 --sub-file sub2.srt seem to work.

This is a workaround which converts the files to another container format. It happens almost as fast as your hard disk can write data because nothing is re-encoded.

use MKVToolNix (specifically mkvmerge) to combine the mp4 files and their srt files into mkv files (perhaps you can automate this with a loop). I never use this tool via command line and cannot tell you the exact command, but you'll find more information here https://mkvtoolnix.download/doc/mkvmerge.html
use vlc.exe *.mkv afterwards.

Maybe this question helps too https://superuser.com/questions/609113/how-to-add-and-remove-subtitles-in-an-mkv-file which should also work with an mp4 file as input.

While this is a great workaround and did help me out, it is still not a direct answer to my question. So should I mark the question as answered or not? Many thanks BTW.

Glad that works for you. But you can leave it as not answered, sometimes people answer after many weeks or months.


text:
Can you use keyframes for motion blur in After Effects?
I'm working on a motion-graphic piece in AE, and am trying to figure out if there is a way to disable motion blur temporarily. For example, say I have 100 frames of an animation, but i only want motion blur to be applied to frames 15-30 and frames 60-95. Is there a way to do this, or is motion blur just a toggle on/off?

There’s a built-in “CC force motion blur” plugin you could add to your comp as an adjustment layer. If you use that instead of the system motion blur, I think you could keyframe it on or off, or just keyframe the adjustment layer on or off. Be warned it is slower to render than blurring the usual way.

thanks! also, how much slower is to render? like an extra 15 minutes or are we talking hours here?

You could precomp the layers and duplicate them, so that one has motion blur and one does not, and toggle the opacity of each on/off.


text:
How do HDR images differ from SDR images
If I would like to convert hdr images to sdr, what values would be changed in the image data. So far i think ive understood that the bit depth has to be changed so for example from 12 bit to 8 bit you would divide by 16 (4096/256=16) and round up or down to quantasize the value. But is that it? Does luminance or chrominance or any other property of the image have to be changed? I think i found one source that said gamma stays the same at 2.4 while another source said that the gamma curve changes to better fit the extreme values. When i google this problem all i find are these functions used to tonemap the images but i cant find anything about how to use them.

Depends strongly on your source images, and to which standard they were created.

Normal HDR still images are using special transfer functions, either PQ or HLG. That is what HDR is, a new transfer function. 2.4 gamma is what is BT.1886 on perfect OLED display is for SDR transfer (same in BT.601, BT.709, BT.2020, only BT.2100 introduced PQ and HLG).
To convert to SDR you need to besides the obvious change of PQ transfer to sRGB or BT.1886
a) change BT.2020 primaries to BT.709 primaries, b) remove the matrix of BT.2020-ncl and change to full range bt.601 matrix in case of JPEG or change to R'G'B'.


text:
Does exporting to lossless HEVC prevent loss when re-exporting an already exported video file?
Software: After Effects, Premiere Pro
So I had a little bit of trouble with my main PC and can't get it fixed before the deadline of my client. I already had the final video ready and exported before the PC broke down, but the client asked if I could insert something at the beginning and end of the video. I have access to the source/raw files but re-rendering it all would take too long(If it works at all) on my laptop.
If I set it up like [Intro][Original Video][Outro] and exported it in lossless HEVC, will there be a downgrade in quality of the Original Video? Also, does exporting to HEVC lossy but with higher bitrate than the original video help preserve the quality?


text:
What exactly is GoPro Protune?
Apparently the newer GoPro Hero cameras have a feature called "Protune" that gives better control over the image. I don't own a GoPro camera with Protune yet and I'm trying to figure out whether I still need a red filter for underwater shooting or if Protune can do the necessary color correction. Unfortunately I'm having a hard time finding out what it actually is.
Some websites say it's like manual mode:

If you’ve ever played with a DSLR or mirrorless camera, [Protune is] kind of like switching the camera into manual mode.

Other websites say it's more like RAW:

Protune = shorter battery life, bigger files

Footage shot in Protune will generate larger files than what is shot in the default GoPro settings.


text:
Custom Command Set is not saving
I'm trying to save a keyboard shortcut to my Custom Command Set in Final Cut Pro (FCP v10.4.7 on Mojave 10.14.6). I can get it to work for the duration of my session in Final Cut Pro but when I exit and re-open the app, that particular shortcut no longer works and I have to enter the Command Editor again to re-create it. Here are the specifics:
Desired effect: "Zoom Out" (in the Timeline)
Desired shortcut to use: CTRL + ALT + left arrow
Default command to be replaced: "Previous Pick"
(all other keyboard command edits I make for that Command Set seem to keep and work just fine)
One thing to note is that for it to be effective in the first place, I have to delete a Default command in FCP (the "Previous Pick" command) for the same key combo and replace it with my own. It won't work by just creating a new shortcut for that command (for which FCP will usually provide a warning message that the new command is replacing an established one and ask for permission to proceed in doing so... that doesn't happen in this particular case and I don't know why).
What I've tried so far:

I have confirmed that the correct Custom Command Set is being selected in the Command Editor when the app starts up. My Custom Command set is called "Yahenda 1" and when I start the app, that is the Command Set selected in the Command Editor.
I have tried selecting the "Default" Command Set and then re-selecting "Yahenda 1" but that has no effect on the problem.
I have tried deleting the FCP Preferences (by closing the app, holding Command + Option while clicking the app icon and then following the Delete Preferences prompt) but that has not solved the problem.
I have tried making the change in Command Editor and exporting to an entirely NEW Command Set and then closing and re-opening the app, but the problem persists.
I have confirmed that 'CTRL + ALT + left arrow' is not a system reserved keyboard shortcut for Apple.

Can anyone help me figure out why this particular keyboard shortcut is not sticking across closing and re-opening of Final Cut Pro?


text:
Creating a playlist with multiple unique video stream links for internet streaming
Is it possible to create a playlist (eg. hls/dash) which will contain multiple video, (not different quality of the same video)
For example :
example.com/video1.mkv
example.com/Video2.mkv
example3.com/VideoN.mkv

These are unique videos, I want to have a playlist that can be played by player like VLC
So how do I do it? I tried creating m3u list but vlc sees it as if it is a single video and plays the first video only


text:
How do you ADD color banding to video (using Adobe Creative Suite)?
I like to introduce distortions and color effects into my videos when I edit them. How can I recreate color banding in After Effects or Premiere Pro?

Adding colour banding is also known as posterising (or posterizing if that's how you roll). There's a built-in (to AE, though I'd be surprised if it's not also in PP) posterize effect (Effects>Stylize>Posterize). It only has one control, Level, if you set it low you'll get something that looks like an 8-bit game, or a screen-printed poster (hence the name):

Or if you set it higher you get banding:

If you want a bit more control the Cartoon effect (Effects>Stylize>Cartoon) also give you pronounced banding. Set the render style to Fill (default is Fill & Edges), and then twiddle the knobs.


text:
Why does ffmpeg cut/trim off the end of my video when the bitrate is higher than normal?
I'm using ffmpeg to transcode some larger videos (10GB+) with higher bitrates (20Mbps), and I noticed that some (I can't find any pattern yet) will trim of a portion at the end (between 1 and 5 percent). It works spectacularly when the files are smaller or have a lower bitrate.
I'm quite new to ffmpeg, so I'm not sure where to start to diagnose the issue here.

Share full command and log. Add -report to have ffmpeg record these in a file for you.


text:
X-Rite Video Color Matching gives Strange Results
I’m attempting to grade some footage from a C100, with the aid of X-Rite’s Video color match card, in DaVinci Resolve. Below is a screen grab of the ungraded footage.

And here is what I get when matching to the card:

It’s a good start, as far as I’m concerned...except for red...why on earth would those red candles turn magenta? Is there something that I can do to overcome that?

Those color charts are very sensitive, and your color management settings are very important. Without more details, no one will be able to help you, and even seasoned colorists have trouble getting consistent results with those charts. Patrick inhoffer on mixinglight.com has revisited the subject multiple times over the years and often walks away with a less solid explanation. If you manage to find a decent starting point for grading and can do it consistently, you’re doing well. Shifts in saturated colors might be from output c.s. clipping, or could be simply incorrect transforms.

My guess is those candles were close to "out of gamut" in original, and after color adjustment they are "really out of gamut now". You can check with the color scope.


text:
HTML5 video lags, but only for certain sections
For this HTML5 video, it runs fine without any playback issues except during a certain clip around the 3:15 mark:
https://newtube.app/TonyHeller/X31Kd6s
I'm just a simple code monkey and don't know the ins and outs of video playback, how can it be that my browser has no issues with this video except for that certain clip, I assume that the video clip has a certain codec that my browser has trouble handling, would that assumption be correct? Thank you

(Oh my god watching that clip even for less than a minute has made me dumber, i can feel it)
I believe that this is not an issue with the codec, but rather with the server not sending the data in full. This is not a problem and normally works as intended, your browser will ask for more parts as the video is playing. For whatever reason there is a slowdown getting some chunks.
This maybe due to the internal caching of the server. Let's say that most people wisely stop watching this video after a few seconds, then he server caches the beginning of the video, but does not cache the later parts, which need to be loaded from some slower storage. For me the video stopped playing when i let it run from 3 minute mark and it stopped at 3:10, but then after i have a couple of times rewound it back, it played through that portion with no problem.
As the user of the site, it is unlikely that you will be able to do anything about this.


text:
Usability of Softwares
Do Adobe Premiere Pro and Adobe After Effects CS6 still usable for editing? What features will I miss from the latest versions?
Date of question: 24th December 2020

Yes, they can be used
But well, it is not possible to explain all the cases, certainly no one can tell you all about them, my dear friend, but in the new series, there has been so much variety and facilities, and fixing bugs, and so on.
It is recommended to work with the same version and scroll a bit on YouTube to see what are the differences with older versions.
Good luck


text:
Opacity mask from vector drawing for phone sequence in Premiere Pro
I am new to Premiere Pro and am making a sequence with three puppets talking on the phone, joined from different shots. I want a "scissor saw" separating them when they are talking and that separation moving in and out as puppets enter or exit the scene. For example, the sequence starts with one puppet in the whole screen and then the scissor saw enters from the right along with the second puppet.
Here is my vector drawing of the scissor saw; the text has the action for the puppets with time flowing down:

The documentation shows how to create ellipse, 4-point polygon, and Bezier masks on a clip. What I would like, though, is to use a vector or bitmap drawing as a bitmask on a clip so a puppet is showing on the left and the right is transparent for the puppet on the other clip. This way, I am sure that the bitmask is aligned with the scissor saw and that I can smoothly transition the scissor saw drawing between clips, as that drawing is associated with the clip of puppet 2 when that puppet enters and then with the clip of puppet 1 when that puppet leaves.
How can I assign bitmasks to a clip on Premiere Pro?


text:
1080p tapes converted to 480p question
I have some 1080p video tapes that when converted were scaled down to 480p. The company I paid to do the conversion threw away the tapes. Is there any way to get back some of the quality? I'm willing to pay whatever it takes if it is possible. Thanks for your help.

Welcome! Unfortunately, there isn't anything you can do to get back to the higher resolution. Once downconverted, the higher resolution information is lost.

Sadly, no.
As  Michael commented, to get to lower resolution, all that higher resolution data has been discarded. There is nowhere to get it back from.

By some magical video upscaling, or reimagination using AI this can be done, as seen from an example by Topaz Labs.


text:
Combining a short video and long audio file efficiently using Vegas or FFMPEG
I have a need to repeatedly create videos that have a short 15 second intro that fades to black and have really long audio tracks like 8 hours. I generate the video in Vegas and the audio in Cubase. The desired result is to have the video and audio start together and the video's last frame (completely black) be repeated to match the audio length. I can do this easily in Magix Vegas 16 Pro but the performance is awful. It takes 2+ hours to say render 15 seconds of actual changing video and then another 8 hours of black frames. This is on a 10850K with an RTX 2070 rendering using the GPU as it is faster in Vegas than using the Intel CPU renderer. I thought it was somehow choking on the audio so I eliminated it and just the video rendering of all of the black frames is still 2 hours. Any thoughts on how to speed this up in Vegas would be greatly appreciated. I feel like FFMPEG could be a viable alternative. I had some promising results with render time using ffmpeg -i Input_Video.mp4 -i Input_audio.mp3 -c:v libx265 -c:a copy -map 0:v:0 -map 1:a:0 Combined_Output.mp4 .  This completes the task in under a minute BUT the resulting video is not as it seems. I can play the video from beginning to end in a media player and it looks fine. However, if I watch for a second and fast forward beyond those first 15 seconds, I don't see the black screen. It still shows whatever frame I went from. I examined the video and it sort of appears like the final video result it just the frames of the input video for 15 seconds with no encoded video after that. I need to have just black video after the first 15 seconds playing along with the audio. The black frames need to be encoded as video all the way until the audio ends. Any thoughts on this?

Have you tried using the ffmpeg playlist feature dubbed concatenate? The fade to black with ffmpeg has been described here.

Despite being really vague, it put me on the right trail so kudos. Here's my final workflow - I generated 12 hours of "black" video in Vegas and just let it run for a couple of hours and complete. I made my short intro fading video in Vegas. I made my audio in Cubase. Next I merged the 2 videos using the suggested concatenate by creating a list.txt file and using "ffmpeg -f concat -safe 0 -i list.txt -c copy combined.mp4." I added the audio with "c:ffmpeg -i combined.mp4 -i myaudio.mp3 -c:v copy -c:a copy -map 0:v:0 -map 1:a:0  -shortest final.mp4"  These 2 render uber quick since no recode.

I have the black video now so any future render times are < 2 minutes. Yay!


text:
ffmpeg showing "Thread message queue blocking" error while encoding (non real time)
Hope someone can help me. I'm using ffmpeg to extract the frames from an old video as images, batch enhancing and upscaling the images, then renecoding the images together with the original audio to a new video. This does work and the result looks and sounds correct, but I get this error/warning during the process
[image2 @ 0000022193c2e8c0] Thread message queue blocking; consider raising the thread_queue_size option
Since the output seems correct, I don't know if I need to worry about this or not. Does this message imply frames were dropped? Or is it just telling me I can read faster than I can write?
Everything I find about this online is from people doing real time encoding while streaming. I can understand a CPU may not keep up in that situation and drop some frames, but I'm encoding from files on disk to another file on disk. I would assume in this situation the program will just block the input threads till the output catches up, instead of dropping frames, but I'm not sure, which is why I ask here.
This only happens if I include audio copy in the same command. I'm copying from the same original video I made the frames from (which was encoded at 29.97 fps). I am outputting to a video of the same framerate (I think). Is there something I'm doing wrong here?
> ffmpeg.exe -f image2 -framerate ntsc -i %%06d.png -i D:\encode\original.avi -map 0:v:0 -map 1:a:0 -acodec copy -c:v libx265 -crf 28 -preset medium -pix_fmt yuv420p -r ntsc D:\encode\new.mkv
ffmpeg version 4.3.1-2020-11-19-full_build-www.gyan.dev Copyright (c) 2000-2020 the FFmpeg developers
  built with gcc 10.2.0 (Rev5, Built by MSYS2 project)
  configuration: --enable-gpl --enable-version3 --enable-static --disable-w32threads --disable-autodetect --enable-fontconfig --enable-iconv --enable-gnutls --enable-libxml2 --enable-gmp --enable-lzma --enable-libsnappy --enable-zlib --enable-libsrt --enable-libssh --enable-libzmq --enable-avisynth --enable-libbluray --enable-libcaca --enable-sdl2 --enable-libdav1d --enable-libzvbi --enable-librav1e --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxvid --enable-libaom --enable-libopenjpeg --enable-libvpx --enable-libass --enable-frei0r --enable-libfreetype --enable-libfribidi --enable-libvidstab --enable-libvmaf --enable-libzimg --enable-amf --enable-cuda-llvm --enable-cuvid --enable-ffnvcodec --enable-nvdec --enable-nvenc --enable-d3d11va --enable-dxva2 --enable-libmfx --enable-libcdio --enable-libgme --enable-libmodplug --enable-libopenmpt --enable-libopencore-amrwb --enable-libmp3lame --enable-libshine --enable-libtheora --enable-libtwolame --enable-libvo-amrwbenc --enable-libilbc --enable-libgsm --enable-libopencore-amrnb --enable-libopus --enable-libspeex --enable-libvorbis --enable-ladspa --enable-libbs2b --enable-libflite --enable-libmysofa --enable-librubberband --enable-libsoxr --enable-chromaprint
  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
  libswscale      5.  7.100 /  5.  7.100
  libswresample   3.  7.100 /  3.  7.100
  libpostproc    55.  7.100 / 55.  7.100
Input #0, image2, from '%06d.png':
  Duration: 00:03:29.84, start: 0.000000, bitrate: N/A
    Stream #0:0: Video: png, rgb24(pc), 1280x720, 29.97 fps, 29.97 tbr, 29.97 tbn, 29.97 tbc
Guessed Channel Layout for Input Stream #1.1 : stereo
Input #1, avi, from 'D:\encode\original.avi':
  Duration: 00:03:29.84, start: 0.000000, bitrate: 2202 kb/s
    Stream #1:0: Video: mpeg4 (DX50 / 0x30355844), yuv420p, 352x240 [SAR 1:1 DAR 22:15], 778 kb/s, 29.97 fps, 29.97 tbr, 29.97 tbn, 30k tbc
    Stream #1:1: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 44100 Hz, stereo, s16, 1411 kb/s
Stream mapping:
  Stream #0:0 -> #0:0 (png (native) -> hevc (libx265))
  Stream #1:1 -> #0:1 (copy)
Press [q] to stop, [?] for help
x265 [info]: HEVC encoder version 3.4+27-g5163c32d7
x265 [info]: build info [Windows][GCC 10.2.0][64 bit] 8bit+10bit+12bit
x265 [info]: using cpu capabilities: MMX2 SSE2Fast LZCNT SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2
x265 [info]: Main profile, Level-3.1 (Main tier)
x265 [info]: Thread pool created using 24 threads
x265 [info]: Slices                              : 1
x265 [info]: frame threads / pool features       : 4 / wpp(12 rows)
x265 [info]: Coding QT: max CU size, min CU size : 64 / 8
x265 [info]: Residual QT: max TU size, max depth : 32 / 1 inter / 1 intra
x265 [info]: ME / range / subpel / merge         : hex / 57 / 2 / 3
x265 [info]: Keyframe min / max / scenecut / bias  : 25 / 250 / 40 / 5.00
x265 [info]: Lookahead / bframes / badapt        : 20 / 4 / 2
x265 [info]: b-pyramid / weightp / weightb       : 1 / 1 / 0
x265 [info]: References / ref-limit  cu / depth  : 3 / off / on
x265 [info]: AQ: mode / str / qg-size / cu-tree  : 2 / 1.0 / 32 / 1
x265 [info]: Rate Control / qCompress            : CRF-28.0 / 0.60
x265 [info]: tools: rd=3 psy-rd=2.00 early-skip rskip mode=1 signhide tmvp
x265 [info]: tools: b-intra strong-intra-smoothing lslices=4 deblock sao
Output #0, matroska, to 'D:\encode\new.mkv':
  Metadata:
    encoder         : Lavf58.45.100
    Stream #0:0: Video: hevc (libx265), yuv420p, 1280x720, q=-1--1, 29.97 fps, 1k tbn, 29.97 tbc
    Metadata:
      encoder         : Lavc58.91.100 libx265
    Side data:
      cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: N/A
    Stream #0:1: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 44100 Hz, stereo, s16, 1411 kb/s
[image2 @ 0000022193c2e8c0] Thread message queue blocking; consider raising the thread_queue_size option (current value: 8)
frame= 6289 fps= 88 q=35.9 Lsize=   59028kB time=00:03:29.84 bitrate=2304.4kbits/s speed=2.92x
video:22746kB audio:36149kB subtitle:0kB other streams:0kB global headers:2kB muxing overhead: 0.226772%
x265 [info]: frame I:     34, Avg QP:28.64  kb/s: 2940.00
x265 [info]: frame P:   1520, Avg QP:30.35  kb/s: 1771.54
x265 [info]: frame B:   4735, Avg QP:33.71  kb/s: 588.33
x265 [info]: Weighted P-Frames: Y:3.4% UV:2.5%
x265 [info]: consecutive B-frames: 1.5% 0.6% 6.1% 75.2% 16.5%

encoded 6289 frames in 71.77s (87.63 fps), 887.02 kb/s, Avg QP:32.87

I had the same problem with such setup, i.e. input frames as PNGs + audio.
My workaround for silencing the warning was -thread_queue_size parameter with max possible value (i.e. bigger than my total amount of PNG frames) before each input.
Considering you have a video clip with duration ~3:30, I would try the command:
ffmpeg.exe -f image2 -framerate ntsc -thread_queue_size 5040 -i %%06d.png \
-thread_queue_size 5040 -i D:\encode\original.avi \
-map 0:v:0 -map 1:a:0 -acodec copy -c:v libx265 -crf 28 -preset medium \
-pix_fmt yuv420p -r ntsc D:\encode\new.mkv

If the message really impacts the output quality, sorry can not confirm. For me was quicker just to set the limit.


text:
Video rendering taking 13 Hrs to render for a normal video less than 2 minute
ASUS TUF Gaming FX505DT 15.6-inch FHD Laptop, Ryzen 7 3750H, GTX 1650 4GB GDDR5 Graphics (16GB RAM/512GB NVMe SSD/Windows 10/Stealth Black/2.20 Kg), FX505DT-BQ157T
Hi all above mentioned is the spec of my device. When i try to render after effects composition which is just  1.5 minutes duration it took me around 13 hours to complete. Dont know why this is happening. I did many searches in youtube to speed up the output video rendering. But none works out. Does any one know why this happening. All my drivers are up to date. There is no problem when iam Just previewing the videos in after effects but rendering part is very slow.

Rendering speed depends on a lot of factors. Things that slow the render down include

using a lot of CPU intensive effects,
lots of CPU intensive precomps,
effects which require multiple frames to be calculated, such as echo or time displacement,
using many source layers, particularly high resolution sources that take time to read from disk,
some effects are just dog slow because they've never been optimised that well,

and lastly, but probably most importantly:

memory issues: if you run out of RAM then it starts swapping to the hard drive, which even on a fast SSD is an order of magnitude slower than memory, so even simple compositions will take an inordinate amount of time.


text:
Positioning and Resizing Captions in Final Cut
I have a video for which I need to include captions. The video itself has burned-in captions. I would like to include the new captions on top of the old ones. However, when I import captions, the standard Final Cut position is lower than where I need them. In addition, their font size is way smaller than that of the original.
Question: if I have captions as .ASS file (Aegis sub) and am able to export them as .SRT, how can adjust them to my taste in Final Cut?

Apple has an article in the FCP user guide.
All you need should be explained here.
Format caption text in Final Cut Pro


text:
Monitor FFMPEG Rtmp live stream with FFPLAY pipe
I have wrestled with this for hours and can not figure out how to pipe this to ffplay so that i can monitor it.
google searches and searches on here and stack overflow come up empty
ffmpeg -hide_banner -loglevel quiet -stats -re -f concat -safe 0 -stream_loop -1 -i %list% -auto_convert 1 -c:v libx264 -bsf:v h264_mp4toannexb -c:a aac -b:a 128k -ac 2 -ar 44100 -bsf:a aac_adtstoasc -preset veryfast -b:v 1984k -maxrate 1984k -bufsize 3968k -tune zerolatency -vf "pp=hb/vb/dr/fq|8,crop=in_w-20:in_h-40,scale=960:540:flags=lanczos,setsar=1,format=yuv420p,eq=gamma=0.95" -g 50 -fflags +genpts -f flv %video% - | ffplay -f flv -x 720 -y 480

I have tried doing a standalone  just ffplay but it wont see it
I am sure there must be a way to accomplish this in a easy way, without needing to have webpage open that drains the cpu while trying to stream

I think i got it!
if anyone wants to clean this up let me know, it does work though as is
this is the partial code from the windows batch file:
ECHO Type in your stating playlist file
ECHO.
set /p list=""
set video=rtmp://stream.ssh101.com/live/XXXXXXXXX

bin\ffmpeg -hide_banner -loglevel quiet -stats -re -f concat -safe 0 -stream_loop -1 -i %list% -flags +global_header -auto_convert 1 -c:v libx264 -bsf:v h264_mp4toannexb -c:a aac -b:a 128k -ac 2 -ar 44100 -bsf:a aac_adtstoasc -preset veryfast -b:v 1984k -maxrate 1984k -bufsize 3968k -tune zerolatency -g 50 -fflags +genpts -map 0:v -map 0:a -f tee "[f=flv]%video%|[f=nut]pipe:" | bin\ffplay -hide_banner -loglevel 0 pipe: -window_title "RTMP Stream Monitor 1.0 - Viewer (powered by FFPlay)" -x 640 -y 480  -sync audio -autoexit -exitonmousedown -autorotate

Hope this helps someone in the future and definitely look forward to anything to add to this to make it even better


text:
How to fade up from black over more than one clip?
I would like to open my presentation with a fade up from black who's duration spans more than one clip.  The normal transitions don't seem to allow me to cross the clip bounday.
Any help appreciated.

You could simply add a black clip above that fades out.

Thanks, that helps!


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

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

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

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

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


text:
How to Programmatically Create Video Template (from barchart racer to kpop line count)
I have seen tutorials on how to generate barchart racer animations programmatically using languages like Python, once you script it, next time, you just need to load the load and the animation will got generated easily. However, the animation quality is skill mediocre.
Recently I came across a style of visualizing line distributions (how many lines certain celebrities said) in Youtube videos like this. The video quality is absolutely stunning and you can clearly see a consistent theme across all the videos under that channel (click to watch the video here).

I am wondering what are the alternatives to achieve "Kpop line distribution" level of video editing in a programmatically.
As I have mentioned, previously, I have tried generate photos using Python and stich them together and exported as video, I have also used d3.js and even Processing but none of these solutions look as a clean cut.


text:
GIF/SVG kind of compression for Video
I am looking for a solution to compress screen recording. Imagine a coding tutorial involving mostly text and windows and almost no graphics other than icons and occasional view of the wallpaper.
Since the content on the screen is mostly static and contains large patches of the same color, I suppose there is a very good scope compression if the codec is optimized of this kind of use case. GIF (still image) is very good at compressing large rectangular areas of single color. SVG is very good at compressing images that really vectors. For certain types of content, these formats far outperform JPEG in size while delivering superior or equivalent image quality.  I am looking for a similar technology for video. It has to compress the content described above really well in terms of output size as compared to a general purpose video codec. It need not be very good at capturing motion other than mouse/cursor movement and occasional window movement.

I wonder if the original Citrix ICA or for that effect Nomachine's NX, Microsoft RDP or even VNC would be of your interest. From what I understand of ICA and NX that idea was really to be in between of window manager calls, giving it an ultimate access to 'small updates' opposed to complete framebuffers. By a bit of searching I found VNCREC. The biggest problem with the to 'vector' format is that most font rendering is very far from the original text, so you would need something very in between, maybe such as GTK Broadway which goes into HTML5.


text:
Windows FFMPEG concat from list and log each file inputted into to ffmpeg
Ok i have a working batch file, where I grab from a text file a list of videos to concat as such
ffconcat version 1.0
file 'dan_Ep_01HardWater.ts'
file 'dan_Ep_02GoldieTheGoldfish.ts'
file 'list2.txt

I then feed that to ffmpeg and display on ffplay at the same time using this code:
ECHO.
ECHO.
ECHO Type in your stating playlist file
ECHO.

set /p list=""
ping localhost -n 2 >nul

set video=rtmp://stream.ssh101.com/live/test4589585
set stream=streaming.mp4

cls
color 70
ECHO.
ECHO.
ECHO Encoding your RTMP stream now
ECHO.

bin\ffmpeg -hide_banner -loglevel quiet  -report -stats -re -f concat -safe 0 -stream_loop -1 -i %list% -flags +global_header -auto_convert 1 -c:v libx264 -bsf:v h264_mp4toannexb -c:a aac -b:a 128k -ac 2 -ar 44100 -bsf:a aac_adtstoasc -preset veryfast -b:v 1984k -maxrate 1984k -bufsize 3968k -tune zerolatency -vf "pp=hb/vb/dr/fq|8,crop=in_w-20:in_h-40,scale=960:540:flags=lanczos,setsar=1,format=yuv420p,eq=gamma=0.95" -g 50 -fflags +genpts -map 0:v -map 0:a -f tee "[select=v,a:movflags=+faststart]%stream%|[f=flv]%video%|[f=nut]pipe:" | bin\ffplay -hide_banner -loglevel 0 pipe:  -window_title "Stream Monitor 1.0 - (powered by FFPlay)  --   NOTE: closing me stops your streaming!" -x 640 -y 480  -sync audio -autoexit -exitonmousedown -autorotate

So this works great but i want to be able to log which file that ffmpeg has just worked on or is working on to a log file.
because i am piping to ffplay which i do NOT want to change took me too long to get it working lol plus its valuable
the reason for doing this is when i am creating my next list.txt to feed to FFmpeg i do not want to do the same file twice.
im guessing cause i am using windows it will be some extra work in pure Batch but the first step is to get the file info to a text file
I cant use > out.txt 2> err.txt is it possible to create another pipe?
I thought of using ffprobe and piping to ffmpeg but couldn't find any info on how to do that either
could i do another tee |  ??
I'm just lost and I can NOT find any info on the web.

You have -report in your command. The report file should have logs from the concat demuxer stating which file it has just opened.

yes but it only does it after ffmpeg is shut down, is there another way?  i want to know what was worked on so when i create a new list that file is not added to it.

i did NOt see it create the report in realtime!    do i use log level to get just the name of the video ?

It writes to the report while ffmpeg is running. You don't have to wait.

i tried adding  FFREPORT in the command and it didnt work in windows. and didnt notice that being created. until i commented.  i just want to get the files being opened.  there is way tooo much info in that report, im reading up on log levels now

because i am using windows it appears i can NOT set the log level or change the name of the log file?   it is set at log level 48 according to the log


text:
Live streaming with DSLR video cameras that have time-out recording
DSLRs, unlike camcorders, are often made to stop recording when a certain amount of minutes, like 35, passes since first pressing the record button. What's the point of this?
Does this rule hold for people who live-stream on Twitch, for example, using DSLRs? Streamers go for hours on end without touching the camera, so how do they do it? When they first purchase their camera are they actually looking for a feature that bypasses the time-out rule or something, what is it called

Welcome! The record length restriction is a business decision made by the manufacturers to get around (possibly outdated) tariff classifications.

i see, how about the second question about how live streamers select their equipment and stream for infinite lengths of time


text:
How To Create A Video In Video (Picture in Picture) In DaVinci Resolve
I have two video clips.  One from a front facing camera and other from a rear facing camera.  I would like to show the video in the rear facing camera in a window in the video of the front facing camera and output as one clip so they are in sync.
How do I show a video clip do "picture in picture" or "video in video" in DaVinci?
(Note: I know I can do this in iMovie)

Synchronizing the clips and creating a picture in picture effect are really two separate issues, and you could take many approaches to each.  But basically, you drop one clip on one video track, and the other on a different video track.  You synchronize one to the other by dragging either clip left or right on the timeline until they match temporally.  There are automated approaches to this step, including timecode-based sync and audio waveform based sync.  These automated processes are described by the manual in detail, but they essentially perform the same function as manually aligning the clips.
Once the clips are aligned temporally, you can apply a picture-in-picture effect by spatially shrinking or cropping the "topmost" clip (the one with the higher V#).  You'd do this by clicking on the clip in the timeline to select it, then altering its zoom, crop, and position controls in the inspector tab.  Alternatively, you can use GUI transform controls by clicking the transform control button at the bottom of the program monitor, then using the onscreen controls.
This is a very barebones explanation, and one which will work in many older versions of Resolve.  There are fancier approaches, ones which involve the Color Page, or the Fusion Page, or (beginning with R17 beta) ones which use the "Video Collage" ResolveFX.  These are essentially variations on the same basic premise.  The Collage effect does offer many handy shortcuts to produce rounded corers, drop shadows, borders, and animated transitions, as well as re-framing, keyframing, and handling stacks of various tile arrangements, so I would recommend trying the R17 beta if that's an option, for the sake of convenience.


text:
Overlay multiple images on one video using ffmpeg?
I need to encode multiple images over the same video at different times in a single pass.
I have a fair grasp of doing this with a single image, such as
ffmpeg -i video.mp4 -i picture1.png -filter_complex "[0:v][1:v] overlay=0:0:enable='between(t,1,5)'" -pix_fmt yuv420p -c:a copy result.mp4

but how would I go about adding a picture2.png, picture3.png, and so on, with different between() parameters?

Add all the images you want to overlay to a video file as input -i
Here -

X,Y are the top left coordinates where the image should be put, with respect to video
Between(t,a,b) means you want to display that image from a (in seconds) till b (in seconds)
gt(t,c) means that display that image from c till the end of video

ffmpeg -i video -i image1.png -i image2 -i image3  -filter_complex
"[0][1]overlay=x=X:y=Y:enable='between(t,23,27)'[v1];
[v1][2]overlay=x=X:y=Y:enable='between(t,44,61)'[v2];
[v2][3]overlay=x=X:y=Y:enable='gt(t,112)'[v3]"
-map "[v3]" -map 0:a  out.mp4


text:
Streamable Container for gstreamer with ngnix / RTSP on jetson nano
Im working on this project :
https://www.hackster.io/jonmendenhall/jetson-nano-search-and-rescue-ai-uav-9ca547
At  some point I will need to mount my camera (waveshare ; IMX219-77IR) on  top of the drone and I would like to use  Windows or Linux outside of nomachine (because the nano will be in  headless mode),to display what the camera sees  when the drone is flying. For this reason I'm trying to configure gstreamer with RTSP to start a streaming server on the Ubuntu 18.04 that  I have installed on the jetson nano. (Keep in consideration that I will attach to  the nano the “huawei e3372 4g” dongle to provide to the drone a mobile  connection,instead of a wi-fi connection and the encoder used may have an impact on the performance of the video streaming).
To achieve my goal this is the thread that I'm following :
https://forums.developer.nvidia.com/t/vlc-playing-gstreamer-flow/51694/6

At some point DaneLLL says :
Please also try test-launch.c @
https://github.com/GStreamer/gst-rtsp-server/blob/master/examples/test-launch.c
136
Target
sudo apt-get install libgstrtspserver-1.0 libgstreamer1.0-dev   gcc
test-launch.c -o test-launch $(pkg-config --cflags --libs
gstreamer-1.0 gstreamer-rtsp-server-1.0)   ./test-launch “videotestsrc
! omxh265enc ! rtph265pay name=pay0 pt=96”
Host   Open network stream rtsp://<TARGET_IP_ADDRESS>:8554/test via
VLC

it didn't work,but I found the reason and I fixed it. All my steps were correct, except that I was using the latest version of the example, which uses the latest API. Since most  Jetson boards come with Gstreamer 1.16 pre-installed, I used that same version of the example:
https://gitlab.freedesktop.org/gstreamer/gst-rtsp-server/-/blob/1.16/examples/test-launch.c
now,doing :
./test-launch "videotestsrc ! omxh265enc ! rtph265pay name=pay0 pt=96"

I got this output : stream ready at rtsp://127.0.0.1:8554/test
at this point the problem is that I'm not able to connect to that address using VLC. I checked if the ports were open (I have opened them on the router side)
     root@ziomario-desktop:~/Scrivania# lsof -i:8554

     COMMAND     PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
     test-laun 24401 root    4u  IPv4 521379      0t0  TCP *:8554 (LISTEN)

     root@ziomario-desktop:~/Scrivania# lsof -i:1935

     COMMAND   PID   USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
     nginx   23301   root    6u  IPv4 505559      0t0  TCP *:1935 (LISTEN)
     nginx   23302 nobody    6u  IPv4 505559      0t0  TCP *:1935 (LISTEN)

In addition,I have installed ngnix with the following conf file :
#user  nobody;
worker_processes  1;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;

events {
    worker_connections  1024;
}

rtmp {
    server {
        listen 1935;
        application live {
            live on;
            interleave on;
            hls on;
            hls_nested on;
            hls_path /tmp/hls;
            hls_fragment 15s;
            #hls_playlist_lenght 60;
            exec_pull /usr/bin/ffmpeg -i rtsp://192.168.1.3:8554/test -vcodec copy -acodec copy -f flv rtmp://192.168.1.3:1935/live/test;
            #dash on;
            #dash_path /tmp/dash;
            #dash_fragment 15s;
       }
    }
}

http {
    include       mime.types;
    default_type  application/octet-stream;

    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';

    #access_log  logs/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    #gzip  on;

    server {
        listen       80;
        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            root   html;
            index  index.html index.htm;
        }

        #error_page  404              /404.html;

        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    types {
        application/vnd.apple.mpegurl m3u8;
        video/mp2t ts;
        text/html html;
    }

    # proxy the PHP scripts to Apache listening on 127.0.0.1:80
        #
        #location ~ \.php$ {
        #    proxy_pass   http://127.0.0.1;
        #}

        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        #
        #location ~ \.php$ {
        #    root           html;
        #    fastcgi_pass   127.0.0.1:9000;
        #    fastcgi_index  index.php;
        #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
        #    include        fastcgi_params;
        #}

        # deny access to .htaccess files, if Apache's document root
        # concurs with nginx's one
        #
        #location ~ /\.ht {
        #    deny  all;
        #}
    }

    # another virtual host using mix of IP-, name-, and port-based configuration
    #
    #server {
    #    listen       8000;
    #    listen       somename:8080;
    #    server_name  somename  alias  another.alias;

    #    location / {
    #        root   html;
    #        index  index.html index.htm;
    #    }
    #}

    # HTTPS server
    #
    #server {
    #    listen       443 ssl;
    #    server_name  localhost;

    #    ssl_certificate      cert.pem;
    #    ssl_certificate_key  cert.key;

    #    ssl_session_cache    shared:SSL:1m;
    #    ssl_session_timeout  5m;

    #    ssl_ciphers  HIGH:!aNULL:!MD5;
    #    ssl_prefer_server_ciphers  on;

    #    location / {
    #        root   html;
    #        index  index.html index.htm;
    #    }
    #}

}

But VLC still doesn't want to connect to :

rtsp://127.0.0.1:8554/test
rtmp://127.0.0.1:1935/live/test
and :
rtsp://192.168.1.3:8554/test
rtmp://192.168.1.3:1935/live/test

after a further investigation, I found that :
root@ziomario-desktop:~/Scrivania#  /usr/bin/ffmpeg -i rtsp://192.168.1.3:8554/test -vcodec copy -acodec copy -f flv rtmp://192.168.1.3:1935/live/test

[flv @ 0x557dfbdd80] Video codec hevc not compatible with flv
Could not write header for output file #0 (incorrect codec parameters ?): Function not implemented

so,could this be the reason ? how to fix that ? thanks.

Output h264 from gstreamer

thanks. I'm trying to make it work here : https://forums.developer.nvidia.com/t/about-to-start-a-streaming-server-with-rtsp-and-gstreamer-on-ubuntu-18-04-on-the-jetson-nano/165564/6 ; at the moment it does not.


text:
Premiere mangles export of video with several settings
I am new to Premiere and tried a few sequences. Upon exporting them, the result has half the frames completely mangled, with unreadable text, inverted exposure, or with extraneous elements. Here are some examples:

The same result happens with different settings: medium or adaptive low bitrate, with hardware encoding or with software encoding. The same result happens with different sequences.
How can I fix the export and salvage my work?

Instead of exporting in Premiere, I chose Queue in the Export dialog for Adobe Media Encoder to do the work. It worked perfectly fine, either with medium or high bitrate, with hardware or software encoding.
This issue may be due to new software running on old hardware. My computer has 8 GB of RAM. Although Premiere 2019-2020 has that amount as the minimum and so it should work, Adobe Support has excused itself of another bug blaming the lack of the recommended RAM.


text:
Is it true that pixelization can be reversed given enough frames?
I just read someone stating the following on a Kdenlive bug report:

I'd much rather have a single color than pixelization, since with
enough frames, pixelization can be reversed.

Simple question - is it true? Has it been demonstrated in practice?

A bit hard to answer without some more context.


text:
Captions disappear when length changed manually in Premiere timeline
I am editing a video in Premiere that has srt subtitles/captions as a distinct captions layer. At the beginning, I was able to change the position of individual captions manually using the handles within the srt layer. For example, the caption below can be moved or scaled within the timeline.

However, sometimes a timeline layer will eventually change so that extending or reducing the length of the caption causes the individual caption to immediately disappear from the srt layer. The caption below will disappear from the timeline if altered using its handles. It will remain visible in the caption bin's srt file, but has no thumbnail.

In both cases, the captions layer have been cut and edited, and individual captions can have their length and position altered in the captions bin.
The adobe forums and documentation have been pretty useless regarding their captioning features. Any advice on how to get captions to play nice would be very helpful.


text:
Censoring moving objects in video: How to speed up Mask Path in Adobe Premiere?
In Adobe Premiere Pro, Mask Path under Effect Controls can be used to let a censor effect ("Camera Blur" or "Mosaic" effects) travel or track through the remaining frames of the video. However, Mask Path takes a long time to run and is very slow. If Mask Path were applied to an hour-long .mp4 file, for example, it would probably have to sit for an entire day or two to complete.
What hardware components would boost the speed at which Mask Path completes its course? Should the focus be on having a maximum amount of RAM (like 64 GB RAM), having large hard drive space, or something else?
Besides Adobe Premiere, are there more economical programs, or techniques, tailored for censoring faces?

Tracking algorithm speed is often heavily correlated with the area of the source pattern.  Try tracking a smaller area, or tracking a proxy version of the footage, and applying the results to the full resolution.

it is already a fairly small area (eyes rectangle). which hardware should I focus on improving? RAM, core processor, or other part?


text:
Colors artifacts/jittering after render - filmora
Hi I'm having some issues with colors in my video, I have still images that after the render jitter

Never seen something like this, any idea why would this happen?

Is everything else on the screen stationary, or is there other movement in other parts of the screen? If there is, I'd put it down to lossy codecs like h264.
Try exporting at a higher bitrate. You could add a tiny amount of noise or grain to the video which might reduce the jittering at the overall expense of detail.


text:
Alternative for 'create shapes from vector layer' for edit possibilities in Ai
How to keep editing possibilities in Illustrator after the Ai file is used in After Effects?
I use the Lottie files Bodymovin plugin to export my animations to JSON files for use in mobile apps and websites. After creating shapes from the vector layer (Ai layer), I can't edit the illustration in Ai and get this change in my AE animation (just as is possible using regular Ai layers-not converted to shape layers).

The Overlord plugin can help with this.
https://www.battleaxe.co/overlord/
It can convert shapes in AI to parametric shapes in AE.


text:
How to automatically fix lighting conditions in different shots in a timelapse?
I'm taking a timelapse with 30 minutes between each picture. Around 55 pictures, that all need to match their lighting conditions. Around 40 or so are already the same, but is there an automatic  way to match the last 15?

There are plugins that adjust exposure over time to reduce flickering in timelapses - GBDeflicker works well. (But it won't change night to day or anything like that).
See also:
Correcting exposure flickering in time-lapse footage "in post"

The exposure's the same in all photos, however, the lighting is different in many of them. I can manually fix the worst ones.


text:
How to write more than 7 digits in effect ("slider control") because his stop in 6 number
How to write more than 7 digits in effect ("slider control") because his stop in 6 number in after effects

You can right-click on the slider and select Edit Value. A dialogue box pops up. You can enter a number up to 1000000. If you need a bigger number, consider adding some text to the value using different units or extra zeroes.


text:
How do path vertices work in After Effects?
I have always wondered this but never understood it. I have attempted to morph object paths in the past but I always ran into issues and just gave up. But now I have a project where I need to achieve smooth path morphs. I understand the concept of setting the first vertex to the same vertex between paths but how does the ordering of vertices work in AE? How does AE interpret vector objects designed in Illustrator and order the path points?
I have this project where I am trying to morph coins. As you can see in these screenshots I have set the first vertex to the same path point on both objects.

But when I copy the path of the big coin and paste it on the last keyframe of the small coin the morph ends up in a really random position off composition.

What could be the cause of this?


text:
Add splashscreen before video
I have:

splash.png having the same size as video resolution
video.mp4 in 60 fps already encoded via -vcodec h264 -crf 23 -acodec copy

I want to prepend (not overlay) video video.mp4 with splashscreen splash.png for 5 seconds.
If possible, I'd like to keep video without reencoding as otherwice additional artefacts may appear. Or maybe it's possible to reencode with the same codec without quality loss?
What ffmpeg command I should use to achieve that?

https://stackoverflow.com/questions/63481882/adding-splash-screen-to-start-of-video-using-ffmpeg seems to have an answer


text:
Skin tones shift redder when OBS outputs to virtual camera, then to Google Hangouts
I'm using a MacBook Pro 2015 with its internal webcam.
When I use the webcam directly in Google Hangouts, skin tones look normal.
When I use OBS as a virtual camera in Hangouts using the same webcam, skin tones look too  purple/reddish. Anyone know why?


text:
Manual white-balance for non-neutral lighting
When you put an 18% gray card under, for example, an incandescent light, it's not supposed to look neutral gray. It's supposed to look orangish-gray, like your eyes see it (because it's reflecting some of the orangish light from the lamp). In such an environment, if you set manual white balance in-camera using that card, then the card will be captured as neutral gray, but the rest of the scene will have a much cooler tone than in real life.
Assuming you can't make significant white balance changes in post-production (e.g. because you're recording 8-bit, not raw) and you want to preserve the effects of the scene's lighting in the captured image, what is the correct strategy?
Should you just estimate the color temperature manually? Treat the gray card as neutral and hope you can fix everything in post?

You're doing it wrong. For one, the 18% grey card is for exposure, use a white card for white balance. For two, the whole point of the white / grey card is that you expose it under the lighting conditions of the scene, so that whatever colour the lights are is treated as white (and in the case of the grey card, so you get correctly exposed skin tone (ish.)).

In such an environment, if you set manual white balance in-camera using that card, then the card will be captured as neutral gray, but the rest of the scene will have a much cooler tone than in real life.

So don't use incandescent lights for the card if you're using cooler lights for the scene. Rule of thumb: hold the card where the main character's faces are going to be.

I always had thought you use a neutral gray for color balance as both black and white would not do as they are achromatic by definition. IMHO the real point is: Why use a gray card for white balance when you want to keep the color cast?

Grey cards do make good targets for white balancing.  In fact, they work better than white.  Grey, white, and black are all "neutral" or "achromatic;" they're all reflecting or absorbing all spectra equally.  The problem with using white is that it's easy to accidentally clip one or more of the color channels.  If the camera's blue sensor sites are all receiving 108% of their max, but red and green are both 99%, the brightest spots will look white when you film it, but there's no way to know if blue was actually 102% or 394% because it clips at 100. Black is opposite problm; not enough info.

The "rule of thumb" advice in this answer is generally good advice, but the whole reasoning behind it -- that you usually want actors faces to appear lit by neutral light sources -- is the same rationale that makes grey cards a good white balance target.  18% grey is close to where human skin falls when exposed well.  If that's where your grey card sits in the exposure, you know it's returning enough light to the camera to accurately judge the balance between R, G, and B, and you know that it's not clipping or underexposed.  Card should be close to subject both in proximity & exposure.

As long as all of the light sources are close to ideal black body radiators, then the spectrum of light they emit will be "neutral" with respect to plus/minus green, and shouldn't contain aberrant spectral spikes.  Sunlight and tungsten light are both close ideal; black body radiation at a temperature of 5600ºK is very close to the color of sunlight, and 3200ºK is close to the color of tungsten light.
If you mix the two in your scene, then you can arbitrarily choose what's "white" by moving your software's white balance slider between 3200ºK and 5600ºK.  When you push the slider towards higher numbers, the places in your scene which received tungsten light will appear orange, and the places with daylight will appear white.  When you push the value lower, the places with tungsten light will appear white, and the daylight-lit places will appear blue.  Anywhere in between, and you'll get a mixture of orange, neutral, and blue. The value you ultimately select is a completely subjective, artistic choice.  There is no right or wrong.
Fluorescent lights and LEDs (especially cheap ones) contain spectral spikes, and aren't close to ideal black body radiators.  If you light a grey card, white card, or color chip chart using a poor source (low CRI), and then set your software's WB to that color (pick/eyedropper the card), then all of the natural, pure white light sources in your scene will look strange.
There's nothing inherently wrong with mixing the color temperatures of your lighting as long as you understand what you're doing, and what effect it will have on your image.  If you do it well, it can give your images extra color contrast and depth.
On the other hand, mixing color temperatures of light in your scene effectively reduces the dynamic range of your camera because one color channel will clip before the others.  When you set your camera's white balance, you're optimizing the camera to receive that color of light.  If you set your white balance for tungsten, and some bright sunlight creeps into your scene, the blue channel will clip disproportionally from the others, causing ugly, mis-colored, and irreparable hot spots, for example.  The inverse is true for tungsten, of course.  But as long as you expose carefully enough that none of the color channels clip, this shouldn't be a problem.
With that said, if you want to make the most out of a limited bit depth, the best thing you can do is avoid mixed-temperature lighting, and set your white balance as accurately as possible in camera.  The image should appear "white" or neutral.  Then, if you want a cooler or warmer look, adjust the color temperature in software.  This maximizes the use of your camera's dynamic range, and still gives you artistic control over your image's overall temperature.
Your brain adjusts to whatever the dominant source of light in a scene is, and it does it very quickly.  If you only have one source of light in a room, you'll perceive a grey card to be neutrally colored.  It's only when you have external daylight creeping in through the periphery that you'd perceive the card as warm.  Your visual perceptive system is very adaptive, which can mislead your intuition.  This is why colorists rely on vectorscopes and waveform monitors to objectively judge what they see.  Cameras are much less flexible than the human vision system, which is why it's often surprising when a scene doesn't fit within the camera's dynamic range; overexposed, underexposed, or off-balanced.

I think your eyes acclimatise to the ambient colour temperature in the room, so one tends not to notice that whites are looking warmer under incandescent light, unless there is a cooler light source nearby to compare it with.
If you don't plan to do any colour correction in post, then you should shoot as close as you can to your desired output. But this is difficult to achieve because of the acclimatisation I mentioned in the previous paragraph.
This is why people shoot to a neutral standard of white that can be defined using their camera's metering.
In general I have would say that there is no neutral lighting - all light has a temperature, whether cloudy outdoors, fluorescents, incandescents etc.
What is more important is to avoid mixing different light sources on the same subject, because it then becomes very difficult to make any corrections without everything else looking wrong.
Small amounts of colour correction from 8 bit material can be done without the image falling to pieces (although it's not ideal). The bigger problem with 8 bit video is when you try to raise shadows or recover highlights.


text:
Kdenlive preserves original quality
Sometimes I use Kdenlive to cut videos because it is convenient. Something bothering me is that the application goes to the re-render process which has no point. I also have no idea what quality to select. Anything random I choose will either loose quality or takes space of my disk inefficiently. I only have one clip in the entire track. What I would like to do is that I want to cut the video without re-rendering.
Unfortunately, some responses from Kdenlive experts is heart-breakening, empty of sympathy to none-experts and not understanding the selling points of their lovely software for the people.
I do not want to use command-line tools nor find the way to tell me the quality of the original video. I expect the tools does this for me. Can I do this with the current release version of Kdenlive?

I don't think kdenlive can do losless cutting.

If you only have 1 clip, you should be able to do lossless cutting using extract Zone in the clip monitor. The dialog for extract zone offers a codec 'copy' option as well as an encoding option. I have seen it mentioned elsewhere that the timing on the extract Zone function in kdenlive can be a little off at times so you might not be able to do precise cuts reliably, but it should work fine for rough cuts. Note that extract zone is not an option in the project monitor.


text:
Importing uncompressed video into Final Cut Pro without (too much) transcoding
I have recently digitized a VHS tape using VirtualDub. Here is the MediaInfo of the original file.
General
Complete name                            : capture.avi
Format                                   : AVI
Format/Info                              : Audio Video Interleave
Format profile                           : OpenDML
File size                                : 28.0 GiB
Duration                                 : 26 min 19 s
Overall bit rate                         : 153 Mb/s

Video
ID                                       : 0
Format                                   : YUV
Codec ID                                 : YUY2
Codec ID/Info                            : YUV 4:2:2 as for UYVY but with different component ordering within the u_int32 macropixel
Duration                                 : 26 min 19 s
Bit rate                                 : 151 Mb/s
Width                                    : 656 pixels
Height                                   : 480 pixels
Display aspect ratio                     : 4:3
Frame rate                               : 29.970 (30000/1001) FPS
Color space                              : YUV
Chroma subsampling                       : 4:2:2
Compression mode                         : Lossless
Bits/(Pixel*Frame)                       : 16.000
Stream size                              : 27.8 GiB (99%)

Audio
ID                                       : 1
Format                                   : PCM
Format settings                          : Little / Signed
Codec ID                                 : 1
Duration                                 : 26 min 19 s
Bit rate mode                            : Constant
Bit rate                                 : 1 536 kb/s
Channel(s)                               : 2 channels
Sampling rate                            : 48.0 kHz
Bit depth                                : 16 bits
Stream size                              : 289 MiB (1%)
Alignment                                : Aligned on interleaves
Interleave, duration                     : 33  ms (1.00 video frame)
Interleave, preload duration             : 233  ms

Since I can't import this AVI file into Final Cut Pro for editing, I did some processing in ffmpeg to help make it more... compatible? Here was my command:
ffmpeg -i "capture.avi" -c:v copy -c:a alac "capture.mov"
... and here was the output:
Input #0, avi, from 'capture.avi':
  Duration: 00:26:19.21, start: 0.000000, bitrate: 152535 kb/s
    Stream #0:0: Video: rawvideo (YUY2 / 0x32595559), yuyv422, 656x480, 150994 kb/s, 29.97 fps, 29.97 tbr, 29.97 tbn, 29.97 tbc
    Stream #0:1: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 48000 Hz, stereo, s16, 1536 kb/s
Stream mapping:
  Stream #0:0 -> #0:0 (copy)
  Stream #0:1 -> #0:1 (pcm_s16le (native) -> alac (native))
Press [q] to stop, [?] for help
Output #0, mov, to 'video.mov':
  Metadata:
    encoder         : Lavf58.45.100
    Stream #0:0: Video: rawvideo (raw  / 0x20776172), yuyv422, 656x480, q=2-31, 150994 kb/s, 29.97 fps, 29.97 tbr, 30k tbn, 29.97 tbc
    Stream #0:1: Audio: alac (alac / 0x63616C61), 48000 Hz, stereo, s16p, 128 kb/s
    Metadata:
      encoder         : Lavc58.91.100 alac
frame=47329 fps=196 q=-1.0 Lsize=29252562kB time=00:26:19.43 bitrate=151723.3kbits/s speed=6.54x
video:29107335kB audio:144639kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.002010%

... and here's the resulting MediaInfo of capture.mov
General
Complete name                            : capture.mov
Format                                   : MPEG-4
Format profile                           : QuickTime
Codec ID                                 : qt   0000.02 (qt  )
File size                                : 27.9 GiB
Duration                                 : 26 min 19 s
Overall bit rate mode                    : Variable
Overall bit rate                         : 152 Mb/s
Writing application                      : Lavf58.45.100

Video
ID                                       : 1
Format                                   : YUV
Codec ID                                 : yuvs
Duration                                 : 26 min 19 s
Bit rate mode                            : Constant
Bit rate                                 : 151 Mb/s
Width                                    : 656 pixels
Clean aperture width                     : 656 pixels
Height                                   : 480 pixels
Clean aperture height                    : 480 pixels
Display aspect ratio                     : 4:3
Frame rate mode                          : Constant
Frame rate                               : 29.970 (30000/1001) FPS
Color space                              : YUV
Chroma subsampling                       : 4:2:2
Compression mode                         : Lossless
Bits/(Pixel*Frame)                       : 16.000
Stream size                              : 27.8 GiB (100%)

Audio
ID                                       : 2
Format                                   : ALAC
Codec ID                                 : alac
Codec ID/Info                            : Apple Lossless Audio Codec
Duration                                 : 26 min 19 s
Duration_LastFrame                       : -35 ms
Bit rate mode                            : Variable
Bit rate                                 : 750 kb/s
Channel(s)                               : 2 channels
Channel layout                           : L R
Sampling rate                            : 48.0 kHz
Stream size                              : 141 MiB (0%)
Default                                  : Yes
Alternate group                          : 1

There didn't appear to be any errors, and I am able to view the new video file in Quicktime, without any issue.
When I open FCP v10.5, I am unable to import capture.mov. I can't even select it from the list of files to import -- it is disabled, just like the AVI file.
My question: what can I do, or change, about the way that I capture the video and audio in VirtualDub -- or -- about the way that I transcode the captured AVI file, to allow it to be imported into FCP? I do not want to encode the raw video into ProRes if possible.

For VHS using uncompressed is overkill. In ffmpeg you could convert it to Prores HQ which is a very good codec which still provides far higher data rates than you need and which will play nicely with FCP (because Apple).
ffmpeg -i "capture.avi" -c:v prores -profile:v 3 -c:a pcm_s16le "output.mov"

I don't know enough about virtual dub to say if you can capture to prores without the intermediate step, I'm guessing this is probably possible.

I would say you have 2 options.

when you digitise your tape make sure you use a FCP supported codecs.

use Compressor to transcode the files

Compressor can't open any of the files, even the one I transcoded into the mov container.

@TheVistaGroup Just out of curiosity, did you try for example Resolve?


text:
Software or method to detect sequences of non-black frames in a long video
I have a large video file (about 6 hours long), it's a record from surveillance camera, the camera itself has no illumination features, though surveiled area has pretty good light which is triggered by motion detector.
So now I have a large video file that is mostly just a black screen, but it might contain some action.
Which software and or approach should I use to locate all action areas of the video (to watch 6 hour footage does not appeal to me).
I was thinking about video player that generates timeline of thumbnails or has built-in function to find non-black frames.
I prefer solution to be free and opensource, but I have searched for a while and I am kind of desperate now, so anything (that will get the job done) will do.

You can use ffmpeg's blackdetect for that:
Let's say you are interested in blackscreen with a duration greater than 2 seconds (d=2):
ffmpeg -i "surveillance.mp4" -vf "blackdetect=d=2:pix_th=0.00" -an -f null -

output (example):
[blackdetect @ 0x7fac3b555380] black_start:40 black_end:53.44 black_duration:13.44


text:
Should color grading be performed on raw clips, or final sequence?
Camcorders that record in .mts (.mp4) files usually split recorded files according to some maximum time limit per clip. For example, after recording straight for 30 minutes, we might find the entire stretch split into 3 separate clips because of a maximum limit of 10 minutes per clip.
Let's say all three of these clips belong to the same scene, and are only disjoint in file structure. In other words, they should be color graded identically. Should color grading be performed on each of the raw clips separately with the same template, or should the clips be merged into one .mts file first on which color grading should be performed once?

Grading multiple clips in Premiere is still a bit fiddly compared to something like DaVinci Resolve. If it was only three clips, I would do the grade on one clip, then copy and paste the Lumetri settings onto the other two.
The other option is to use Master Clips in Premiere, where you can apply the correction to the source clips, and then it doesn't matter how many times you chop them up in the edit - they will still have the same correction applied.
The third option is to do use an Adjustment layer over the clips. So you only have to make one Lumetri setting, and apply it to the adjustment layer, then put the layer above all of your clips.

Between applying color settings to 3 separate clips vs. applying them to the Master layer vs. merging the clips and applying the colors then, which of these 3 approaches is more memory intensive? Would it be inefficient to merge all clips together and post-edit that big film?

That’s a good question.  I’m not sure. I reckon applying Lumetri to master clips and clips in a sequence probably has the same performance hit. People used to say that (using After Effects) adjustment layers were a more computationally intensive way to process things, but I’m not sure if that’s still true.


text:
AE Controller for changing layer into specific colours
I'm trying to create an Essential Graphic that allows the user to change a layer's colour into 4 specific ones:
Teal: 7, 250, 198
Pink: 252, 12, 119
Black: 0, 0, 0
White: 255, 255, 255

Colour Control isn't an option as it gives too much freedom.
Checkbox Control isn't either as it is not a 2 colours boolean/switch.

A Slider Control I think would be a good option but I need something similar to the clamp expression to keep the slider in control, something that would make my slider move in ones or specific steps.
Maybe I'm completely off track, I'm open to better solutions!

Use a dropdown. Select Dropdown Expression Control from Effects>Expression Controls and hit edit to input the colour names.

Then use a switch to deal with the four possible choices.
let colourChoice = Math.round(thisComp.layer("White Solid 1").effect("Dropdown Menu Control")("Menu"));
switch (colourChoice){
    case 1 : [7, 250, 198, 255]/255.0;
        break;
    case 2 : [252, 12, 119, 255]/255.0;
        break;
    case 3 : [0, 0, 0, 0];
        break;
    default:  [1, 1, 1, 1];

}
N.B.:

Math.round on the firstline is to convert the numeric result returned from the dropdown to an integer, I'm not sure what kind of numerical value is returned from a dropdown, but just using let colourChoice = thisComp.layer("White Solid 1").effect("Dropdown Menu Control")("Menu") doesn't work.

Colours in expressions are four-dimensional RGBA arrays, because even if they don't use alpha they need a value for alpha.

And finally the / 255 after the array is to convert the 0-255 RGBA values into 0-1.0 floating point values for colour. You could do the maths beforehand, but it's more legible like this.

I've been using AE 2019 but I see now the great advantage of 2020.
I've tried it but whatever I do it keeps saying Error: Expected: ;

2019 uses a different expression language. Instead of switch you'll have to use if(colourChoice === 1){…} else if (colourChoice === 2){… And use var instead of let

2019 doesn't support Dropdown Menu, so I've tried on 2020 but that's where it shows that ; problem.


text:
ffmpeg - resizing .mp4 changes the timebase (tbn & tbc)
I have been trying to write a script to merge multiple .mp4 videos using ffmpeg. As part of this process, while trying to alter the size found that it alters the timebase. However, for ffmpeg - concat demux all streams should be same or else after merge only the first part of the video plays well and stops abruptly.
I have tried both terminal way and also using fluent-ffmpeg. But unfortunately both gives same result.

Original video Ex, org_video_1280x720.mp4

Stream #0:1(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1280x720, 812 kb/s, 25 fps, 25 tbr, 30k tbn, 60k tbc (default)

after scaling down to 640x360 via terminal ffmpeg -i org_video_1280x720.mp4 -strict -2 -vf "scale=640:360" new_video_640x360.mp4

Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 640x360, 256 kb/s, 25 fps, 25 tbr, 12800 tbn, 50 tbc (default)

The fluent-ffmpeg way of sizing

ffmpeg(`/path/to/org_video_1280x720.mp4`).size(`640x360`). autopad().output(`/path/to/new_video_640x360.mp4`)
          .on('error', function(err, stdout, stderr) {
              console.log('Error: ' + err.message);
              console.log('STD Err: ' + stderr);
         })
         .on('end', function() {
              console.log('Split & Resizing Completed!');
         }).run();

Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 640x360, 253 kb/s, 25 fps, 25 tbr, 12800 tbn, 50 tbc (default)

Notice the tbn & tbc changes after resizing; Actually I have to merge this with other video only by changing the resolution (as they were with these 25 fps, 25 tbr, 30k tbn, 60k tbc stream values); However as it alters the time_base, I was unable to do it. Hope, I am missing something in the process, as I am bit new to audio/video process. Looking for some tips/guidance to get this done!

Add -video_track_timescale X to manually set a timescale of X.
ffmpeg -i org_video_1280x720.mp4 -strict -2 -vf "scale=640:360" -video_track_timescale 90k new_video_640x360.mp4

Thanks @Gyan. Now with this option the tbn was fixed and the resulted stream was - 25 fps, 25 tbr, 30k tbn, 50 tbc; However, here the tbc value was new and it didn't change back to original - 25 fps, 25 tbr, 30k tbn, 60k tbc.

so when I merge this video with others videos those has stream -  Stream #0:1(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 640x360, 812 kb/s, 25 fps, 25 tbr, 30k tbn, 60k tbc (default) the resulted video has the same error while playing. And while concat process in terminal i got warning says Non-monotonous DTS in output stream 0:1; previous: 4016128, current: 3765360; changing to 4016129. This may result in incorrect timestamps in the output file.

i hope this video error and warning was due to the tbc mismatch.


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

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

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

where is the problem???

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

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

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