text:
4:3 source going to a 16:9 projector
At our church we have an older 4:3 projector we'd like to upgrade.  Funding does not currently allow us to go with a 16:9 screen, but we don't want to be stuck with a 4:3-only projector if we're going to be going widescreen in the next 2-3 years.
So I thought we might get a 16:9 projector now, use it to project our existing 4:3 song slides (1024x768), then upgrade the screen in the future and do full 16:9 projecting.
However I'm unsure what the video quality will be.

Can 16:9 projectors project in 4:3 at the same quality that a native 4:3 projector would?  (I know that computer monitors have their native resolutions, and anything else looks fuzzy.  Not sure if the same is true of projectors)
If a 16:9 projector is filling a 4:3 screen with a 4:3 projected image, will the lamp show faint bars going off the sides of the screen?  (i.e. does it project several black pillarboxes on the side?)

our existing 4:3 song slides (1024x768)

The real resolution of a slide depends on the program and file format they are in. If the slides are in PowerPoint or similar, they have no native resolution, they have a proportion.
If they are JPG files or a video, yes, you are stuck with the resolution.
A projector has indeed a native resolution, if it is a 16:9 of good quality it could be full HD 1920x1080 or simply HD 1280x720px, in some cases 1366x768px.
A JPG of 1024x768 will be resampled but I really doubt this would be an issue. In any case it is better to store the slides as a real slide, and not as a "photo".

Regarding if a projector will "projet bars" depends on the model and on the graphics card of the computer sending the data. Most likely the computer will also send a 16:9 signal, and the bars will be given by the application, not by either the computer or the projector.
But if your computer sends an old SD signal, the projector might squish or squash the image.

This depends on the projector you want to get. You can simply take the height-resolution, in the best case, you should get a projector with 768 pixels in the height, but I don't think that this exists. The fuzzyness is the same on a screen as it is on a projector. But you could simply up/down scale the image so the pixel fits.
This also depends on your projector. Most cheaper projector don't have a true black or are even near to it, so you will get light at the sides, but this shouldn't be too bad


text:
Record video to timeline during playback
Is there a video editing software that allows you to record video from a tethered device (like a webcam) directly to the timeline while the project preview is playing back?  This would basically be like if Audacity also allowed video recording and editing.
I would like to be able to record video directly to the timeline at a specific time so that the video and audio will automatically match up rather than recording the video separately, importing it, dragging it to the timeline and trying to line it up.

DaVinci Resolve, Premiere, and FCPX all support direct video capture.  But depending on your hardware configuration, operating system, and camera, you will most likely need a video capture card or external capture device also.
Most computers don't come with a way to get video into them, they come with ways to get data into them.  HDMI ports are one-way, so you need an HDMI or SDI input, or a way to convert HDMI/SDI to data, and bring it in through USB, Thunderbolt, or PCIe, etc.  Webcams, whether internal or external will need a software driver to communicate to the NLE.  Generally, inbuilt webcams come with their own recording software, and computer manufacturers (hopefully) guard access to the camera. So for built-in webcams, you will need software which has access to your computer's hardware.  As Far as I know, FCPX can access FaceTime cameras, but Resolve and Premiere cannot.  For tethered ones, you'll need drivers supplied by the webcam manufacturer.

So basically a Live Broadcast program.
I think a better way is to use timecode. This will automatically line up your video and audio

How would that automatically line it up?  Wouldn't I still have to line it up myself using the timecodes?

source: Stack Exchange

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

sort: votes


text:
How to find same video but with other format and resolution from very big video collection
I have enormous video collection dating back from 2003. until today, almost 9 TB on material from varios sources with various formats and resolution. There are also some shortened version of same video (documentaries that was cut), and i think that there is a lot of duplicates.
I would ask you is there any tool that can find which videos are same or which short video clips are part of one bigger video file?
After lot of searching I found only one tool called Video Comparer that is able to do that job, but it has limitations in number of videos processed (except pro version) and also is not free.
Is there any free tool that can do that job ( it may be for windows or linux) ???
Thank you

Paid tools exists for this because it is not an easy job. With such a large library and the extent of your use case, you will need a budget to accomplish the job.

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


text:
Correct metadata for VR180 video on YouTube
I have a Vuze XR camera, which can capture 3D videos in 180°, and I'd like to compose a VR180 movie for YouTube by joining several clips using free tools.
I'm almost there, but my supposedly 180° video is turning out 360° with some sort of mirror image on the other side, and the video is initialized right into the stitch of the two sides, so I need to rotate it 90° to view it properly.
My process so far is:
1) capture clips
2) use Vuze VR Studio to export each clip to the default YouTube format (if I upload this one directly it shows correctly on YouTube, although I had some issues with the timeline)
3) use DaVinci Resolve to create video with several clips
4) use VR180 Creator to add metadata (from the GUI I didn't select any of the checkboxes)
Here is an example: before the metadata I get a normal rectangular video with left and right eyes; while by adding metadata it correctly identifies as a VR video that I can move around and watch with a VR headset, but it's 360° and by default it is positioned with the edge of the 180° image on the center.
Any ideas on how I can fix this or suggestions of other free tools (Linux, Windows or Mac) that I could use to correctly edit the videos?

I'm still trying to get this to work. I was actually using spatial media to inject metadata. With VR creator the error I get is "Video dimensions must be set for v1 metadata injection".

Maybe the video container is not mp4.
use ffmpeg to change container. ffmpeg -i input_filename -c copy Output.mp4

Google's VR180 Injector should do the trick
https://arvr.google.com/vr180/apps/

I'm still trying to figure our how to get the correct input for that, as I get the error "Video dimensions must be set for v1 metadata injection" when I try to use it.

@TylerSammy, could you perhaps expand your answer a little bit to describe how to use it? Maybe add a link to the relevant documentation page?


text:
Convert ffmpeg audio volumedetect negative dB levels to common loudness positive dB levls
I have a process sampling mean_volume levels from $ ffmpeg -af 'volumedetect' ... which outputs negative -##.## dB measurements where 0 dB is very loud and -100 dB is very quiet.  I need to line those measurements up with "common" loudness scales lining up different positive dB levels with noise environments we encounter such as:

30 dB = Leaves rustling, soft music, whisper
40 dB = Average home noise
60 dB = Normal conversation, background music
70 dB = Office noise, inside car at 60 mph
75 dB = Vacuum cleaner, average radio

How should one go about converting the negative dB measurements from ffmpeg to positive dB values on such scales?
(There are many sources for the "common" loudness scales I refer to here, including built into various smartphone apps for measuring environmental noise and on various web pages such as where I copied the sample above from, and they all roughly agree.  I would assume this conversion would require me to do some sort of "calibration" to get measurements from both the ffmpeg output and something on these common scales.  That's something I can do using said apps. Perfect accuracy isn't the goal and isn't required here, just a reasonable rough mapping from the ffmpeg output onto to these common scales.)

Try the replaygain filter. See https://sound.stackexchange.com/a/44522

@Gyan How would I use the replaygain filter to do the conversion I'm trying to do?
At any rate, that certainly seems like that's the stackexchange where this question belongs.  I didn't find that one when I was trying to find the best one, I assume because it's beta.  But thanks for the pointer!  Can someone move this question to https://sound.stackexchange.com?

The filter output prints out the gain required to achieve 89 dB. So 89 - gain_value is the measured loudness.

Thanks, @Gyan!  That seems to be working well.

Oh, if you want to write that up as an answer, I'll call this answered, @Gyan.


text:
How to specify 422 8bit ProRes with ffmpeg?
I understand that if I want 444 10 bit, I use pix_fmt yuva444p10le, but what about if I want 8 bit 422?  Using yuv422p does not work, and if I leave the pix_fmt field blank ffmpeg always defaults to using yuv422p10le (note the 10le at the end, which I see this in the terminal window) no matter what ProRes profile I choose.  Is there a switch to just specify 8 bit?  I am confused about the 10le.

ProRes encoder only supports 10-bit formats.


text:
Is public manifest.mpd a issue?
I have a public manifest.mpd file. Is it considered a security issue? It has something called cenc:pssh value so i am bit scared if its okay to be public or not?

pssh does not contain any private or secure content. In fact is specifically designed to be attributable.

And what about the playready header? I have my play ready header also public which contains KID value? Is that a bad idea?

Nope. KID is required to be public, otherwise the player could not request the decryption key, and the media could never be played by anyone. The KID is also duplicated in the mp4 files (as is the pssh)


text:
Importing DNxHD into DaVinci Resolve
I converted a .webm file into DNxHD. Unfortunately I'm unable to import it into DaVinci Resolve.
Steps: Import > File > Directory where files are stored.
I'm able to see other, importable files, such as .jpgs but I don't see the DNxHD files.
I'm unable to determine what steps are missing.

What container file did you create? And also have you tried viewing the video from a media player just to make sure the conversion was successful?

@BuckHicks  I've converted the webm file into DNxHD,.mov and .mp4. Interesting they all have the same file size!?  I'm using FFMPEG in case that matters. I can open the files in VLC but no other media player.

What OS are you using? Are you using the paid or free version of DaVinci Resolve?

If you are using the free version then it could be that you don't have the necessary codecs to import those files.  I was unable to import *.mp4 so I used the following command to convert them to *.mov and that worked fine:
$ ffmpeg -i 2015_0101_000056_008.MP4 -c:v dnxhd -vf "scale=1280:720,fps=60000/1001,format=yuv422p" -b:v 110M -c:a pcm_s16le footage08.mov


text:
Decrease FPS of too-high FPS video or increase FPS of too-low FPS video?
I created two videos of the same scene with two different cameras. The issue however is that camera 1 captured everything in 23.85 fps and camera 2 everything in 24 fps.
Since I need to synchronise both videos exactly, it's quite essential that the frame rates are the same. I'm however not sure whether to decrease the 24 fps video to 23.85 fps or increase the 23.85 fps video to 24 fps. Thanks in advance for your advice!

I think the answer depends upon what frame rate you want to deliver your video at.
In general it is better to shoot at the delivery frame rate.
I agree they probably won't go far out of sync if the clips are only short (a minute or so).
If you do need to adjust them, I would frame rate adjust whichever clip is going to be on screen for less time in the edit (or is less important to you).

If your scene isn’t extremely long, I don’t think you have to worry about. Both frame rates are close enough so it shouldn’t go out of sync.
I think changing frame rate might have other side effects you don’t want.
Create a Multicam clip and see if the clips are out of sync at the end of the scene. I would expect you can’t tell.
In case they really go out of sync you can nudge the clip by a frame after a cut you make.

The scene you were shooting was captured by both cameras simultaneously. If you start playback of both clips at the same instant—or more likely; put them into one video and take care to get them perfectly aligned by synchronizing audio—then no matter how long they are, they will naturally play back with perfect synchronization.
The fact that one camera was taking exactly 24 pictures per second, and the other was taking almost 24 frames per second is immaterial—both clips will play back at the rate they were captured. Frames in = frames out. So everything will stay perfectly synchronized. The reason I'm belaboring the above is because of their inevitable counterpoint: anything you do to change the playback frame rate will disturb the automatic synchronization.
Playback of these clips will require precisely showing the correct frame of one video or the other or both, even when you are far into the video. At, say… exactly 10 minutes into the video, camera 1's clip will need to show frame [24×60×10=] 14000; whereas camera 2's clip will need to show frame [23.85×60×10=] 14310. The reason for belaboring this crazy math is merely this: the math obnoxiousness is again a task best left to the software.
So consider… what are your actual needs?

If you somehow actually don't need content synchronization, just change clip 1 to play back at 24 (set playback speed to 100.6289%) OR set clip 2 to 23.85 fps (playback speed 99.375%). Now your frames will be exactly aligned—though of course note that they will not be showing the same videoed moment in time.
If, for some (rare!) reason, you need to 1. stay synchronized, and 2. keep the clips as separate files, and 3. force playback to not just have subject-synchronization but also actually have exact frame-to-frame alignment between both clips, so both files have the same new native framerate, you'll have to render one clip to the other's framerate. This is an interpolated, lossy process, and will slightly degrade quality on the altered clip.
If you simply need both clips to stay in exact sync over the course of the final video(s), so your overlays or cuts back and forth always match between cameras and faithfully show what was happening at that time—do nothing. Every video editor reads and respects each input clip's framerate. After aligning them near the beginning, hopefully using a sharp audio peak, they'll just stay aligned. When your project is done and it comes time to do the hairy 23.85 vs 24 fps math, the software will take care of it and keep the original subject in sync, even though the frames secretly aren't.


text:
What is this "light trail" effect called - and how can I reproduce it today?
In several video documents from the 70s or 80s, usually TV shows or live music shows, bright objects or bright lights leave behind a color trail when the subject or the camera moves.
I remember first noticing this on a live performance of Queen recorded in the 80s. Here's another occurrence on Michael Palin's white shirt from an episode on Monty Python's Flying Circus:

I own an old 70s television camera (Pathé KC-V1) which produces the same effect, but setting it up requires a lot of time, and I haven't found yet how to digitize the video it produces, but I'd love to try and reproduce it either to make shots look vintage, or to use this effect creatively.
What is this effect called, and is there a way to reproduce this effect with digital video equipment, or in post-production?

I don't know if it has an official name but could be classed as "ringing". Tube cameras would do it if you had any bright lights in the scene. 70's music videos are full of it.
You don't mention any software, so I'll give a platform agnostic solution. This would probably be easier in a node based workflow, but I've included the AE names for things because it's what I know best.
You could use a threshold effect ("extract" would probably work in After Effects) to grab just the bright parts of the image, and feed that into a delay ("echo" in After effects) then adjust the colour before compositing it back on to the original layer, probably using an additive compositing mode ("add" or "screen" maybe in AE).

That is more likely tube lag, instead of ringing. Ringing wouldn't bounce around that way and usually shows up in finer detail.

@stib do you have an answer for a node based app like blender?


text:
Need overlay the image on video by taking the array of positions
I need to overlay the image on video by scrolling the image on video .
I want to generate the video with the image in scrolling positions

It's a little hard to understand exactly what you're trying to achieve. Could you maybe rephrase your question? Describe exactly what you want to see.

I believe what you're looking for is called tracking. If you have a video in which scrolling happens and need the image to stick on the video, meaning that it follows the scrolling, do the following:

Open up After Effects and import both the image an the video.
Create a comp with the settings of the video and drag the video in it.
Create a Null-Object
On the right hand side, there's a panel called "tracking" or "tracker". Open it.
Select the Video since you want to track its movement and drag the tracking point (you only need one but can use however many you want) on a point of the video with high contrast, like edges or spots. (that makes it easier for the tracker to recognize the movement.)
Track the footage and check if the tracker sticks, correct it if you have to.
As the target, select the null-object and click apply. You need the y-axis at least, having both y and x doesn't hurt though.
Now, drag in the image and pick the whip (the little curly thing) and drop it on the null-object.

If you did all of this, the image will follow the scrolling video. You might need to adjust the size and position of the image, but it will nonetheless follow your track.
Hope this helps, have a good one :)

OP tagged their question as ffmpeg, so they probably don't want to use After Effects.

FFmpeg overlay tells

x, y: Set the expression for the x and y coordinates of the overlaid
video on the main video. Default value is "0" for both expressions. In
case the expression is invalid, it is set to a huge value (meaning
that the overlay will not be displayed within the output visible
area).
t: The timestamp, expressed in seconds. It’s NAN if the input timestamp is unknown.

Scrolling means to update the x or y coordinate constantly, and the update formula should have the time variable.
There is an example from the page

Make a sliding overlay appearing from the left to the right top part of the screen starting since time 2

and the formula is
overlay=x='if(gte(t,2), -w+(t-2)*20, NAN)':y=0

and the command would be
ffmpeg -y -i logo_video.ts -i logo_image.png -filter_complex "[0]overlay=x='if(gte(t,2), -w+(t-2)*20, NAN)':y=0[out]" -map [out] -map 0:a? slide.mp4


text:
Adobe premiere - dedicated method for split frame video?
I'm after a video that has a short clip of me tying two different shoes. Here is a still frame with the desired effect:

Question
Does premiere have anything built-in to achieve this kind of effect? As it stands, I only seem to be able to add the clips in one at a time, but I don't see any functionality for the split-frame effect I desire. If there is nothing built-in, do I have other options?


text:
Is there any android library to play animations from After Effects json or aepx file
I have created videos using After Effects. I want to export this file and replace photos with user uploaded. Is there any Android library that allows me to do this?

Welcome! Unfortunately, this is more of a software development question than a video production question. It is borderline on topic and I suspect you probably won't get good answers.

Short answer: no. Long answer: nooooo.


text:
Will faster encoding affect the quality in the end? (h.264)
If I speed up the encoding in blender to real-time for quicker encoding, will the actual quality of the video go down? Or will the file just be bigger? Just trying to make videos for my YouTube

If Blender could make same-quality video using a faster preset, why would it use a slower preset?

Speed, quality, file size. Pick two.


text:
Streaming Compression Math

Using 4:2:2, the data rate and compression are:
4k -- 11.88 Gb/s -- 339.4x
HD -- 2.38 Gb/s -- 237.6x
Assuming 4:2:0 for both, Netflix and Stadia use the same compression for HD.
To use the same compression for 4K, Stadia would require 50 Mb/s.
Netflix probably streams using pre-compressed video files. They were probably compressed using HEVC.
According to Vimeo, for live streaming they use something called key frames which are fully loaded, and delta frames which are predicted algorithmically. This can be done using HEVC.
If Stadia uses a key frame every 3 seconds for 1080p,
then the bandwidth requirement is 9.9 Mb/s (which is close to 10 Mb/s).
And if it uses a key frame every 4 seconds for 4K,
then the bandwidth requirement is 37.125 Mb/s (which is closer to 35 Mb/s than to 40 Mb/s).
(If it were every 3 seconds, it would have been 49.5 Mb/s - close to 50 Mb/s - 1 TB cap in less than 45 hrs.)
So, for HD, it is predicting 179 frames, and for 4K, it is predicting about 239 frames.
Could they really be predicting this much?

I believe the definition of “predicted” you are using does not match how the term is used in video compression. A “predicted” frame is just a frame that can be reconstructed using information from previous frames, along with some additional data. The frames are not zero sized, but that are smaller than key frames. You can have as many predicted frames in a row as you want. A key frame is usually periodically sent because of error propagation. If there is a transmission error and the video becomes corrupt, a key frame can fix it.
Also keyframe interval and bitrate have a slight correlation, but they are independent variables and not much information can be assumed about one given the other.


text:
Batch add intro and outro to videos
I have 500+ videos. I need to add intro and outro to them.
Found this .bat script on a different website, and tried it. But it didn't work for me. As the script only ads outro - still didn't work.
SET RESOLUTION="1280:720"
SET INPUT_FOLDER="input"
SET INTRO="intro.mp4"
SET OUTPUT_FOLDER="output"

for %%a in ("%INPUT_FOLDER%\*.*") do ffmpeg -i %INTRO% -i "%%a" -filter_complex "[0:v]scale=%RESOLUTION%:force_original_aspect_ratio=1,pad=%RESOLUTION%:(ow-iw)/2:(oh-ih)/2[v0]; [1:v]scale=%RESOLUTION%:force_original_aspect_ratio=1,pad=%RESOLUTION%:(ow-iw)/2:(oh-ih)/2[v1]; [v0][0:a][v1][1:a]concat=n=2:v=1:a=1[v][a]" -map [v] -map [a] "%OUTPUT_FOLDER%\%%~na.mp4"

I'm on Windows OS, but I also have Linux Mint installed on my workstation.
My question is: how to add 1 intro and 1 outro to 500+ videos?
PS: Intro and Outro files are the same file.
Thank you.

No errors or log? Is the problem with your batch script or the ffmpeg command?

I ran the .bat file, but it didn't give me any error. Have to mention the batch script is located in the same place as the video files and intro/outro file -> 4 videos in total for testing purpose. I have no log.

Did you install ffmpeg? This script uses it so it'd be good to have it...
The Idea is that you create a txt-document with all the file-names inside, which will then get stitched together. You can read up on how it works here:

https://trac.ffmpeg.org/wiki/Concatenate


text:
ffmpeg fast accurate cut
I want to cut a part of Video file without re-encoding whole video.
This is the method came to my mind:

first.mp4:
ffmpeg -i in.mp4 -ss start_cut -t start_to_a first.mp4

last.mp4:
ffmpeg -i in.mp4 -ss b -t b_to_end last.mp4

middle.mp4
ffmpeg -i in.mp4 -ss a -t a_to_b -c copy middle.mp4

then merge these three files with:
merge -f concat -i fileslist -c copy out.mp4

I tested this method but it's not giving expected output the 3 video files are cut ok but after merging the middle part slows down and has low quality in out.mp4.
What is the problem with this method? Or is there another method to fast accurate cut?
Thank you.


text:
After effect preflighting
please i need help. I am trying to render a big project filr which has lots pre composse files in it. And it was taking  almost 2 days to hold on pre- flighting before rendering.  And then rendering for maybe 24 hours. I am using ailenware i7 with 32 ram. But now when added few more files  with the same project, now it cant render anymore....it always shows pre flighting.....please help if possible

Welcome to the board Mahfuz. You will need to give us a few more details in order for us to give you an answer. What are your pc-specs? (gpu, ddr3? ddr4?) What footage are you adding from which camera? Format? Are you using gpu acceleration? How much free space do you have on your drives? There are a lot of possible reasons for your issue.

First of all i thank you for your interest of helping me....and here are some details for my pc, its 32gb ddr3, cpu 3610qm 2.30ghz. I am using footage from canon dslr 5d mark2 and some drone clips normal1080p. I got very little space on cdrive.  Its around 8gb but i got other drivr which i choosed as my output for after effect. Pls advice

I assume that after effects is creating its cache-files on the c-drive (which is the standard location if I recall correctly) and because there is near to no space left, it struggles to cache frames. The first thing you can do is go to edit -> purge everything and see if that helps. In any case, I highly advise you free up your c-drive - I'd feel comfortable with about 100-200gb of free space (at least)

I certainly agree that you don't have enough free disk space if you haven't moved the cache drive.  Ideally it should be a large, very fast (SSD or NVME) drive with as much space as possible free.  I use a striped 512 GB NVME array for mine personally.  The exact sizes and speeds you need depend on the type of media you are working with (I work with 4k RAW video, so I need extremely high data rates.)  With just 1080p h264 files, I'd probably just recommend a standard SSD with about 100GB of space for a cache drive.  More size is always better, but you shouldn't really need faster than a single, independent SSD for compressed h.264, especially on such an old CPU.
That leads to the second point, there's no reason your CPU shouldn't be able to crank through it eventually, but a 2.3 ghz quad core is pretty limited on it's own without using GPU acceleration as well, depending on how long your total video is.  If you have a decent GPU, you'll want to make sure the GPU acceleration is enabled so that a lot of the processing load can be shifted to the GPU and drastically increase performance.  If you don't have a GPU, you may want to consider investing in one since it would bring a pretty substantial improvement in processing to such a relatively slow CPU based rig.
For comparison, I used a 2.93ghz quad core i7 from around the same time period with a GTX 980 and later a GTX 1080 for supporting 1080 processing and it did a pretty good job, but when it really fell down on dealing with 4k well.  With the GPU it could still get through at a few frames a second for basic stuff, but it wasn't a pleasant experience to work with.  You're dealing with a CPU that is about 25-30% slower than my CPU was and you haven't mentioned any GPU acceleration, so I'd expect things to be a bit bumpy, especially if you are getting more advanced with what it is doing.
GPU acceleration should make it an acceptable experience for 1080p, but certainly expect to need an upgrade before you attempt to tackle 4k.


text:
How to create YouTube home guitar demos from parallel taken phone video and professional recorded PC audio?
(please consider, I have zero video recording skills, neither know video editing software. What I know is no more than there are video/audio codecs, container formats, streams, and I also aware that video/audio sync could be a problem)
Context
I would like to create acoustic guitar demos of my home playing.
Sound quality do matter, so audio of simple iPhone video recordings will not do it. I have established practice how to record guitar audio (with my mike, amp) and I have also established audio recording practice, this question is not about this)
Now I would like to do video too, not just the audio.
My very first idea is concurrently record video with my iPhone, somehow transfer to my Windows 10 PC, and then edit the video and (put and sync?) the high quality sound with the video together.
Question
Q1: Is this a good idea? (I've checked how to connect my iPhone cam with PC, but it seems no benefit, it has delay, quality loss, etc)
Q2: I would not like to do sophisticated video effects and postprocessing, however I would like to have multiple recordings (multiple audio/video takes, for example to compare guitars), and "switch" between them (10 secs from one, then 10 secs from other, then back) in the final result. The two streams from two sources (audio and video) must be synced, but preferably not the price of sound quality, video quality is not so important. What free software (Win 10) is recommended for this task?

Bonjour Pickardou!
What you want to do is absolutely manageable and done by a lot of people every day. First, let's talk about the "sync"-part.
On professional movie-sets, you might have seen the movie slate. It's essentially a board with some text on it that can make a slapping-sound. This slap is used exactly for this purpose of syncing. When you recorded both audio and video separately, you then load both in your editing software, find out where the "clap" is in your audio and sync that to the frame in which the slate claps. You could do the same by just clapping with your hands.
To the second question (switching from multiple cameras):
Yes, you can totally do that once you have a recording of multiple cameras - just drag all views on top of each other on a timeline (use premiere or sony vegas to give a few examples). So now you can just cut off the top-layer which will then show the bottom layer, which would be another camera-angle. Do all of that and you got yourself a nice music-video in no time.
I hope I was able to help, have a wonderful day :)

Thx Florian. Can you recommend any free video editor which will do it?

Depending on what operating-system you use, you can use the obvious free (and terrible) ones such as windows movie maker or final cut; however, I'd recommend you use the trial version of premiere or sony vegas, you will spare yourself a lot of hustle by that.


text:
Can I capture different native resolutions with the same CCD-Sensor?
Im working on a paper for my university and need capturings of the same scene in different native resolutions. Im currently using the Logitech BRIO camera with OBS for capturing.
My question is: If I change the resolution of the camera in OBS, does this result in native recordings in that resolution or is the resolution only changed in software?
I know that it could depend on the implementation from OBS but is it even possible to get different native resolution from the same CCD-Sensor in theory? I couldn't find any information about how changing the resolution is actually done.

I don't know anything about the camera you mentioned, but certainly higher end cameras shoot different resolutions. They often do this by cropping the sensor, but also by "pixel-binning", where adjacent pixels are averaged

No, there is physically only one 'native resolution' for any hardware sensor. It is the number of physically distinct light sensitive areas on the sensor chip and is set in silicone at the time of manufacture.
When OBS or any other software gives you a different sized image it is either re-sampling using the values available from the native resolution or alternatively changing the camera resolution which then puts the burden of re-sampling on the cameras internal processing chips.
(Unless you are working with RAW output then the information lost between using a native resolution and sub-sampled resolution is going to be swamped by what is thrown away by modern compression techniques such as JPEG anyway.)


text:
Did Adobe Premiere modify the length of the original video files?
I imported the video assets in a new Adobe Premiere project and it turns out that my video files are now having the length: 00:01:01, which is unnatural, the modified date being the recent one (few minutes ago).
What I've done was to add the Camera Label and creat the multicamera sequence...
I am a bit worried that the original files were corrupted since I do not have a backup.
So far, the total folder size looks fine (+600GB), but I have no idea how to reset the video assets back to original length.
How can I solve this?

Did the original clip change? Premiere doesn't alter source file.

Yes, it did... Most of the videos are now 1 minute in length...

Can you post a listing of the folder.  More information on file sizes and types and any meta data about them that you can post would be helpful.


text:
Can't tell if prores4444XQ is any different than prores4444 in ffmpeg 4.1
Using ffmpeg 4.1 and prores_ks codec.  I've encoded various clips into 4444 and 4444XQ.  All play and look fine but when I try to use -pix_fmt yuv444p16le for 4444XQ I get the warning:
Incompatible pixel format 'yuv444p16le' for codec 'prores_ks', auto-selecting format 'yuv444p10le'

My 4444XQ files are bigger than my 4444 files so there is an increase in bit rate.  But I was under the impression than 4444XQ supported 12bit color while 4444 only supports 10bit color.  There is no 12bit pix_fmt so I just assumed it would take 16 and do the down convert.  Maybe this is a limitation of the current ffmpeg builds and prores_ks needs to either do its own up/down bit depth conversion and/or ffmpeg needs a 12bit pix_fmt?

FFmpeg does have 12 bit pixel formats but the prores_ks encoder is limited to 10 bits. The 4444XQ profile features higher bitrates. Open a ticket at trac.ffmpeg,org, if you like.

Ah thanks I see them now.  But no yuva444p12 for alpha channel prores4444XQ


text:
ffmpeg prores alpha channel quantization looks pretty bad
Might be related to this other ticket?
I've been doing some prores tests for both color and alpha.  Usually this isn't a big deal since my alpha channels are solid with a 1-2pixel transition to black.  However I did some tests with a very gradual change in alpha value over many pixels and noticed some pretty bad alpha channel quantization with the prores_ks encoder.  The Apple prores spec says for 4444(XQ) the alpha channel is 16bit and lossless so this is quite different from that.  I've attached a comparison image.
ffmpeg -f image2 -framerate 24.0 -i tif/rgba_16bit.%3d.tif -filter_complex "[0]colorspace=all=bt709:range=pc:format=yuv444p12:iall='bt601-6-625':irange=pc[main];[0]alphaextract,format=gray16le[alpha];[main][alpha]alphamerge" -c:v prores_ks -profile:v 5 -pix_fmt yuva444p10le -alpha_bits 16 prores4444XQ_yuva.mov

Image below is actually 8bit due to imgur limitations so the 16bit and 10bit examples aren't really correct but you get the point.
Also it looks like -alpha_bits 8 and -alpha_bits 16 produce the same look so maybe its getting bad upstream?

Just checked with profile:v 4 which is regular 4444 and it still looks like that :(


text:
FFMPEG - Audio missing after combining video
I was trying to combine two separate video into one side by side using ffmpeg using the following command in ubuntu server.
ffmpeg -y -threads 4 -loglevel quiet -ss 0 -t 220.162 -i left.webm
-ss 0 -t 220.162 -i right.webm -filter_complex "[0]scale=320:-1,pad=2*iw:2*ih:0:120[left];
[1]scale=320:-1[right];[left][right]overlay=main_w/2:120,scale=640:480" -shortest output.mp4

The video is processed successfully as expected. But the audio is missing from right.webm. Audio from one video is missing from the output.mp4.
How to fix this issue.

You have to mix both audios, else ffmpeg will pick one from among the inputs.
ffmpeg -y -threads 4 -loglevel quiet -ss 0 -t 220.162 -i left.webm
-ss 0 -t 220.162 -i right.webm -filter_complex "[0]scale=320:-1,pad=2*iw:2*ih:0:120[left];
[1]scale=320:-1[right];[left][right]overlay=main_w/2:120,scale=640:480;[0][1]amix" -shortest output.mp4


text:
My video is blurry after dragging it to composition
I matched the dimensions and it is still blurry and ive tried it with multiple videos and it is still blurry. please help.

Your viewport preview is set to Quarter resolution (see just below the preview video). Set it to full. Depending on your machine, preview may not be fluid. This setting only affects the preview.

@Gyan you should post that as an answer because it is the correct answer.

Your viewport preview is set to Quarter resolution (see just below the preview video). Set it to full. Depending on your machine, preview may not be fluid.
This setting only affects the preview.

Your video is not "more blurry" than before, your video has not been touched at all. It is still there sitting on your hard drive.
A video editor does nothing to your footage. It is simply a set of instructions on how to assemble different chunks of video.
The resulting rendered video yes, it can be affected, for example, if your original clip is 4k and you prepare an output file to be watched on a small watch.

On the compositor, you are simply viewing a preview, meant to be... a preview, a fast image so you can view some transitions or effects you want to add.
The final render takes more time to be processed, and it will try to make the best image given some premises like:

original resolution
scaling factor
scaling method
final resolution
compression


text:
Fixing screen flicker / screen tearing
I had some capture issue in OBS, where during certain parts of my screen capture some windows flicker.
Here's a sample of the affected footage:

I think this should be at least to some degree correctable algorithmically, but I don't know the tools to implement that.
Basically for every pixel in the video stream I'd have to do this:
# we need to compare the same pixel in three consecutive frames

A = pixels[x,y, current_frame]
B = pixels[x,y, current_frame + 1]
C = pixels[x,y, current_frame + 2]

# if two border pixel values are identical, but the middle one is different - we assume that to be a flicker, so we replace the middle frame with the first one
if A == C and B != A:
   pixels[x,y, current_frame + 1] = pixels[x,y, current_frame]

# let's move onto the next frame
current_frame += 1

I wonder if this is possible to do with GLSL - I don't know if it has access to frame history...
Are there any (preferably free, open-source and running on Linux) tools that could do this?

ffmpeg could be made to do this, although your proposed method would not get rid of all flicker. If there's some screen activity/anim then A != C, and won't alter B even when B is defective. Also, in one or two cases, the tear lasts for more than one frame.

I've implemented this using Blender's Compositor - it seemed to help a bit for short clips, but I had trouble with A/V sync so I dropped the idea.
I'm including this in an answer however in case anyone wants to try this in their own projects.
I'd like to know more about the ffmpeg-based solution though, as that might be much faster to process (the Blender implementation was rather slow).

The propose algorithm can be implemented using Blender's Compositor.
Here's a working project file:
https://is.gd/TeA4xC
You need to supply the same video file as input to three input nodes - each with a specified frame offset.
This is capable of removing flickers that last no longer than 1 frame.
I tried using this for my footage, but I had issues with A/V sync after remuxingthe result with the original audio, so I dropped the idea.
Here's how the example clip looks like after being processed with this file:

You can tell the flicker is much less pronounced. There are some artifacts, but they are way less distracting.
Hopefully someone will find this useful - I ultimately didn't :/
Enjoy.


text:
How would one add a lens flare effect to clean footage? (Picture attached)
I have some footage of traffic, varying in range from close-up to distant and would like to add what I think is a lens flare effect to make it look like the picture attached.
The online tutorials I have found only talk about adding a lens flare generator (useful for the kind of flare you would get from the sun) which acts as an overlay rather than actually affecting the footage.
If anyone has any tips, pointers or recommendations they would be greatly appreciated.

I wouldn't call that a lens flare, I'd call it a star filter. I know Red Giant do one (commercial) called Star Glow: https://www.redgiant.com/products/trapcode-starglow/

@stib yes! Thank you so much. Been trying Star Glow and getting a decent effect. Just need to figure out the best configurations to get it looking nice. Might be difficult getting it like the picture but it’s looking alright atm.

You could also use two blur effects, one vertical and one horizontal.

@stib trying to imagine how that would work. Would you set it to blur only the highlights? Is that possible with a stock premiere blur? I’ll have a look tomorrow.

ah, Premiere, didn't read the question well enough. It's probably possible, but easier in AE. Yes, you'd use curves to grab just the highlights and blur them. But you'd need to make copies of the layer and nest them probably.


text:
Reference for creative color grading
I'm a looking for a good reference on how to color grade footage for a "cinematic" or "filmic" look. The best I have found are scattered YouTube videos; I'm looking more for general principles and ideas. I do not need any instruction on how to use grading software like Resolve, and I can get to color-correct grade using a Color Checker chart and gray card; I'm interested purely in the creative and artistic aspect of grading.
(Actually, I care more about grading still photography, but it's largely the same, and the video community seems much more advanced and organized in this area, which is why I ask here.)
Are any good references available? I have Alexis Van Hurkman's Color Correction Handbook, but this was mostly about use of Resolve and getting a color correct grade. I also looked briefly at the sequel, Color Correction Look Book, but most of the material was about imitating the flaws of film (e.g. light leaks and grain). I don't want the flaws, just the colors.
Thank you!

I am sorry that I do not have an exact answer to the question on the title.
But here is the core of the question

I'm looking more for general principles and ideas.

So here are my two cents:
1. Focal length and aperture
Yes, I know. I started with something is not controlled by color grading, but it needs to be said.
2. Color correction
This is the first step, define what was the white balance and exposure and make them coherent.
On programs like Resolve, one node should be for temperature correction and another for exposure.
2.1. Shadows
Here is probably the first manipulation we need to make, Do we have a correct exposure of the shadows? Do we need to actually change a curve to show detail?
This is, for now, more than a creative manipulation but about Information. Does the shadowy part of the face of an actor need to be viewed clearly? Does he have a scar that does not show good enough and needs to be brightened?
3. Dynamic range, overall contrast
We are limited by the capabilities of the camera, but we can work around this, using illumination techniques, both positive and negative illumination.
Positive illumination is where you add light on dark zones where you have little light. One case is where you have a sunset behind the subject and you add a reflector to reduce the contrast.
Negative illumination is reducing the light of the bright part, either controlled by a filter or by shutter speed or something.
But when referring to color grading this element is more noticeable on one particular characteristic: Contrast.
So, you can play with the contrast. Sometimes reducing the blackness makes the image a bit more "filmish" or with a film substrate.
It is funny that you mentioned "Still Photography" because I will reference a post I made on that forum, no spam intended :o) https://photo.stackexchange.com/questions/110840/whats-the-biggest-difference-between-these-two-photos-of-large-animals/110884#110884
See how reducing the contrast, by graying the black point, make the image look with a higher dynamic range... This is funny because it is the opposite.
4. Middle tones
You probably want to maintain the middle tones accurate to the color corrections you made in the first place. But this rule can be broken of course. See point 7.
Play with the saturation.
5. Color on the shadows
So we actually need to start creative somewhere. A typical teal and orange look starts here, change the temperature of the shadows. Normally a shadow is a bit cooler than the highlights.
6. Now the light
Change the temperature on the highlights, blow them on a desert scenario, gray them and cool them on a moody swamp.
7. Middle tones again
To change the overall mood, you know the typical matrix example with green tones overall...
8. Forget everything
I or somebody say and play.
9. A side note about "cliches"
Especially for region-based, or country-based color recipes, this is a country that has some deserts... Oh, All the countries should be painted orange!
The US has some pretty big deserts, and you should not grade all movies orange.
The UK, London has some foggy days, not every scene should be desaturated... (or should they? Lol, sorry... I could not resist)
Some red alert scenario... Dam, we need the best light to work on a red alert scenario, not a red light!
Sometimes the cliche is annoying if overdone. Forget cliches, or use them, it is your call.

The true source of a "cinematic" or "filmic" look comes from a well-executed lighting plan, which usually includes a concept of white, black, and mid-tone points within the scene, logical contrast ratios and illumination for key elements, elimination of extraneous details that distract from the filmic elements you really want people to pay attention to, color palette, motivated lighting, and potentially atmospherics (haze, fog, dust, rain, snow, etc).
With that in mind, think of 20 films that YOU think are cinematic.  Select a few screenshots from each of those films.  Look at both the aesthetics of each shot, but also look at each shot using a variety of video scopes, such as a waveform monitor, RGB parade, histogram, vector scope, video false color, etc.  Notice the relationships between what draws your eye aesthetically and the ways in which those elements relate to each other in terms of exposure, contrast, color, color complementarity.  Notice also the values of those things that don't specifically draw your eye--the background, the framing devices, etc., that point to, but are not themselves, the key points of interest.
As you begin to see the patterns of what makes images "pop" or not, you will begin to see the elements that work for you and the elements that work against you.  When you find yourself shooting a scene which has an interesting subject, but which is lit or cluttered in a way that it will never stand out, you'll know its time to use the ultimate photographer's tool--the feet--to move yourself or move your subject to a better vantage point.  When you find yourself shooting a scene which has a subject nicely contextualized by the background, lit in a way that makes it pop, etc., then you have something worth trying to grade.  And then you can creatively decide just how much you want to accentuate all the good things that made the image work in the first place.
Three books by Ansel Adams are worth reading: The Camera, The Negative, and The Print.  His techniques that range from visualization to final display remain valid in a world of video and color grading.

This is a good answer, but probably what the user wants to avoid. Trial and error.


text:
FFMPEG encoder/settings for TEXT-LEGIBILITY and low file size?
I often create long screen-recordings of myself explaining code.
When scrolling text, the movement doesn't need to be amazing, just smooth enough.
When static, the edges of text must be very crisp for legibility.
I'd love to be able to REALLY compress these videos down, as they tend to be quite long
I tried using CRF (Constant Rate Factor) but the trade-off space does not get me the size compression I believe is possible.
I'd be particularly interested in an encoder that could be "motion-aware".
e.g. if the video is static, the encoder won't update the f. But if there is movement in the video, start storing frames etc. There is a freeze filter in the new version, but it looks like its for notifications only.
Does anyone have any good encoders (or settings) they can recommend?
Thanks

Most codecs are motion aware. The problem you are most likely encountering is too many key frames. Every time a key frame is inserted, the encoder forgets everything and starts over. If you set your keyframe interval very high, (like 60 seconds) the bitrate will be progressively lower over time, until the next keyframe.


text:
FFmpeg run multiple filters in parallel from C API
I successfully applied a FFmpeg filter from C API (my previous question here). I see the filters are running sequentially. Now the question is, how can I run multiple filters in parallel? If run sequentially, that causes so much delays.
I'm using ffmpeg as the base for stream processing. As we receive the streams, I need to apply 2 filters and produce metadata in parallel. Of course, with minimum delay issues.

Filters cant really run in parallel because they can modify frames, and you can’t modify a frame in two threads at the same time. You can make a copy of the frame and run two filter graphs.

Yes. Of course. But the filters I am targeting should only read frames (for detection. Like freezedetect, silencedetect, and blackdetect).

Btw, when calling a filter, it gets a buffersrc along with the frame. Each filter should have its own buffer, right?


text:
Why is new material dark in Cinema 4D?
I am new to 3D software and have just started with Cinema 4d. This is a very noobish question but when I create any new material in a project it always shows up pitch dark with very little mirror reflection.
I have even downloaded ready made package example from here
https://www.fattututorials.com/cinema-4d-ultra-realistic-silver-material-tutorial/
and doesn't show in my software like the example on youtube. It's much darker and the render is pitch black.


text:
Trying to sync multiple ip cameras in ffmpeg, having trouble finding the timestamps of each frames being sent
I am quite new to ffmpeg. I am wondering if it is possible to get the timestamps of a live video stream from ffmpeg. I read that as the first packet in RTP protocol is sent, it contains the NTP timestamp and the local timestamp of the system. Is there anyway to get this information from ffmpeg, I am using wireshark but I'd like to know if it is possible without wireshark.
Thanks.


text:
How do I fade in and out in FFmpeg?
I understand there is a module built in FFmpeg which allows you to fade your clips in and out, however, no one really explains how to use the module with your own input. How do I simply fade both the audio and video in and out without re-encoding? (If that's possible)

Fading in is no problem, because you start from the timestamp 0 (or from the other known timestamp or frame number), e.g. use:
ffmpeg -i input.mp4 -vf fade=in:0:d=5 -af afade=in:0:d=5 output.mp4

for 5-second fading in from the start of your clip.
Ignore the error

Only '-vf fade=in:0:d=5' read, ignoring remaining -vf options: Use ',' to separate filters

— see the answer of the question FFmpeg read, ignoring remaining -vf options: Use ',' to separate filters.

To fade out, you have to provide either

the start position (the default parameter), i.e.

the start frame (s=) for video, or
the start sample (ss=) for audio,

or

the start time (st=) (this is the same parameter name for both audio and video)

of the fade out.
Let's use the second option — the start time of fading out.
First, figure out the total duration of video or audio (you may find it with FFprobe), then subtract the desired fade-out length from the length of the video.
For example, if you have a 10-minute video (= 600 seconds) and desire a 5-second fade out, you obtain 600 - 5 = 595.
Add filters for fading out to the previous command:
ffmpeg -i input.mp4 -vf fade=in:0:d=5,fade=out:st=595:d=5 -af afade=in:0:d=5,afade=out:st=595:d=5 output.mp4

Notes:

Filtering always require re-encoding.

As in and 0 are defaults, you may shorten the command to
 ffmpeg -i input.mp4 -vf fade=d=5,fade=out:st=595:d=5 -af afade=d=5,afade=out:st=595:d=5 output.mp4

As the topic asks for ffmpeg in general, an additional info to the answer of MarianD if you have only audio; there are no frames, so you have to use the start time option and for that you have to use key/value pairs (at least for fading out):
ffmpeg -i input.m4a -af afade=in:st=0:d=5,afade=out:st=595:d=5 output.m4a

I by mistake rejected your edit of my answer, in spite that your proposal was correct. Please excuse me and repeat your edit (there is no way for me how to approve it if I already rejected it). Then I may approve it.

@MarianD, sorry, I remember it was only a small formatting change, but I don't remember it ... and I don't see it in the history ...

It was almost at the end, in the Note 2: afade=out=595:5. You corrected the second = into :.

Re-encoding is required in these cases because filters are being used.
Fading in video (optionally from a start time other than 0 seconds; in this example, 10 seconds) requires specifying the start time - if you want to start somewhere other than the very beginning of the input - as well as the fade duration in the filters:
ffmpeg -ss 00:00:10.0 -i input.mp4 -vf "fade=type=in:start_time=0:duration=5" -af "afade=type=in:start_time=0:duration=5" fadein.mp4

Fading out video (unless you actually want to fade out at the existing end of the video) requires both applying the audio/video fade filters at the right time, and trimming the video, or the end result will fade out but remain at the original length.  Let's say you want to fade out starting at 20 seconds, for a duration of 5 seconds.  The video will end up being 25 seconds, so it needs trimming to that, as well as the filters being applied:
ffmpeg -t 00:00:25 -i input.mp4 -vf "fade=type=out:start_time=20:duration=5" -af "afade=type=out:start_time=20:duration=5" fadeout.mp4


text:
SDR to HDR (High Dynamic Range) Converter?
I've heard that it's possible to convert SDR videos to HDR and get reasonable results.  Obviously, this isn't as good as having source HDR content, but I'm really curious and would like to try this for myself.  I have lots of 10 bpc 422 SDR video, and I'm wondering if there's any software out there that could automatically convert it into an HDR format that gives good results.  Is there such software?
For example, I've attempted to use Premiere Pro CC 2019 (using the High10 profile with Dynamic Range checked) to do convert input SDR video to HDR, but the colors in the output HDR video all end up extremely dark looking (an undesirable result).  I'm just wondering if there's software that can give me much better results with little effort on my part.

I'd suspect anything purely automated is going to be pretty marginal.  There's a lot of complexity to getting a good curve with the right gamma, but there's a variety of possible levels of what would be considered "good results".  Personally, I'd rather try getting a good mapping manually with something like Resolve and then trying to see what scenes I could copy the curve to.  I'd suspect that minimal effort and reasonable competence would result in a better quality end result than most automated tools.  That's true for most Auto Tone, Auto Level and Auto Curve tools for standard dynamic range, so I'm not sure why it would be different for HDR.


text:
Export settings for audiobooks
Suppose I'm making an audiobook with a simple JPG image as the only visual content and a single MP3 track as the only audio. What settings can I use to ensure that:
A) The picture is still sharp, ie, the image remains at full resolution.
B) The audio is undistorted, native resolution (VBR 320).
C) The video is as small as possible.
I'm aware that I can use multiple encoding passes to decrease filesize, but how can I tweak frame rate, video resolution, etc to simply show this 490KB image with the ~550MB of audio at the smallest total file size for streaming?
I'm working in Windows with Adobe Premiere, but open to other suggestions.
Thanks!


text:
Transfer videos from Sony HC9 tapes to Windows 10 laptop
I have an old Sony HC-9. I used to use the iLink cable to output the video to my Sony Laptop (Vegas Pro). I no longer have a Sony laptop or Vegas Pro, but now have a Dell Precision 5530, which does not have an iLink port at all, or any Firewire port that I can see (not even on the docking station).
How can I transfer my old tapes on my HC9 to the Dell? Do I need an adapter, maybe iLink to USB? The Sony HC-9 camera has an HDMI output, can I transfer my videos via HDMI? Or is the iLink firewire necessary for video transfer? If an adapter is needed, what is a good adapter to use? Help!

iLink will give you a lossless digital transfer of the source material, if maintaining perfect quality is important, I would go with that connection. DON'T attempt an iLink/1394 to USB adaptor, if you do some research, those adaptors just don't work. You'd need to buy an interface card for your laptop to go this way, depending on whether your laptop has an ExpressCard or PCMCIA slot, there are interface cards available.
Otherwise search "HDMI to USB" on google, there are plenty of devices to connect that way as well. Downloading the video this way will re-encode it on the laptop side, so it might degrade the quality a little (although in most cases not noticeably), and might be a little more CPU intensive on the laptop, so just be aware of that.


text:
How to sync Markers Comments between root Control Null & nested-in-comp-Null / Layer
Hello Fellow VFX / Motion Designers,
I have spent a large amount of time going in circles trying to self-solve this one but time on the project is running low on time so I must ask the elder hive-mind for advice / assistance.
I have a finalized marker-based-animation master composition that I need to template and build out.
The issue I am facing is that I cannot sync the 'root' Null layer's comments to the comments of their companion-nested-control Nulls.
There is 3 markers in total for each Nested Null - I only need to change the value of the middle / second ones
Structure Example:
 # Master Comp Layers

  - [NULL] Outer Control A.1 > {Source for Null A.2}
   - Animation In Marker - Comment: "My Content"

  - [COMP] # Nested Animation A > [Hidden/Shiied for organization sake]
    - [NULL] Inner Control A.2 > {Target for Null A.1}
      - Timeline In Marker - Comment: [Blank]
      - Animation In Marker - Comment: "My Content"
      - Animation Out Marker - Comment: [Blank] or " "

I have tried a few of the free marker plugin's and available expressions to no avail - I think I'm missing something obvious here. They will copy and paste ad-hoc - but I need to setup a long-term link / sync here.
Is there a way to clone a layer's marker's via script? Or is there a plugin that can set this up for me?
Full disclosure: Of course - I do have to keep project overhead fairly low so I'd prefer a native / free-plugin way to do this.

So you want to copy the comments from the outer null to the second inner null?

Ideally - just not manually more then once and not every time I update. I have many nested compositions here and I'd prefer not to drill down through them all every single time to edit the source marker.
Edit: I've seen applications where marker comments dictate what marker is used from a sub-comp.
Given marker comments are open for expression I was hoping there was a script or otherwise expression that I could apply that would automatically feed the comment text from my outer null to the inner nested null.
Edit 2: I'm sorry for formatting - I can't line break in the comment


text:
Intermediate Codec for Resolve to Adobe Mediaencoder or Premiere Pro
I am editing in Resolve, sometimes I am also just Color Grading in Resolve, so I need an intermediate Codec between Resolve and Adobe Media Encoder or Premiere Pro.
The size doesn't matter as much, as I can delete the intermediates afterwards, what is important is to keep the quality of the video on a high standard.
I shoot in DCI4k and FHD in 12bit (per channel).
I found that Cineform is recommended often, but is it wise to use Cineform as an intermediate when I don't export to an Apple Format afterwards?

Cineform is fine, as is DNxHR and ProRes. There are advantages and disadvantages of each, but the final container format that you export to doesn't really affect that choice. When you edit the intermediate it is decoded into a raster that has whatever resolution and depth your editing software uses internally, but we can assume that it will be higher quality than the intermediate or final codec. Then that raster gets recompressed to the final export codec.
It is possible that there are interactions between using one codec for intermediate and one for final export but they are going to be subtle, and assuming the quality of the codecs are roughly the same, whether it's better to use the same codec in and out or mix it up, is anyone's guess.
Another option is to change your workflow. There's a reason why colour grading was usually done last. Here's a suggested workflow:

Make a "one-light" grade of your raw footage—where you correct any obvious problems such as white balance and exposure, and apply any necessary LUTs if your camera uses a profile that needs correction.  It's called "one light" because you don't grade every shot, you just set a ballpark grade for each scene and apply it to everything. This shouldn't take too much of your time, you just want the footage to be usable for your edit.
Now you export the output to Premiere, using an intermediate codec and importantly exporting as individual clips with the same file name as the original (but in a different location, obviously). This intermediate doesn't have to be at the highest settings, e.g. you can use 8-bit instead of 10 or 12 bit. This speeds up the edit process, because the files will be smaller, so it will be more responsive, with less rendering time etc.
Next do your cutting, lock off your pictures and export the timeline as XML. You can move or delete your intermediate files now, so that when you go back to resolve to do the grade you link back to your camera originals, at full quality. Now you do the proper grade, where you create the look you want, balance between shots, do any secondary grading, etc.. This way you get the best possible quality, without spending time grading footage that you end up not using in the edit.

Thanks, this is my current workflow. But it does not incorperate VFX. You can't export VFX as XML. They need to be rendered and imported


text:
Make ffmpeg read subtitles as stream
I have a stream (rtmp) and I would like to generate some subtitles for it(based on what's happened on stream). I can generate it like a pipe, or some other way. I use script like this:
for i in $(seq -f "%02g" 0 20); do echo "
00:00:$i,000 --> 00:00:$i,999
caption $i
"; sleep 1; done | ffmpeg -nostdin \
-i "rtmp://domain.com/streamName live=1" \
-f srt -re -i - \
-c copy \
-c:s text \
-flush_packets 1 -f flv rtmp://output

the first part of a script is create a pipe with actually subs, pipe it to ffmpeg, and ffmpeg should merge subs with the stream.
The point is that ffmpeg starts generating output only after the pipe is closed, and subtitles generation is ended.
Is it possible to force ffmpeg start generation of output as soon as first lines in pipe appears?

Works here when I pipe an existing SRT file.

@Gyan because existing SRT could be read to the end, while I actually need to generate it on the fly

With -re flag, ffmpeg reads the input in real time - it delays reading the next packet until time elapsed is equal to media timestamp

@Gyan without -re it still wait until srt EOF before output starts. The difference is that with -re output is thrown like a realtime stream, while without it - all at once,

Did you ever figure this out? Need to do this as well


text:
Is it possible to download m3u8 as separate files using ffmpeg?
I know it is possible to download playlist and concatenate it on the fly with something like this:
ffmpeg.exe -protocol_whitelist "file,http,https,tls,tcp" -i input.m3u8 -codec copy output.mp4

But I need to get all playlist files separated. Is there a ffmpeg option for that?

Not possible...

Is it ok to separate them after downloading as a single file?

Maybe I misunderstood the question.

Do you want to download each segment in the playlist as an mp4?

if you know the length of time of the segments, you could do**
ffmpeg -i  'https://example.com/hls/index.m3u8 \
-f segment -segment_time 10  -c copy  -y out%03d.mp4

just match the segment time.


text:
Can anyone help me identify the manufacturer of this video equipment?
We've got these rack mounted video transmission units in a server/equipment room, and they're labeled "The Fox dBm Digital Broadband Multiplexer", but I cannot find a single relevant Google result for this product.
As far as I can tell, they convert analog video to some digital format for transmission over fiber optic lines, then back to analog at the receiving end.  They were installed c. 2001.
Any information would be helpful, because we've got a few cameras that are having degraded quality and we need to start troubleshooting.
Here's what they look like:

Seems to be made by ABB. https://new.abb.com/search/results#query=fox%20digital%20multiplexer

Ah, @stib beat me to it.  https://new.abb.com/network-management/communication-networks/optical-networks

Duckduckgo FTW!


text:
How do I prevent Wirecast from crashing?
I'm attempt to livestream from a 2016 MacBook Pro, but for some reason Wirecast (12.2.1) crashes. It doesn't matter what I'm doing, it only stays open for a couple of minutes, then it just completely closes.

Don't use wirecast in the first place. I've always had trouble. I like vmix.

@DigiVisionMedia it’s for macOS?

I'm sorry, I thought vmix had a mac version.

Can you use https://obsproject.com/ instead? It does a lot of what Wirecast does

This question is really a wirecast support forum question.

If you have an external monitor, try unplugging it and loading up Wirecast.  Some people have reported too much video resources being in use cause problems.

I didn’t, though it may have something to do with discrete graphics being enabled as well


text:
What determines the chosen bitrate with ffmpeg constrained encoding example?
Looking at https://trac.ffmpeg.org/wiki/Encode/H.264:
I see this example as being the recommended method to target a bit rate for files meant for streaming
ffmpeg -i input -c:v libx264 -b:v 1M -maxrate 1M -bufsize 2M -pass 1 -f mp4 /dev/null
ffmpeg -i input -c:v libx264 -b:v 1M -maxrate 1M -bufsize 2M -pass 2 output.mp4

I encoded a file using a slightly variation here:
ffmpeg -i *mkv -c:v libx264 -b:v 2.5M -maxrate 2.5M -bufsize 5M -profile:v high -level 4.2 -pass 1 -an -f mp4 /dev/null -y \
ffmpeg -i *mkv -c:v libx264 -b:v 2.5M -maxrate 2.5M -bufsize 5M -profile:v high -level 4.2 -an -movflags +faststart -pass 2 output.mp4

I see that sometimes it's uses a bitrate of 1.800 kbits/s but where does it get that?
Is it using some kind of default CRF value or what?
Does setting a -preset slow would increase the quality further?

think of it this way, your driving a car, and you have a target speed of 25, and a max speed limit of 25. Then you stop at a red light for 30 seconds and your average speed drops to 20. It is now impossible to reach an average of 25 again without going over the max. you would need to drive at the max speed an infinite amount of time to get the average back to 25.
When encoding the video, the encoder reached a frame that took less bits to encode than average (low spacial or temporal information.  For example two identical frames), so bitrate temporarily dipped, and now it can never reach max.
What you need is a way to say, if we drop below average, we are able to go over max for a small period of time to bring the average back up. This is called “vbv” and you should use that if you want to target a bitrate.

But how does it calculate a value for the bitrate? How can the encoder find that a frame needs less bit to encode than average, unless comparing it to a CRF value?

It doesn’t know. It guesses. The process called “rate control” is not part of the specification, and every implementation is free to develop its own algorithm. But the gist, is that given a “bit reservoir” it guess how much will be needed for the next frame/macroblock. It then encodeds it, then checks if it was rite or wrong, than adjusts it guess for the next frame/macroblock.

I'm using ffmpeg libx264 btw. Does using a -preset slow achieves higher quality? And how is encoding like this better than a single pass cbr at say 2.5 Mbps?

If you have more questions. Please make a new post.

ok I have another question related to this one. What if I don't set a average value? What if I don't care about the average values as long it's under X maximum?

One question per post please.


text:
Good codec for embedded system video decoding
I need to get streaming video working where a source streams video to an embedded platform. This embedded system has an ARM-Cortex-A9 without a GPU or a hardware video decoder.
Unfortunately I don't have control over this platform so I will have to make do with what I have. I need to be able to decode live video with a maximum size of 640x480. I really have no clue what codec is best suited for this job. Bandwidth is less of an issue since it will run on the same network with a cable.
Does anyone have a recommendation of a codec that would be suitable in this situation?

Probably mjpeg.

You should be able to get away with h.264 at that resolution, especially if you use main or baseline profile. But testing it is probably the only way to be sure.

While I haven't implemented this myself I would suspect Google's VP9 (or VP10) to be a good option.
Considering Android phones use an ARM CPU, the codecs and libraries supporting it should be highly optimized as they've been around for almost 10 years, and Google has a reason to continue improving it.  Plus it's royalty free both to play and to encode.
See VP9 on Wikipedia.


text:
What is the proper notation for a frame rate that is less than 1FPS?
For example should 1 frame per minute be 1FPM or should it be expressed as FPS using a decimal.

Frame per minute is totally fine. Frame per hour, frame per day. But I am not sure you can keep going using an acronym indefinitely.
But when talking about timelapse, you normally do not talk about FP(add letter here) but intervals. So the term is actually different than FPS.
The Interval is 1 second, 30 s or whatever.
When reproducing a "video" with this frame rate, I would not think of it as actual video, but more like a slideshow, so again the concept is a bit different.
20 slides per minute, or a slide every 3 seconds.
This is a nice question actually.


text:
After Effects is not changing the preview quality!
I have the preview resolution set to quarter, frame skip set to 5 and yet After Effects is previewing at full resolution constantly. I have tried changing the settings through the sidebar and the bar under the preview.
I have purged the RAM, cache, etc. several times and even re-opening the program does not help.
The preview is indeed set to 'Adaptive resolution'. This is making the preview playback impossible since my footage is 4K.

Quarter of 4K is still 1080. Depending on your rig it still might chug thru playback. I would look into proxies as they are pretty quick to set up and would drastically improve workability.

I'll second looking into setting up a proxy workflow.
https://www.youtube.com/watch?v=vX18PMX-nS4    (AE)
https://www.youtube.com/watch?v=6w7RIdACweQ   (Premiere)

Good point but this was not the case. Even 1080p footage was still being shown at full 1080 instead of being scaled downwards.


text:
Convert Vertically Stacked video to horizontally stacked via FFMpeg
Based on the answer to this question, how would the command line
ffmpeg -i input.mp4 \
-filter_complex "[0:v]crop=in_w/2:in_h:0:0 [top]; \
[0:v]crop=in_w/2:in_h:in_w/2:0[bottom]; \
[top][bottom]vstack[outv]" \
-map "[outv]" -map 0:a -c:a copy output_3dv.mp4

be changed to do the opposite, split two stacked images (3240x2160) to one 6840x1080 video?

You would crop the full width and half-height. Then use hstack to join them.
ffmpeg -i input.mp4 \
-filter_complex "[0:v]crop=iw:ih/2:0:0 [left]; \
[0:v]crop=iw:ih/2:0:ih/2[right]; \
[left][right]hstack[outv]" \
-map "[outv]" -map 0:a -c:a copy output_3dv.mp4

I get this error:
[AVFilterGraph @ 0x7fa2a2402b00] No such filter: ' '
Error initializing complex filters.
Invalid argument
I assume there is a syntax error in there somewhere?

There was a trailing space in your original command (2nd line) which got copied over - removed it.


text:
What is a cost effective app to resize, crop & save a MOV file to a reduced size?
I am planning to buy an HD animation which is over 500Meg in size.
I need to resize, crop and reduce the file size to about 10Meg.
I prefer not to deal with Adobe Media Encoder or something like ffmpeg.
Is there something out there from under $20 that will do the job?

Import the animation in an NLE (such as DaVinci Resolve, which is free and powerful) and export the cropped animation from it by running compression and export tests until you get a file that has the size and quality you're looking for. No need to use MediaEncoder or FFMPEG.


text:
Remove background from counters in Kdenlive
I am using Kdenlive 17.12.3 on Ubuntu 18.04 LTS 64 Bit PC.
I generated a counter via "Project" -> "Generators" -> "Counter". I checked "No background" checkbox. However, it feels that it has added a gray background. Please see below a few screenshots of the video-
Image 1:

Image 2:

Image 3:

I want to remove the gray color background from the counter. Any suggestions, please?

Similar to how we would remove green screen, Browse for Chroma Key: Advanced (Color Selection) effect, select the color to be #dddddd
Video guide


text:
Optimizing short Videos (~10 sec.) in Size for embedding in website & app
I need to embed short (~10 sec.) videos on my website. I currently use .mp4 files, each one is around 10 MB  large.
Is there a way I can reduce the size of these videos? Whats the best format to use? Might gifs be a better option? What resolutions do you recommend for desktop and mobile devices? Does the video editor I use make a difference in file size after rendering?

The best thing for such a use case is creating diffrent files which get loaded in different scenarios.
Current recommendation is to use webm for web content, this container is not supported with all Browsers tho, so also include a .mp4 to switch too.
GIFs can be compressed quite nicely, but you need to keep in mind that GIFs are quite strict about colors.
You can go quite far by compressing with FFMPEG

GIFS are massive compared to h.264, basically because GIF was developed in the olden days (1987), and h.264 was developed in the… well in the less olden days (2003). Here's a 72kb h.264 file
https://adobe.ly/32QFBSL
And here's the same thing converted to a GIF. Total file size 1,212kb, or roughly 16 times the size, and the quality leaves a lot to be desired.

h.264 is a codec that was designed for the purpose of delivering high visual quality with small file sizes. It is almost universally readable by any remotely modern browser, and is free to use for most users. The only thing going for GIFs is that they are classified as an image format, so platforms like stackexchange will allow you to embed them, whereas they don't let you embed video. Go figure.
The only alternatives that I could suggest are webm  which is open source but slightly less ubiquitous, and h.265 which works even better, but again is less universally playable.

Thanks for the information! I have a .mp4 file that is around a minute long and  around 10 MB large. I'm have used a free video editing software to cut out a 12 sec. long clip and rendered it in h.264 codec once in .mp4 with a file that is now 22 MB large and a webM file that is now 33 MB large. That can't be right, or? Is that a problem with the software I used? Can you recommend a software for this use case?


text:
Efficiently compressing a looping video with h264
I have a video that is initially 19 frames long and lasts for about 0.5 seconds, it's 432kB.
I've looped it over three minutes and the resulting file is quite large (200MB).
Using FFMPEG is there a parameter of libx264 I can change to efficiently compress these 19 frames being looped rather than it being 3 minutes of unique frames?
So far I've tried increasing the keyframe interval to 1000 but it didn't help too much.
ffmpeg -i input.mp4 -c:v libx264 -g 1000 output.mp4

The encoder analyzes input one frame at a time, also taking into account its close neighbours. It doesn't see the looping at the macro level.


text:
Increment a number, based on number of keyframes in After Effects?
I'm working on a video comparing old and new games, and I'm scrubbing through some footage frame by frame trying to count button inputs in DOOM over a period of time. I was wondering if there was a way to increment a number based on the amount of keyframes present. So ideally it would automatically go up by one for each keyframe placed on the timeline, without having to manually increase the value on a per keyframe basis. Is there an easy way to go about this or will I have to manually set the value per keyframe?
I've never really used expressions before so this is new territory for me, and I don't know where to start.
Thank you.

Yep, just do
var p = <pick whip the property with the keyframes here>;
var k = p.nearestKey(time);
if (k.time <= time){
    k.index; //key is in the past
} else {
    k.index-1; //nearest key is in the future, return the previous key
}

On the first line you have to reference the property with the keyframes. The easiest way is with the pick whip (the curly thing in the expressions buttons). Drag it to the property you want to reference.

So the first line should look something like this:
var p = thisComp.layer("Pale Gray-Magenta Solid 2").effect("Slider Control")("Slider");

or
var p = transform.position;

Don't forget the semi-colon at the end.


text:
Does Adobe media encoder work if you have the cracked version of Adobe After Effects?
My friend has the cracked version, but for some reason, he cannot link his media encoder to his after effects software. How can he fix this issue?

I'm voting to close this question as off-topic because it's about improper use of software

Tell your friend that good software costs money. And is made by developers who need to put food on the table.


text:
Can I make my Macbook go to sleep immediately after all Final Cut Pro background tasks finish?
I've been doing some stabilization processing in Final Cut Pro, and it of course takes a long time. I'm wondering if there's a way to make my computer go to sleep after these tasks finish so the computer isn't on for hours after it finishes (if I leave my computer alone for a few hours).
Or is there another trick people do to make this work?

I usually run a shell script that checks the CPU usage, and sleeps the computer if it falls below a certain threshold for long enough. It's been ages since I've used macs though, and my bash skills are fading, so I can't supply a pre-made script for you.

@stib That is a great idea! When I have some time I'll look into creating a script like that. If anyone has any resources/documentation on how to check the CPU usage in bash/ruby let me know...


text:
Recording webcam video - ffmpeg - error
I am setting up a Raspberry Pi with a USB webcam to use as a dashcam. The code is as follows:
#!/usr/bin/env python

import subprocess
import datetime
import os

ROOT_PATH = os.getenv("ROOT_PATH", "/home/pi")
RECORDINGS_PATH = os.getenv("RECORDINGS_PATH", "recordings")
DATE_FMT = "%Y_%m_%d_%H_%M_%S"
SEGMENT_TIME = 30
ENCODING = os.getenv("ENCODING", "copy")

os.mkdir(RECORDINGS_PATH)

new_dir = datetime.datetime.now().strftime(DATE_FMT)
recording_path = os.path.join(ROOT_PATH, RECORDINGS_PATH, new_dir)
os.mkdir(recording_path)

segments_path = os.path.join(recording_path, "%03d.avi")

command = "ffmpeg -i /dev/video0 -c:v {} -an -sn -dn -segment_time {} -f segment {}".format(ENCODING, SEGMENT_TIME, segments_path)

subprocess.call(command, shell=True)

From: https://era86.github.io/2018/04/10/pi-zero-w-usb-dashcam.html
It works fine for about 2 minutes and then ffmpeg crashes with the following error:

Any ideas why?

You're saving to AVI which doesn't truly support variable frame rates so ffmpeg writes empty packets to emulate it. Apparently, the time base chosen is very fine and so ffmpeg has to write many skip packets (can't confirm since there's no log).
For segments, you should save to .ts or .mp4 or .mkv


text:
How to change frame rate of MJPEG segments with/without re-encoding?
I'm trying to record segments using a webcam and save these segments with a lower fps. I've tried this command, but it keeps giving me an error:
ffmpeg -f v4l2 -input_format mjpeg -video_size 800x600 -i /dev/video0 -c:v copy -c:a copy -f segment -segment_time 10 -reset_timestamps 1 -r 10 -strict -2 test_%04d.avi

The errors I get is:
[segment @ 0x15bf0e0] Non-monotonous DTS in output stream 0:0; previous: 86, current: 73; changing to 87. This may result in incorrect timestamps in the output file.
[segment @ 0x15bf0e0] Non-monotonous DTS in output stream 0:0; previous: 87, current: 74; changing to 88. This may result in incorrect timestamps in the output file.
[segment @ 0x15bf0e0] Non-monotonous DTS in output stream 0:0; previous: 88, current: 75; changing to 89. This may result in incorrect timestamps in the output file.

Anyone know how to do it right?

It's a warning, not an error (if it would be an error, FFmpeg would abort).
“Non-monotonous DTS” means that the DTS (Display Time Stamp) of some frame is less than the DTS of the previous frame.
This situation may cause many problems (with playback, seeking, etc.), so
FFmpeg fixes timestamps by rewriting some of them.
Here are your 3 warning messages:

[...] Non-monotonous DTS ... ; previous: 86, current: 73; changing to 87. This may ...
[...] Non-monotonous DTS ... ; previous: 87, current: 74; changing to 88. This may ...
[...] Non-monotonous DTS ... ; previous: 88, current: 75; changing to 89. This may ...

in a graphical form:


text:
How to copy IN, OUT, DURATION of each layer from Comp1 to each layer of Comp2
I want to copy IN, OUT, DURATION of each layer from Comp1 to each layer of Comp2. Are there anyway to do that? or script?

var com1 = app.project.item(61); //1. Music var com2 = app.project.item(62); //2. Track Name for(var i = 1; i <= com1.layers.length; i++) {     com2.layers[i].inPoint = com1.layers[i].inPoint;     com2.layers[i].outPoint = com1.layers[i].outPoint; }

Good answer, but please put that as an answer rather than a comment. You might want to briefly explain how to run a script too.


text:
How to concat multiple *.ts files which have audio streams shorter than video streams
I'm trying to concat hundreds of short *.ts pieces into a single mp4 video.
I've tried the following command:
ffmpeg -f concat -safe 0 -i list.txt -c copy output.mp4

And at first glance it looks fine: the output video works fine in MPC, VLC and Google Chrome. But I noticed that all these programs play the video at an increased speed: the seek time increases a little bit faster than the real time.
when I upload the output file to a video-hosting after it's processing the audio became intermittent. I've tried different hostings with same results.
I believe that the problem is in different duration of audio and video streams in all ts files.
video: duration=2.000333
audio: duration=1.880800
How to correctly concat files like these?
The full result of the ffprobe for a single file is down bellow.
PS I:\log> ffprobe.exe -show_streams .\ts\01583--1329536.ts
ffprobe version N-94664-g0821bc4eee Copyright (c) 2007-2019 the FFmpeg developers
  built with gcc 9.1.1 (GCC) 20190807
  configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libdav1d --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-libvidstab --enable-libvorbis --enable-libvo-amrwbenc --enable-libmysofa --enable-libspeex --enable-libxvid --enable-libaom --enable-libmfx --enable-amf --enable-ffnvcodec --enable-cuvid --enable-d3d11va --enable-nvenc --enable-nvdec --enable-dxva2 --enable-avisynth --enable-libopenmpt
  libavutil      56. 33.100 / 56. 33.100
  libavcodec     58. 55.101 / 58. 55.101
  libavformat    58. 31.104 / 58. 31.104
  libavdevice    58.  9.100 / 58.  9.100
  libavfilter     7. 58.101 /  7. 58.101
  libswscale      5.  6.100 /  5.  6.100
  libswresample   3.  6.100 /  3.  6.100
  libpostproc    55.  6.100 / 55.  6.100
Input #0, mpegts, from '.\ts\01583--1329536.ts':
  Duration: 00:00:02.11, start: 90.650444, bitrate: 5029 kb/s
  Program 1
    Stream #0:0[0x100]: Video: h264 (Main) ([27][0][0][0] / 0x001B), yuv420p(progressive), 1920x1080, 30 fps, 30 tbr, 90k tbn, 60 tbc
    Stream #0:1[0x101]: Audio: aac (LC) ([15][0][0][0] / 0x000F), 44100 Hz, stereo, fltp, 169 kb/s
[STREAM]
index=0
codec_name=h264
codec_long_name=H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10
profile=Main
codec_type=video
codec_time_base=1/60
codec_tag_string=[27][0][0][0]
codec_tag=0x001b
width=1920
height=1080
coded_width=1920
coded_height=1088
has_b_frames=2
sample_aspect_ratio=N/A
display_aspect_ratio=N/A
pix_fmt=yuv420p
level=40
color_range=unknown
color_space=unknown
color_transfer=unknown
color_primaries=unknown
chroma_location=left
field_order=progressive
timecode=N/A
refs=1
is_avc=false
nal_length_size=0
id=0x100
r_frame_rate=30/1
avg_frame_rate=30/1
time_base=1/90000
start_pts=8168850
start_time=90.765000
duration_ts=180030
duration=2.000333
bit_rate=N/A
max_bit_rate=N/A
bits_per_raw_sample=8
nb_frames=N/A
nb_read_frames=N/A
nb_read_packets=N/A
DISPOSITION:default=0
DISPOSITION:dub=0
DISPOSITION:original=0
DISPOSITION:comment=0
DISPOSITION:lyrics=0
DISPOSITION:karaoke=0
DISPOSITION:forced=0
DISPOSITION:hearing_impaired=0
DISPOSITION:visual_impaired=0
DISPOSITION:clean_effects=0
DISPOSITION:attached_pic=0
DISPOSITION:timed_thumbnails=0
[/STREAM]
[STREAM]
index=1
codec_name=aac
codec_long_name=AAC (Advanced Audio Coding)
profile=LC
codec_type=audio
codec_time_base=1/44100
codec_tag_string=[15][0][0][0]
codec_tag=0x000f
sample_fmt=fltp
sample_rate=44100
channels=2
channel_layout=stereo
bits_per_sample=0
id=0x101
r_frame_rate=0/0
avg_frame_rate=0/0
time_base=1/90000
start_pts=8158540
start_time=90.650444
duration_ts=169272
duration=1.880800
bit_rate=169509
max_bit_rate=N/A
bits_per_raw_sample=N/A
nb_frames=N/A
nb_read_frames=N/A
nb_read_packets=N/A
DISPOSITION:default=0
DISPOSITION:dub=0
DISPOSITION:original=0
DISPOSITION:comment=0
DISPOSITION:lyrics=0
DISPOSITION:karaoke=0
DISPOSITION:forced=0
DISPOSITION:hearing_impaired=0
DISPOSITION:visual_impaired=0
DISPOSITION:clean_effects=0
DISPOSITION:attached_pic=0
DISPOSITION:timed_thumbnails=0
[/STREAM]

Is this a segment from an HLS stream? If so, dont use ffmpeg to concat, use cat

I'm absolutely noob in this but I think it is HLS. I've used copy (windows analog of cat) and it workes! I've tried it before with no success so... thanks for motivation to try again :)

I" think it is HLS" You should really find out. Where are you getting the files/filenames?


text:
Is QTGMC still the best deinterlacer?
From reading various video forums, QTGMC seems to have a reputation as being one of the best tools for deinterlacing video (at least from an open-source perspective), with Yadif in second place.

Is QTGMC still as highly regarded in 2019?
Are there other tools (open source or otherwise) that come close or even exceed the quality from QTGMC?
Has anyone done an in-depth quality comparison?

Would also love to know.


text:
How to add a text graphic to a sequence using ExtendScript in Adobe Premier Pro?
Inside Adobe Premiere, you can use the "Type Tool" to insert a text graphic onto a sequence. Is it possible to do the same action from an ExtendScript (.jsx)?

The answer is yes, the problem is that for some reason Adobe have never released any documentation for extendscript in Premiere. Go figure.


text:
Video seeking doesn't work for files recorded from a camera using ffmpeg
I'm using the following command to record videos from a camera:
ffmpeg -framerate 30 -video_size 1280x720 -t 00:58:00 -i /dev/video0 /home/myuser/my_video.mp4

The problem is that the resulting video plays normally but does not allow seeking (i.e. I can't rewind or fast forward). The video progress indicator appears at the end, the timestamp is off and if you try to move it, it just restarts the entire video.
How can I solve this?
Additional information:

If I do ffmpeg -i my_video.mp4 -acodec copy -vcodec copy my_video_fixed.mp4 the resulting video is fixed.
If I grab from screen using X11grab, this problem does not show up.
I'm using Linux.

Share full log.

Where do I find the logs? This was running as a cron task.

Where did you tell it to direct the stderr output in the cronjob? If you don't know then show your cronjob.


text:
How to extract each video scene with FFmpeg
I'm trying to detect scenes and save them as individual files with FFmpeg. I found this long command somewhere, but it fails with a good detection. I change the scenecut value, but I don't see any effects.
ffmpeg -y -i test.mp4 -max_muxing_queue_size 1024 -vf yadif -preset:v fast -x264opts scenecut=20 -f segment -segment_format mp4 -segment_format_options movflags=faststart %05d.mp4

Is there a better command than this? There should be a shorter, more efficient command I guess.

Using the encoder's scenecut to detect scenes is not advisable, since its purpose is efficient GOP splitting taking into account other encoding parameters. It is not a "pure" scene detector. Its propensity to mark a "scene change" increases as it gets closer to the the next forced keyframe target (set by keyint).
Consider using https://github.com/Breakthrough/PySceneDetect instead.

Yes I was using that library before. But much slower than ffmpeg. So was looking for a ffmpeg-based solution.

This script makes it simple, better results than other posts around town:
https://gist.github.com/achesco/4dc2ebf13378a0a61fc26c7fe01f539e

Splits file.mp4 file to scenes with change more than 0.5 and saves
output parts to /tmp/parts folder

split.sh -d 0.5 -o /tmp/parts -f file.mp4

Including the script here for reference (note the version below has some differences, primarily a bug fix):
# Splits video to separate scenes files
# Inspired by https://stackoverflow.com/a/38205105

#!/bin/bash

file=""
out="./"
diff=0.4
bitrate=""
trim=0
stripaudio=""

usage () {
  echo "Usage: $(basename $0) [[[-o folder] [-d ratio]] | [-h]] -f file.mp4"
  echo
  echo "Options:"
  echo "-f, --file          Input file"
  echo "-o, --out           Outpup files folder path, default"
  echo "                    to current folder"
  echo "-d, --diff          Number from 0 to 1, default to 0.4."
  echo "                    Scene change difference factor"
  echo "-b, --bitrate       Bitrate to encode parts"
  echo "-t, --trim          Trim last given seconds number, default 0"
  echo "-sa, --strip-audio  Strip audio"
  echo "-h, --help          Display this help message"
  echo
  echo "Example: split.sh -d 0.5 -o /tmp/parts -f file.mp4"
  echo "Splits file.mp4 file to scenes with change more than 0.5"
  echo "and saves output parts to /tmp/parts folder"
}

if [ "$1" = "" ]; then
  usage
fi

while [ "$1" != "" ]; do
  case $1 in
    -f | --file )
      shift
      file=$1
      ;;
    -d | --diff )
      shift
      diff=$1
      ;;
    -o | --out )
      shift
      out=$1
      ;;
    -b | --bitrate )
      shift
      bitrate="-b $1"
      ;;
    -t | --trim )
      shift
      trim=$1
      ;;
    -sa | --strip-audio )
      stripaudio="-an"
      ;;
    -h | --help )
      usage
      exit
      ;;
    * )
      usage
      exit 1
  esac
  shift
done

cut_part () {
  duration_flag=""
  if [ "$3" != "" ]; then
    duration_flag="-t"
  fi
  ffmpeg -loglevel error -hide_banner -ss $1 -i $file $duration_flag $3 \
    -vcodec libx264 -movflags faststart $bitrate $stripaudio \
    -y $out/`printf "%04d_%s" $2 $filename` < /dev/null
}

filename=`basename $file`
mkdir -p $out
timefrom=0
i=1
while read -r timestamp; do
  duration=`bc <<< "$timestamp-$timefrom-$trim" | awk '{printf "%f", $0}'`
  cut_part $timefrom $i $duration
  timefrom=$timestamp
  i=`expr $i + 1`
done < <(
  ffmpeg -i $file -filter:v "select='gt(scene,$diff)',showinfo" -f null - 2>&1 | \
    grep Parsed_showinfo | grep pts_time:[0-9.]* -o | grep "[0-9]*\.[0-9]*" -o
)

if [ $timefrom != 0 ]; then
  cut_part $timefrom $i
fi

Instead of all that parsing, you can use this command: ffprobe -show_entries frame=pts_time -of compact=nk=1:p=0 -f lavfi "movie=$file,select=gt(scene\,$diff)"


text:
Stop children from scaling by parent scale
So I have a composition with a single image that has this expression attached to its position:
[thisComp.width - 100, thisComp.height - 100]

All this expression does is makes my image to be located in the right bottom corner. That's it.
But when I try to use this composition in other composition, my children image is scaled together with the parent scale:

How do I make the image be located in right bottom corner, but do not scale with the parent?

try parenting the position values only, not the whole layer.  So pull the pick whip from the child's position values to the parent's position values.


text:
ffmpeg ProRes to MP4 Alters Colors Slightly
I cannot for the life of me figure out what is going wrong, but I have a ProRes MOV file with the following specifications:

And I want to convert it to a 4:2:0 MP4 video file.  Every time I attempt the following command:
ffmpeg -i "Abstract Blue and Orange Motion.mov" -pix_fmt yuv420p "111.mp4"
I end up with an video that is slightly different in color than the original (the color conversion wasn't performed properly by ffmpeg).  When I import the original MOV and the output MP4 into After Effects CC 2019, we can see the difference in the color quite easily.  Screenshots of several examples can be juxtaposed here (original on the right, output mp4 on the left):
https://cdn.knightlab.com/libs/juxtapose/latest/embed/index.html?uid=991a6f3e-e9dd-11e9-b9b8-0edaf8f81e27
https://cdn.knightlab.com/libs/juxtapose/latest/embed/index.html?uid=60019d2a-e9de-11e9-b9b8-0edaf8f81e27
I do not understand what I am doing wrong.  How do I convert this input MOV to an MP4 file without affecting the colors in ffmpeg?  For reference, I am using ffmpeg version N-94150-g231d0c819f Copyright (c) 2000-2019 the FFmpeg developers.
More version details can be found here: https://pastebin.com/raw/Mcm4HJAg.  Also, it should be noted that if I convert the mov file to mp4 in Adobe Media Encoder, the colors do not look washed out the way they do with ffmpeg.  So clearly I'm not using ffmpeg correctly, or this is a bug.

Can't see the images.

@Gyan, here is a screenshot comparing the two: https://i.imgur.com/AP5gMXd.jpg and another: https://i.imgur.com/gsgpaTZ.jpg.  Apparently the links in my question work in chrome but not firefox.  I'm not sure why.


text:
Possible to reconstruct video from mbtree file?
I have a large mbtree file and found out it was used for video transcoding. Is there any way to reconstruct the video from the mbtree file or is it just (useless) metadata?

It’s useless without the original media file.


text:
'Pin-art' effect in After effects
I'm looking for a way to create a 'Pin art toy' effect in after effects. Basically a load of extruded hexagons that can be pushed up and down by a shape behind them.
Would be great if this could be done with 3d shapes using the cinema 4d render, or if not, isometric style 2d would also work.
My thinking would be for each hexagon to look at the colour that is below it and map the z position so that white = 100% raised, black = 0% etc.
Thanks for any input

What exactly are you asking? Your approach sounds like it would work.


text:
Davinci Resolve: How to flip horizontal a short scene (visually flip every frame, without reversing play)
I have a video with a short scene that somehow got flipped horizontally. I need to flip the short clip (within the larger video) horizontally--not so that the short clip will play backwards, but so that every frame is flipped horizontally. Not rotated 180 (as that would make it up side down). The clip is flipped like a mirror. Hope that makes sense.

First, cut the longer clip into 3, to separate the reversed part from the rest of the clip. Then bring the clip into fusion, link the input to a transform node, then to the output. The transform node can flip horizontally on the right hand side panel options for it.
A shortcut to do this quicker is you can do it in the edit page also, by just selecting the clip and using the 'transform' attributes on the right hand side.