text:
FFMPEG greyedge filter randomly produces black frames
I needed to correct video illumination and found an awesome filter  called greyedge.
The problem is that when applying this filter to my videos it often produces black frames. So I've made a test to make it easy to explain my problem:

Take any png picture (I used one exported from my video - cut.png)
Run ffmpeg -y -i cut.png -vf greyedge=difford=1:minknorm=5:sigma=2 output.png. On a first run it will produce black pic, on a second run it may or may not produce proper pic. On a third run it will give me correct picture. If I wait for some time and run it again - it will again produce black pic.

Do you have any ideas why this might be happening? I'm suspecting some environment problem but maybe it's something known?
Thank you.
----- added logs ------
Hey guys, yeah I understand it would work on your machines. It worked for me too, but then suddenly stopped. Here's the log (tried with my cut.mp4 file which worked well just a week ago):
ffmpeg version 4.2.2 Copyright (c) 2000-2019 the FFmpeg developers
  built with Apple clang version 11.0.0 (clang-1100.0.33.16)
  configuration: --prefix=/usr/local/Cellar/ffmpeg/4.2.2 --enable-shared --enable-pthreads --enable-version3 --enable-avresample --cc=clang --host-cflags='-I/Library/Java/JavaVirtualMachines/adoptopenjdk-13.0.1.jdk/Contents/Home/include -I/Library/Java/JavaVirtualMachines/adoptopenjdk-13.0.1.jdk/Contents/Home/include/darwin -fno-stack-check' --host-ldflags= --enable-ffplay --enable-gnutls --enable-gpl --enable-libaom --enable-libbluray --enable-libmp3lame --enable-libopus --enable-librubberband --enable-libsnappy --enable-libtesseract --enable-libtheora --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libxvid --enable-lzma --enable-libfontconfig --enable-libfreetype --enable-frei0r --enable-libass --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-librtmp --enable-libspeex --enable-libsoxr --enable-videotoolbox --disable-libjack --disable-indev=jack
  libavutil      56. 31.100 / 56. 31.100
  libavcodec     58. 54.100 / 58. 54.100
  libavformat    58. 29.100 / 58. 29.100
  libavdevice    58.  8.100 / 58.  8.100
  libavfilter     7. 57.100 /  7. 57.100
  libavresample   4.  0.  0 /  4.  0.  0
  libswscale      5.  5.100 /  5.  5.100
  libswresample   3.  5.100 /  3.  5.100
  libpostproc    55.  5.100 / 55.  5.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'cut.mp4':
  Metadata:
    major_brand     : mp42
    minor_version   : 1
    compatible_brands: isommp41mp42
    creation_time   : 2020-01-12T01:16:55.000000Z
  Duration: 00:00:35.02, start: 0.000000, bitrate: 11644 kb/s
    Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1920x1080, 9998 kb/s, 28.61 fps, 29.97 tbr, 90k tbn, 1411200000.00 tbc (default)
    Metadata:
      creation_time   : 2020-01-12T01:16:55.000000Z
      handler_name    : Core Media Video
    Stream #0:1(und): Audio: aac (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 192 kb/s (default)
    Metadata:
      creation_time   : 2020-01-12T01:16:55.000000Z
      handler_name    : Core Media Audio
Stream mapping:
  Stream #0:0 -> #0:0 (h264 (native) -> h264 (libx264))
  Stream #0:1 -> #0:1 (aac (native) -> aac (native))
Press [q] to stop, [?] for help
[swscaler @ 0x107493000] No accelerated colorspace conversion found from yuv420p to gbrp.ed=N/A
[libx264 @ 0x7ffc1180ac00] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2
[libx264 @ 0x7ffc1180ac00] profile High, level 4.0
[libx264 @ 0x7ffc1180ac00] 264 - core 155 r2917 0a84d98 - H.264/MPEG-4 AVC codec - Copyleft 2003-2018 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=6 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
Output #0, mp4, to 'output.mp4':
  Metadata:
    major_brand     : mp42
    minor_version   : 1
    compatible_brands: isommp41mp42
    encoder         : Lavf58.29.100
    Stream #0:0(und): Video: h264 (libx264) (avc1 / 0x31637661), yuv420p, 1920x1080, q=-1--1, 29.97 fps, 30k tbn, 29.97 tbc (default)
    Metadata:
      creation_time   : 2020-01-12T01:16:55.000000Z
      handler_name    : Core Media Video
      encoder         : Lavc58.54.100 libx264
    Side data:
      cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: -1
    Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 128 kb/s (default)
    Metadata:
      creation_time   : 2020-01-12T01:16:55.000000Z
      handler_name    : Core Media Audio
      encoder         : Lavc58.54.100 aac
frame= 1050 fps=1.3 q=-1.0 Lsize=     664kB time=00:00:35.03 bitrate= 155.2kbits/s dup=53 drop=0 speed=0.0419x
video:75kB audio:550kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 6.241971%
[libx264 @ 0x7ffc1180ac00] frame I:5     Avg QP: 7.60  size:   424
[libx264 @ 0x7ffc1180ac00] frame P:265   Avg QP:10.09  size:    77
[libx264 @ 0x7ffc1180ac00] frame B:780   Avg QP:13.67  size:    69
[libx264 @ 0x7ffc1180ac00] consecutive B-frames:  1.0%  0.0%  0.0% 99.0%
[libx264 @ 0x7ffc1180ac00] mb I  I16..4: 100.0%  0.0%  0.0%
[libx264 @ 0x7ffc1180ac00] mb P  I16..4:  0.0%  0.0%  0.0%  P16..4:  0.0%  0.0%  0.0%  0.0%  0.0%    skip:100.0%
[libx264 @ 0x7ffc1180ac00] mb B  I16..4:  0.0%  0.0%  0.0%  B16..8:  0.0%  0.0%  0.0%  direct: 0.0%  skip:100.0%
[libx264 @ 0x7ffc1180ac00] 8x8 transform intra:0.0%
[libx264 @ 0x7ffc1180ac00] coded y,uvDC,uvAC intra: 0.0% 0.0% 0.0% inter: 0.0% 0.0% 0.0%
[libx264 @ 0x7ffc1180ac00] i16 v,h,dc,p: 99%  0%  1%  0%
[libx264 @ 0x7ffc1180ac00] i8c dc,h,v,p: 100%  0%  0%  0%
[libx264 @ 0x7ffc1180ac00] Weighted P-Frames: Y:0.0% UV:0.0%
[libx264 @ 0x7ffc1180ac00] kb/s:17.36
[aac @ 0x7ffc12807200] Qavg: 169.519

Can't reproduce. Share full log and ideally input with which this issue occurs.

I can't reproduce, too. I always got binary identical outputs for the same input image (I tried 3 different images).

I've added log guys, sadly it worked for me too, but then something changed probably in my environment and it only produces black frames now :(

Try on another machine.

Yeah, it worked on my Windows machine. Still doesn't work on Mac...


text:
Kdenlive rendering problem - white video
I'm doing some editing and I'm trying to render my video but regardless of the output format what gets rendered is just a white screen, still video with the length of my project.
I'm using
Kdenlive
Version 19.08.2
on Ubuntu 18.04
Perhaps there is already a solution to this problem but I'm having a really hard time finding the correct wording to look up..

Apparently the problem was that my video sources contained spaces in their names i.e.
"My Video.mp4". Once I removed all spaces from the filenames it started rendering normally.

I had this issue with moving files outside of Kdenlive. It did find them using a recursive search, but the video was white. I have deleted them from the project and added them again. This fixed it in my case.

I  believe this was my issue. It's obviously confusing to the App if clips 'disappear'

I use 21.08.0 sometimes when the render is still there. I've found that if restarting the program and opening the project file, Kdenlive will display a file search screen after searching for the file. The image returned to normal.

I also had a similar issue. A quick solution is to 'enable proxy clips'. It worked for me, at least.

source: Stack Exchange

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

sort: votes


text:
Davinci Resolve 16 - Image duration not change
I am new in the field of video production and a new user in Davinci Resolve 16.1.2.026. I want to change the duration of an image in my clip but whatever I tried din't work... My default standard still duration (Menu>Preferences>User>Editing) is 5 secs. But my image in clip lasts only 0.02secs (obviously user can't see anything).
I have also tried to change it using Change Clip Duration (mouse's right click menu) and after that, to Delete gaps (Menu>Edit>Delete Gaps) like the video shown above.
(

)
An other idea is to check out if my image is somehow locked, that's why Davinci cannot modify it, but it isn't.
Any other idea??
Thank you all for the time and the willing!
Edit: I resolve this. First of all I change the image's type (jpeg -> png -> jpeg again). Then I re-linked the image.
Don't ask me why it works... It's enough for me that it works! :)

You should report the issue to BlackMagic.  They're really good about squashing bugs quickly.  Also, FYI, you can change the default duration of imported still images like .jpegs Under Preferences->User->Editing->General Settings->Standard Still Duration.  Cmd/Ctrl-R usually pulls up the Re-time controls for a clip on the timeline, but it didn't work for me with a .jpeg, so I think it's a bug.

GO TO Menu>Preferences>User>Editing AND CHOICE 1 FRAME (NOT 5 SEC). SHOD HELP RSRS
EXPLAINT ON AN OUTHER VERSION: https://www.youtube.com/watch?v=Ae4xvi47IRs
SEE YOU

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


text:
OBS Audio MIDI Control
I use OBS to create technical demonstrations, and had the thought:
What if I could regulate my audio levels using a MIDI Controller? The Korg NanoKontrol has faders that I could use to mix, but now the question is how can we feed the MIDI signal directly into the dB level of audio “layers”?
If anyone has any idea on how this could be achieved using existing plug-ins or even coding a new plug-in (I'm not opposed to that), I would love to hear it.


text:
Why have offset camera placement?
I've noted in recent times that many YouTube videos show a single person not always speaking directly at the camera. I understand from my limited experience to video production many years ago that looking directly at the camera presents "eye contact" between the presenter and the viewer.
In the case of an interview or in a video with multiple subjects engaged in conversation, having a camera out of line with the face of a particular subject  provides for a broader presentation, which can be useful in demonstration type videos.
I've done a few searches to this SE, finding it difficult to determine search terms. The answer presented in the closed question:
Why use different camera angles?
provides a confirmation of the information in the previous paragraph, in that there is more than one subject involved in the video.
It is disconcerting to see a camera shot from the 2 o'clock perspective (or any angle other than straight ahead) of the presenter speaking to the viewing audience, but not looking at the viewing audience.
I have not found a rationale for this camera position and suspect that it does not belong in any videos of my own creation or in those in which I will be involved.
This may sound like a rant, but it's a search for understanding ostensibly to prevent a future gaffe. It's possible, I suppose that it's a new presentation feature and should be included?
By request and from the camera view, directly to the camera:

Same video, from a camera placed off-line:

The video is of a doctor presenting information regarding the Corona Virus from YouTube. It starts a few seconds before the camera placement switch.

A screen capture to see the specific usage would be interesting.

added images and video link.

People do it when they have two cameras and feel compelled to use the second one to get their money’s worth, but don’t have any creative ideas about how to use it.  Also common when you have a second tripod, but not a second cam-op.  It’s a mistake that I think people make when they’re new to video (hey, I’ve done it!), and with more new videographers joining our ranks every day, and SME’s unintentionally lending credence to the practice, you’re likely to see more of it for a long time.

@JasonConrad, pop that into an answer and I'll mark it as answered. Ignorance is a suitable explanation for such an irritation. There's new examples of ignorance in so many realms that I hadn't considered to apply it to video production in this manner.

@fred_dot_u Done.  Thanks!

People do it when they have two cameras and feel compelled to use the second one to get their money’s worth, but don’t have any creative ideas about how to use it. Also common when you have a second tripod, but not a second cam-op. It’s a mistake that I think people make when they’re new to video (hey, I’ve done it!), and with more new videographers joining our ranks every day, and SME’s unintentionally lending credence to the practice, you’re likely to see more of it for a long time.

Truth hurts, people.

It can be used with different intentions, mainly to give the footage more dynamism.
The off-camera look gives the impression to be filmed like an interview, with an interlocutor in front of the presenter but off-camera.
Of course in this example there is no interlocutor, it is the camera, so it can make the impression of combining some "behind the scenes" footage. It adds a bit of "production value".
Sometimes the second camera does not film the person's face, probably the hands, probably the full body, and sometimes the interviewer, again not present in this case.
Probably a good option is using two off-camera angles.
It is simply a matter of style. Fortunately, the rules are not carved in stone.

One psychological effect from staring at the camera vs off camera angle is that the first one can feel like someone is "lecturing" you, trying to convincing you.
The second feels more like someone is just pointing at "facts" and you can decide or not to take them into account. That is why interviewed people do not look at the camera, but the presenter normally does.
This example probably tries to do both.

dy·na·mism /ˈdīnəˌmizəm/ noun 1. the quality of being characterized by vigorous activity and progress. 2. the quality of a video trying to be less boring.

Personally this style gives me the irrits. It's one of those editing techniques that just draws attention to itself and destroys any illusion of reality. Fine if that's what you're trying to do, but that's not usually the case with interviews. For added style-over-substance points you sometimes see it with the alternate angle in black-and-white. Ugh.

Seconded on the "ugh". I mentally associate this type of editing with lowbrow "news" magazines and gossip TV. TMZ, ET, half the programming on E!, etc.


text:
Davinci Resolve 17: burn in metadata of still images using image sequence
I am producing timelapses from 12 megapixel photos taken with a GoPro, each timelapse with up to 50,000 images.
I rename all JPGs in sequence, e.g. [00001-49999].jpg and place them in a single folder.
In the Media tab, if "Show individual frames" of the three-dot menu within "Media Storage" panel is disabled, all images show up as a image sequence and can be added to the Media pool just like that.
My goal is: Using Davinci Resolve's "Data Burn-in" functionality, I would like to display the date of a shot burnt into each video frame on the lower left corner.
In "Data Burn-in" I check "Custom Text1" and in the text field use %Date Modified (that is, because for some odd reason that field doesn't work -although it is populated- I use %Comments alternatively). The problem is that this metadata seems to be available at Media Pool level only, so that there is only one metadata dataset for the whole "Image sequence" instead of many datasets, i.e. one per image.
A workaround is to import thousands of images individually to the media pool, then set still image default duration to one frame. But that makes media asset handling a lot bulkier, especially when talking about several tens of thousands of images.
To populate all single image's metadata I use Exiftool to create a CSV such as
File Name,Comments
0001.jpg,02.04.2021 19:57:20
0002.jpg,02.04.2021 19:57:50
...

and use "Import Metadata to...".
To create the CSV file noted above use: exiftool -DateTimeOriginal -d "%d.%m.%Y %H:%M:%S" -echo "File Name,Comments" -p "${FileName},${DateTimeOriginal}" *.jpg > metadata.csv
How do I make Davinci Resolve respect all single image's metadata while still using them as an "Image Sequence" asset?

I think I saw a thread recently on the BMD forums that mentioned using tokens in fusion text+’s.  I’d try looking into that. I don’t think the data burn window updates every frame for anything other than timecode, but I could be wrong. I know .braw recently added per-frame metadata. That’d be one way to check, if you have access to some.

I think EDIUS 8 was able to convert series of still images to clips, or at least handle them as if there were a single clip. Back at that time you could download a demo version of the software. Maybe it still works. See also Setting Still Image Clips as Sequence.


text:
Every 18 or 19 frames from an undistorted .MP4 clip gets pixelized when played via Final Cut
I have a .MP4 movie exported from Blender in 24fps in good quality, without any pixelation problems. In whatever movie player I open it, there are no pixelation problems.
When I create a new project in Final Cut, also in 24fps, and I import the clip, and I play it in Final Cut as such, even in the Timeline viewer  (same problem after exporting from Final Cut), then every 18th or 19th frame gets pixelation problems as such:

How to solve please? Should I prepare the Blender movie in another file format?
For your reference, here is an undistorted frame:

The problem remains if I make a short (1-sec) small-resolution (550x550) sample.
Again, the 19th frame is distorted:

It should look more like this:

Here are my render settings for this small-resolution sample:

This looks like "datamoshing", which happens when p, b and i-frames do not align properly. Which export settings did you use? Have you tried rendering a smaller portion again to see if the file is corrupted?

@FlorianClaaßen I have tried using a short small-resolution new render sample from Blender. The same problem occurs within Final Cut (see my updated answer). What can I do please? My render settings have also been included.

Ah, I think I've got it. In the Video-settings, your Keyframe-intervals are set to 18 frames. For more information about keyframe intervals, this article was quite helpful to me: https://community.adobe.com/t5/premiere-pro/key-frame-distance-please-help/td-p/8993448?page=1
I believe you should be able to resolve the issue by setting the interval to 1, thus placing a keyframe for each frame.

@FlorianClaaßen And is there no way to prevent this after importing some clip into Final Cut? Because the original video from Blender took 2 days to render.


text:
Davinci Resolve - Blanking Fill is not expanding to the size of the video
I am using Davinci Resolve and try to edit a video made vertical with a cell phone.
I want to use "Blanking fill" to fill the black sides with some blurry moving content:
I added the effect onto the video in the timeline (1920*1080p in timeline settings), but it does not fill the image:

It still keeps some of the black and I don't know how to fix this.
EDIT:
As requested from Jason Conrad some more settings:

EDIT2:
In the "deliver" tab the video is showing up like it's working:

But when I render the video it looks like the preview ...

****Edit****
With the new information you've provided, I can tell that you're encountering a bug related to Resolve's handling of transparency information in .PNG files.  I can also recommend a solution.
In your screenshot of the Deliver page, I can tell that there are three clips on your timeline, and that one of them is a .PNG.  In the course of its development, Resolve has suffered growing pains with its treatment of alpha channels, and how video tracks on the timeline treat them.  In fact, there's a recent SE question which was asked within hours of yours which you will find instructive.  See here.
In previous versions of Resolve, dragging a video or still image which contained alpha channel information onto a "foreground" timeline track (any track above your background) was not enough to show the background through the foreground.  You would see black where you should see transparency.  The reason for this behavior was connected to the order of operations in the image processing pipeline, and the fact that color page operations occured before edit and deliver, even if you had not performed any color page operations.  So, unless you added an alpha output node on the color page by right-clicking on the background and selecting "add alpha output," You would see black instead of transparent.
Needless to say, this behavior frustrated new users, and BlackMagic Design strove to improve the behavior of images with alpha channels, out of the box.  Now, when you drop a .PNG with transparency over another timeline layer, the color page is "smart enough" to realize that it should show you the cutout image composited over the background on the edit page without requiring you to do any extra work.
However, as you have discovered, there is a bug in the software where dropping a .PNG over a layer-with-effects, incorrectly renders the effects.  This is an internal order of operations compositing error, but the good news is you can force the compositing operations to execute in the proper order.
TLDR: To fix your problem, right-click on the V1 clip in the timeline, and choose "New Compound Clip" from the top of the contextual menu.  You'll now see the full blurred background of the Blanking Fill operation.
Compound Clips in Resolve are like folders in a file system, in a way.  Your original clip is now contained within a larger structure.  You'll notice that if you click on the new Compound Clip in the timeline that it appears as if the blanking fill controls have disappeared from the inspector, even though the blanking fill effect is still clearly visible.  Fear not, the controls are still available, and editable.  Just right-click on the Compound Clip, and select "Open in timeline" from the contextual menu.  This takes you inside of the "folder" where you can see your original clip and adjust its controls.  To get back out to your main timeline, double-click on the timeline name at the BOTTOM of the screen in the "breadcrumb" list, where, it will say "Timeline 1 > Compound Clip 1."
Besides the folder analogy to describe Compound clips, you can also think of them as a set of parenthesis in an algebraic equation; they affect the order of operations in Resolve, and help control which effects are composited before others.  In your case, they'll ensure that the blanking fill gets calculated fully before the .PNG is placed in the foreground.
Bonus:  Here's one more quirk about working with compound clips that you should know about.  In Resolve, it's easy to break apart a compound clip onto the timeline and restore its constituent parts (CC's can contain multiple clips and layers, like a mini timeline).  To do this, just right-click on a compound clip in the timeline, and select "Decompose in place" from the contextual menu (This is a feature which separates Resolve from Premiere, btw, where it's much more difficult to break apart a nested sequence).  So, compound clips are a very handy container for a group of clips, and you can, e.g. apply color page effects to the container as a whole.  That is, if you lasso a hundred clips on a timeline, and turn them into a CC, you could turn them all blue with one node on the color page.
Here's the quirk:  If you decompose this string of 100 blue clips on the timeline, you are ERASING both the container, and all of the effects applied to the container.  The clips will no longer be blue.  The color page effects do not cascade to constituent elements when you "decompose in place."  So, as a rule of thumb, if you're ever going to "flatten" your timeline (for .xml round-tripping to another app, for instance), FLATTEN IT BEFORE YOU COLOR IT.
Hope this helps,
* End Edit. Previous answer below. *
It's hard to know without knowing what your settings are.  If your timeline resolution has square dimensions, and you don't have "Use gray background in viewers" checked, then the black vertical bars could just be the bounds of your timeline.  It's also possible that you have output blanking turned on under timeline->output blanking, which would add black bars over the fuzzy bars.  Also, make sure your viewer window is scaled to "fit" inside the UI.  Here are some screenshots of my settings if that helps. Oh, and make sure you're not cropping the edges, by checking the crop slider values, which should be zero.

I'll let you know asap if that worked :-)

Unfortunetly it did not work I added my settings to the question so you might get an insight. Let me know if you do have more ideas.

Took a little sleuthing, but I think I got it.  Updated my answer above.

I love you! And thank you very much :D You earned it!

Converting to compount clip didnt help. The compound clip just has a single video and no png image or anything else

@SahilSingh start a new question, and include the details of your project, and I’ll try to help. In Resolve 17, BMD have again updated the handling of alpha channels, PNGs, and compound clips. I think I might’ve seen some discussion about it on the BMD forums among windows users, so it also might be a platform-specific issue, but I’d be happy to look into it if you can provide more details.

In Resolve 17.1, Build 24, you can fix this issue by creating an alpha output in color view » nodes. Here is a reddit post I made about it with a screenshot on how to fix it, plus a link to the BMD forum post discussing the issue.


text:
Premiere Pro: How to match splits between two clips?
Premiere newbie, just trying to learn how to be productive. :)
I have 4 tracks

Live Video File (+ bad audio)
Screenflow capture
Good audio

Since I had to wait for a Screenflow to render an export I synchronized my good audio with my video and began splitting so that I could sift quickly once the screenflow export was ready for import.
I've now synced my screen capture in the timeline, but I have to re-split.
I'd like to split it in exactly the same places as the other files.

Is there some sort of hotkey or script I can create to split one track to match where another is already split?
Is there I can make the magnet sticky to splits so that I don't have to zoom in and out for each split I'm re-creating?

There are several ways this can be achieved:

Holding the Shift key while scrubbing the timeline marker with the mouse.
Holding the Shift key and using the up and down arrows to move between clips. This gives more precision over using the Shift key and scrubbing.
Double clicking between two adjacent clips. For me this can be quicker when there are many clips and cuts and no shortcut keys are required.

Ctrl + K will cut all selected tracks and Ctrl + Shift + K will cut all tracks from the playhead.

Is there I can make the magnet sticky to splits so that I don't have to zoom in and out for each split I'm re-creating?

By trial and error I was able to figure out that holding shift while moving on the timeline - either by dragging the timeline cursor, with with the cut tool (c) - will cause it to become magnetic or sticky to the splits in the clips.
Likewise shift+cmd+k will cut all tracks whereas cmd+k will cut only the highlighted track.


text:
Proper Free video editor to make video with movable the some flash or ... during the video
I have seen this video in YouTube:

And like to know about free editor to built this video kind for my own.
So i asked here is any free software for ding this work, combining the video with flash or photo to move during the video ruining.
Thanks.

This question has been asked many times before, and has many answers that people have put time and effort into posting. Please do some research, like searching this site for "free software", and if you have specific questions don't hesitate to ask.

try: https://video.stackexchange.com/search?q=free+software


text:
Mask clip with transparency in DaVinci Resolve
Is it possible to use some combination of Color nodes and power windows to hide parts of an already partially transparent clip such as one whose frames might be made from transparent images like

?
I'm specifically looking for a solution without resorting to Fusion.
My unsuccessful attempts at trying to cut out a hole in the middle following this advice:

Yes.

Navigate to your .png in the media browser and import it into your project
Create a bin, make sure the new bin is selected.  Unfortunately, Resolve won't let you import the same image twice, regardless of which channels you're interpreting.  Using a second bin is a workaround.
Right-click on the .png again in the media browser, and select "add into media pool as a matte"

Drop the original .png onto your timeline above whatever footage you want to be the background
open the color page and select the fox.png clip in the timeline
right click on the background of the node editor and add an alpha output, wire the output of node 1 to the master alpha out.
right click on node 1, and from the context menu, choose your matte from the Add Matte submenu at the bottom

use any other roto tools you need to knock out whatever you need to knock out.

Thanks for the idea, but the Firefox logo, for example, already has transparency information and I don't want to ignore it have to replicate that with polygons (if it's difficult to do with this static picture imagine how much harder it would be to rotoscope an animated series of transparent PNGs). In theory I should be able to just subtract from the alpha channel and make arbitrary holes in the already partially see-through picture. In practice it's trivial to do in After Effects and in Fusion, but I'm looking for a way to do this specifically in Resolve.

Sorry.  Misunderstood.  Updated answer.

If you're doing roto work with something else, like mocha, or if you have a multichannel export from a 3D app, this is one way you bring it in.  Another way would be to install the mocha ofx plugin and use it directly.

Thanks! Your updated answer lead me to the Using External Mattes chapter on of 2367 of the dr16 manual where I discovered that I can use the transparent clip as its own external matte simply by dragging it from the Media Pool into the Nodes panel while on the Color page; no need to mess with bins to import it twice!

Haha.  Well, I guess you can teach an old dog new tricks.  The Dev team at BMD improves things so quickly, that it's easy to miss (or forget...I'm the kind of nerd that reads all of the release notes for even small Resolve updates) nice new features like that, and the manual's so long, that I think my laptop would choke on a DIFF comparison against an old version ;-)


text:
Wave effect on bottom text
I'm trying to animate a text possibly for a logo, making it into a seamless loop. The effect I'm trying to achieve is that of a wave like rippling but only on a portion of the text.
I still want it to look as if it is connected to the part of text that's staying static.
I've seen suggestions of using turbulent displace effect, but I can't get it to loop. Also not certain how to keep one part of the text static while getting the waviness in a correct direction.
Should I mask it out?
Is there any better way of going about this?
Edit:
Here's a static image made in photoshop with warp tool. So, I would like only bottom half of each word have this effect and obviously to animate it.

Create your text layer.
Create a 100% black solid layer
Create a 100% white solid layer, make sure it is above the black layer.
Precomp the two solid layers (cmd/control + shift + c) and jump into the comp.
Add a 'venetian blinds' effect to the white layer and delete the keyframes that automatically accompany it.
Set the 'Direction' to -90deg, 'transition completion' to 50%, width to 100 and the feather to 50 (or half width).
Set a keyframe to position of the white layer. Jump forward two seconds (or however long you want the loop to last) and add 100px to the y position. (Note: the difference in y pos needs to match the width of the venetian blinds effect. 100 = 100).
Go to the previous frame by hitting the 'page up' button on your keyboard.
Hit 'tab' then 'left arrow' then 'enter'. To go to the parent comp.
Hit 'n' on the keyboard to set the animation duration. Duration should always be one frame less that the keyframes of the position on the white layer of the nested comp.
Turn off the visibility of the nested comp and add a 'displacement map' effect to the text layer.
Set the 'Max Horizontal Displacement' to 50 (or your preference) and the 'Max Vertical Displacement' to 0.
Set the 'Displacement Map' to the nested comp layer.

Mine looks like this:

You should be able to modify it to your liking. Good luck!
EDIT: I've just reread your post and realised that you wanted the top to remain static and have the bottom wave.
In order to accomplish that, you'll want to add a couple of rectangular shape layers that will sit directly over your text layers (make them a fair bit wider than your text, but the same height). Add a 'gradient ramp' effect and make is so that it runs from black at the top of the layer to white at the bottom. Set the shape layer's blend mode to multiply. Then cut the layers out and paste them into the nested map layer. Your nested map layer should now look something like this:
With text for reference:

Final map, text turned off:

Now the top of the text will remain static and the bottom will progressively wave more.

So time displacement uses the colour black as no displacement in this case?

Also when I try to do the gradient overlay over my shape layers and then put it in the same comp as the venetian blinds, it's obviously over the venetian effect so displacement doesnt work anymore.... what should i do?

It turns out I missed a crucial part of the instructions. You need to set the blend mode of shape layers with the gradients on them to 'multiply' so that it blends with the venetian blinds effect. Sorry about that. And yes, the map controls the effect through greyscale values. 100% white is 100% effect and 100% black is not effect.


text:
Easiest way to turn something a powerpoint into a video file
I am looking to turn my stories into YouTube videos. We have images set for the backgrounds. They currently aren't as PowerPoint files. They were going to be HTML pages however it would be easier for us to host these on YouTube as we have some issues loading sounds and the javascript scrolling at the same time.
Already Tried : using the YouTube video editor however I cannot fill the screen enough.
Requirement : Cheaply create video files using background images, simple transitions and adding sound.
My Experience level : Not expert, not done since a long time.
What is the easiest/most cost effective way of doing this?

iMovie comes free on Mac computers, and it includes all of the features you're looking for. It's also very simple to use.  (I used it to make about 300 videos over the last 5 years.)

Sure! Let me know if you have any questions about it (like how to control its "Ken Burns" effect on still photos!).

It's worked really well thanks so much I've managed to get a basic outline of what I want and learn how to do it all in less than three hours! Completely overlooked IMovie...

Fantastic! People say it's not that great, but as I wrote in my answer I've edited 300 videos with it. I've even done special effects -- like making it look as though Thor (played by me) hammered a hole through my wall!

No it's perfect its so easy to use I'm not doing anything too strenuous with it and I wouldn't even know how to start bashing down a wall without actually bashing the wall!

Not sure, which version you're using and I didn't use PowerPoint recently, but as far as I can remember, there is a video export function built in. Might be worth a try.
Also there's a list with free video software on Wikipedia, which you can take a look at. Many of them should work for your purpose.

If you are on a mac you can use quicktime to screen record the powerpoint in presentation mode and advance the slides as you wish. Then you can add music to it on Youtube

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


text:
Imported GoPro Hero4 time-lapse from bike ride does not sync with GPS data in VIRB Edit
I have imported a time-lapse (1 frame/sec resolution) video from my GoPro Hero4 into VIRB Edit. It's from a 96 minute bike ride, which shows up as a 4 minute video.
When I import GPS/GPX data from my Garmin Fenix 5, it does not align with the video. It sees it as a 4 minute bike ride.  (VIRB Edit use this data to make route overlays on the video.)
How to make VIRB Edit properly recognize the video as a time-lapse? Or how do I "compress" the GPX so that it matches the video?

Does this answer your question? Imported time-lapse from bike ride does not sync with G-Metrix data in VIRB Edit

@stib Nope, it was a duplicate :)

A way to solve this is to first losslessly change the frame rate of the GoPro video to 1 frame/sec, which changes it from 4 minutes to real time (96 minutes).
This answer explains how to extract the raw bitstream from the GoPro video using ffmpeg:
ffmpeg -y -i gopro.mp4 -c copy -f h264 gopro_raw.h264

.. and then remux it with a 1 frame/sec frame rate:
ffmpeg -y -r 1 -i gopro_raw.h264 -c copy gopro_remuxed.mp4

Import the remuxed file into VIRB Edit [VE], add the GPX file and add some G-Metrix gauges.  Finally speed it up again in VE.
VE can only speed up 800%, so the video has to be re-imported* after the initial export.  Speed it up and export again to come back to the original 4 minute length.  Not ideal, but it works.
* I actually had to use iMovie in the second step, since VE kept crashing


text:
AAC stream in MP4 file has wrong duration. How to fix?
I've got an MP4 file that is actually 2:09:42 long. But when playing it in VLC player it is being shown as 7:13:45 long. I'm trying to fix this file.
I remuxed it using ffmpeg -i input.mp4 -codec copy output.mp4 which did not change anything.
ffprobe reports:
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'input.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 1
    compatible_brands: isomavc1
    creation_time   : 2012-12-12T09:35:27.000000Z
  Duration: 07:13:45.09, start: 0.000000, bitrate: 578 kb/s
    Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1920x800
[SAR 1:1 DAR 12:5], 1618 kb/s, 23.98 fps, 23.98 tbr, 96k tbn, 47.95 tbc (default
)
    Metadata:
      creation_time   : 2012-12-12T09:35:27.000000Z
    Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, flt
p, 92 kb/s (default)
    Metadata:
      creation_time   : 2012-12-12T09:36:27.000000Z
      handler_name    : GPAC ISO Audio Handler

I demuxed the file and tried to recombine the streams. Here, this is shown:
Input #0, h264, from 'x.h264':
  Duration: N/A, bitrate: N/A
    Stream #0:0: Video: h264 (High), yuv420p(progressive), 1920x800 [SAR 1:1 DAR
 12:5], 23.98 fps, 23.98 tbr, 1200k tbn, 47.95 tbc
[aac @ 000000000328a8c0] Estimating duration from bitrate, this may be inaccurat
e
Input #1, aac, from 'x.aac':
  Duration: 07:14:19.51, bitrate: 94 kb/s
    Stream #1:0: Audio: aac (LC), 48000 Hz, stereo, fltp, 94 kb/s
Output #0, mp4, to 'x.mp4':
  Metadata:
    encoder         : Lavf58.38.101
    Stream #0:0: Video: h264 (High) (avc1 / 0x31637661), yuv420p(progressive), 1
920x800 [SAR 1:1 DAR 12:5], q=2-31, 23.98 fps, 23.98 tbr, 1200k tbn, 1200k tbc
    Stream #0:1: Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 94
 kb/s
Stream mapping:
  Stream #0:0 -> #0:0 (copy)
  Stream #1:0 -> #0:1 (copy)

Here, the wrong duration is shown for the aac stream. Does this mean that the aac stream has wrong time information?
When I play the aac file VLC player shows 7 hours duration. When I play the h264 file no duration is shown.
I then tried to remux specifying -t 2:09:42. This makes VLC player display the correct duration. The movie plays normally and appears complete. But the file size dropped from 1.8 GB to 1.6 GB which makes me suspect that I somehow lost data.
How can I fix this file?
Update: I have now recoded the aac stream to MP3. It really is 7 hours long. The audio is repeated multiple times. No idea why. So I guess I can just trim that stream? Is that appropriate?

Update: I have now recoded the aac stream to MP3. It really is 7 hours long. The audio is repeated multiple times. No idea why. So I guess I can just trim that stream? Is that appropriate?

How do you know file is 2:09:42 long?
From ffmpeg documention:

Get duration by decoding
  You can also use ffmpeg to get the duration by fully decoding the file. The null muxer is used so no output file is created. Refer to time= in the last line of the console output. In this example the input has a duration of 00:57:28.87.

$ ffmpeg -i input.webm -f null -
...
frame=206723 fps=1390 q=-0.0 Lsize=N/A time=00:57:28.87 bitrate=N/A speed=23.2x

This method will report the correct duration in case the methods using ffprobe are incorrect or missing due to corrupt, truncated, or damaged files.
The command may take some time depending on the input file duration and decoding complexity.

So it seems that your file timings are "incorrect or missing due to corrupt, truncated, or damaged files."
Hence your ffprobe report contains wrong duration.
Your remux "did not change anything" because you did not encode the file: -codec copy
2nd line of your report shows: "Duration: N/A, bitrate: N/A" which is another indication of damaged file.
Further in the report, you'll notice "Estimating duration from bitrate, this may be inaccurate"
Try this:
ffmpeg -i input.mp4 -c:v libx264 x.mp4

With a very good computer, this should be done in about 2 hrs.
Enjoy.

-c:v libx264 may be omitted as it is the default codec for the mp4 container

"How do you know file is 2:09:42 long?" => GSpot shows this duration and it corresponds to the length of the visible movie. I really would like to avoid recoding the file. I have now recoded the aac stream to MP3. It really is 7 hours long. The audio is repeated multiple times. No idea why. So I guess I can just trim that stream? Is that appropriate?

How did you encode the aac stream to MP3? Try ffmpeg -i "input.mp4" out.mp3. VLC doesn't seem to report the correct timestamps of some aac files. When playing the file, it will report how much of the audio has been played, but won't show the correct amount of time left. If you play the video in VLC, it should finish in 2:09:42.
Try Audacity to extract audio from video file, or ffmpeg -i "input.mp4" -vn -acodec copy audio.aac. Audacity will report the correct time for the extracted audio file, but VLC won't. However, both should play the entire audio in 2:09:42.

I have used DbPowerAmp to transcode the file. The new MP3 file is playable and seekable for the full 7 hours. Could it be that the AAC stream is simply 7 hours long and the video duration is therefore correctly reported? Maybe I just need to cut off the superfluous AAC data. I suspect at this point that some accident happened when this MP4 file was created (it wasn't created by me).

Can you send me a link to the file?


text:
ffmpeg smooth video zoom-in to center over duration of video
I'm trying to do a smooth zoom in to the center of a 4k video over the duration of that video, so basically zooming in 2.13x so that the zoom in stops when the zoom is equivalent to an HD file (4096 / 1920 = 2.13).
I'm having trouble finding out how I can control the length of the zoom in effect dynamically, for different video lengths.
Here's the command I have so far:
ffmpeg -i "{filepath}" -vf "scale=w=(4096*4):h=(2160*4), zoompan=z='min(pzoom+0.00213,2.13)':d=1:x='iw/2-(iw/zoom/2)':y='ih/2-(ih/zoom/2)':s=1920x1080" "{output1}"
I'm guessing I need to do a calculation on the # of input frames and adjust the pzoom ratio accordingly, but I'm unsure how the pzoom ratio actually works.

pzoom is the calculated zoom value for the previous frame. It is initialized to 1 at the start of filtering. So, if total no. of frames is X, your zoom expr should be
z='min(pzoom+(2.13-1)/X,2.13)'

Great, I think I get it now. What's the 1.5 value after the comma? I thought it was the maximum zoom ratio, but I see you're keeping it to 1.5 instead of 2.13.

Typo. I forgot to correct that when I copied the original expr.

@JPAllard — “Great” in your comment is a nice word — what about enhancing it by accepting and upvoting this answer? (Click on the check mark and on the “up” triangle.)


text:
FFMPEG Video loop from images files
I am trying to make a video from a bundle of image files and then apply a an overlay on top of it.Another requirement is to make the video loop 3x. It is simply not working.
The requirement is to produce a video of 3 seconds looped 3x. The below script does npt allow to do it.
This is my script.
ffmpeg
-start_number 1 -framerate 3/1
-i "C:\Users\xxx\AppData\Local\xxx\xxx\xxx\xxx\xxx\xxx\xxx\963d9d9b8e1\DSC%04d_0013.jpg"

-"C:\Users\xxx\AppData\Local\xxx\xxx\projects\xxx\xxx\xxx\xxx\963d9d9b8e1\DSC%04d_0013.jpg"

-i "C:\Users\xxx\AppData\Local\xxx\xxx\projects\1237\1138\pictures\bundle\963d9d9b8e1\DSC%04d_0013.jpg"

-i "C:\Users\xxx\AppData\Local\xxx\xxx\projects\1237\1138\overlay.png"
-i "C:\Users\xxx\AppData\Local\xxx\xxx\projects\1237\1138\overlay.png"
-i "C:\Users\xxx\AppData\Local\xxx\xxx\projects\1237\1138\overlay.png"
-filter_complex " [0:v]scale=600x900[scaled1]; [1:v]scale=600x900[scaled2]; [2:v]scale=600x900[scaled3]; [scaled1][3:v]overlay[tmp1]; [scaled2][4:v]overlay[tmp2]; [scaled3][5:v]overlay[tmp3]; [tmp1][tmp2][tmp3]concat=n=3[scaled] "
-map [scaled] -r 10 -vcodec libx264  -pix_fmt yuv420p -crf 23  "C:\Users\xxx\Documents\Projets\2020\xxx\video test ffmpeg\test.mp4"

Please specify in details what means your sentence “It is simply not working.”

Original question was also answered at the crosspost at Stack Overflow: FFMPEG Video loop from images files, but the quesiton requirements changed after answering.

The "solution" that you gave to your own question confuses me because it seems to be somewhat unrelated to your initial question.
What I understood from your question:

You have a Sequence of Images in 3 directories.
Make a movie from each Image Sequence.
Length is 1s each.
Overlay an image for each 1s movie.
concatenate the movies -> 3s movie
Loop 3 times -> 9s movie

I've added the fllowing to your code in your question:

Add -start_number 1 before every input
Add loop=loop=2:size=30 after concat

Notice loop=2 loops 3 times.
Furthermore it needs a size (the total number of frames to loop over).
This depends on how many images you had.
I had 10 images in the 3 directories. 10 x 3 = 30
ffmpeg \
-start_number 1 -framerate 12 \
-i "imgSequ1/img-%d.png" \
-start_number 1 -framerate 12 \
-i "imgSequ2/img-%d.png" \
-start_number 1 -framerate 12 \
-i "imgSequ3/img-%d.png" \
-i "overlay1.png" \
-i "overlay2.png" \
-i "overlay3.png" \
-filter_complex "\
[0:v]scale=600x900[scaled1];\
[1:v]scale=600x900[scaled2];\
[2:v]scale=600x900[scaled3];\
[scaled1][3:v]overlay[tmp1];\
[scaled2][4:v]overlay[tmp2];\
[scaled3][5:v]overlay[tmp3];\
[tmp1][tmp2][tmp3]concat=n=3,loop=loop=2:size=30[scaled]" \
-map "[scaled]" -r 10 -vcodec libx264 -pix_fmt yuv420p -crf 23 "result.mp4"

This is the solution and it works.
-start_number 1 -framerate 3/1
-i DSC%04d_0013.jpg
-loop 1 -i overlay.png"
-filter_complex "
[0:v]scale=600x900[scaled];
[scaled][1:v]overlay,trim=duration=3,loop=loop=2:size=9[tmp]
" -map [tmp] -r 10 -vcodec libx264  -pix_fmt yuv420p -crf 23
test.mp4


text:
Best camera for turnkey studio recordings
I work for a university, and I will be working on setting up a small recording studio for our department. The purpose of the recording studio will be to record high-quality educational content. We will be purchasing a bunch of equipment for this: camera, computer, lights, microphone, sound dampeners, etc. However, this question pertains to the camera itself.
We want this studio to be as "turnkey" as possible. We will leave everything (lights, camera, mic) set up and we want an instructor to simply be able to walk in, start recording, finish up, and leave without much hassle. We'd like to minimize the number of batteries that need to be replaced/charged, and make starting-up and wrapping-up a recording as easy as possible. Thus, the requirements for the camera are:

Have a DC power input / adapter, so that we don't have to worry about battery swapping and charging
Have HDMI out, so that we can capture directly to a computer (via some software, maybe OBS)
Have audio in, because we will want an external mic
Ideally, be able to capture 4k
Overall, produce a good quality image (assuming that the scene and subject are well positioned, well lit, etc)

The budget for JUST the camera is in the neighborhood of 1k. The Panasonic Lumix GH 4/5 seems to be a popular choice, however my concern would be (A) is there a reliable way to give it continuous power, rather than via battery, and (B) will have issue with record-length limit? I could also go with something more along the lines of a Canon HFG21, but the downside is it doesn't record 4k, and supposedly the HDMI out connection is not the best. Is there something in my budget that checks these boxes?

I don't think you're likely to get the perfect answer here. Something as complex as this needs a lot of planning and research for the equipment, as every part relies on each other. You'd be better off looking for someone who can go through the process with you (but that's obviously up to you :D)

I'm not looking for the perfect answer - just suggestions for cameras that fit within the requirements I specified (or at least as many as possible, given the budget).

Have you considered a box or PTZ camera? They are designed more for the application that you are looking at. Though they need something external to record, they are much simpler for an untrained user. They take AC power and are designed to be on for extended periods of time. They are frequently used in insert studios.

Why the requirement for 4K? It makes all the downstream processing requirements higher and I'm not sure there's a benefit. Full HD video stream are perfectly fine for a someone explaining something and perhaps writing on a whiteboard.

I ended up posting basically the same question over on the dpreview forum, and got a number of replies. In case someone else stumbles across this post in hopes of getting an answer, the contributors seemed to recommend the following, as of Feb/Mar 2020:

Panasonic Lumix GH 4 or 5 (around $600 and $1300, respectively, body only)
Blackmagic pocket cinema 4k camera (around $1300, body only)
Panasonic AF 100 (used for $500-600)


text:
Input link in1:v0 parameters (size XXX, SAR XXX) do not match the corresponding output link in0:v0 parameters (XXX, SAR 1:1)
I've two files, a mp4 and a mp3 file. I want to add a 3 seconds intro screen with title Welcome and black background to the head of the video with the mp3 as background. So here's what I wrote.
ffmpeg \
    -i input.mp4 \
    -i bgm.mp3 \
    -f lavfi -i color=c=black:s="1280"x"544":d=3.0 \
    -filter_complex \
        "[2:v]
  drawtext=
    fontsize=30
    :fontcolor=white
    :x=(w-text_w)/2
    :y=(h-text_h)/2
    :text='WELCOME'
[introVideo];

[1:a]
    atrim=0.0:3.0
[introAudio];

[introVideo][introAudio][0:v][0:a]concat=n=2:v=1:a=1" -preset superfast output.mp4

but am getting below error when I try to execute the command
[Parsed_concat_3 @ 0x55c02756fa00] Input link in1:v0 parameters (size 1280x544, SAR 1299:1280) do not match the corresponding output link in0:v0 parameters (1280x544, SAR 1:1)
[Parsed_concat_3 @ 0x55c02756fa00] Failed to configure output pad on Parsed_concat_3
Error reinitializing filters!
Failed to inject frame into filter network: Invalid argument
Error while processing the decoded data for stream #0:1
Conversion failed!

Any help will be highly appreciated.
PS: I am a beginner in video processing and ffmpeg.

See 2nd command in answer at duplicate link.

@Gyan: running concat with unsafe flag seems not recommended. Is it possible to set the aspect ratio of input video to -f lavfi -i color... ?

Insert [0:v]setsar=1[0v]; before the concat filter, and use label 0v in place of 0:v in concat.

Oh my god, it worked. One more doubt @Gyan. What If I don't want to change sar of input but want to change sar of [2:v] to sar of  0:v ?

Then insert setsar for 2v after the final filter (geq).

@Gyan setsar with value 1 ?

Let us continue this discussion in chat.

No, with the SAR value for 0:v - 1299:1280

I tried with setsar=1299/1280, but am getting same error. :( @Gyan

@Gyan Do you know why it's not working ?


text:
how to pipe:/// through a .sh or Python script, or use some sort of setting files with FFMPEG
First post, so be kind please :)
So a quick bit of history. I am using tvheadend, and the inbuilt transcoder murders my CPU, and provides average quality output (it's powered by ffmpeg), if I pipe the output from tvheadend through ffmpeg I get much lower CPU usage and better quality (weird but true). (I am having to transcode because of limited player abilities)
So in tvheadend the http link goes from something like
http://avideostream
to
pipe:///usr/bin/ffmpeg -loglevel fatal -i http://avideostream -tune zerolatency -vcodec libx264 -preset veryfast -crf 28 -maxrate 1200k -bufsize 3500k -vf "scale='min(1280,iw)':'min(720,ih)'" -acodec aac -b:a 128K -f mpegts pipe:1

Big difference as you can see.
This all works, BUT if I want to change the settings in the my above pipe, i have to change them for all links (which I do through a script), but that means tvheadend re-imports and tests all of the links (as it see them as changed links, which is fair enough).
So what I want to do is wrap ffmpeg in something, so I can change the wrapper. (This is all happening on a up to date ubuntu server).
Now I am happy to say I am not a Ubuntu expert (not even close), although I have been running my own home servers for a few years now. So I don't fully understand all the aspects of "pipe".
The three options I see for above (as to date I have found no way for chosing an external transcoder option for tvheadend, without moving into weird builds, which I would like to avoid) are:
Use an external options file for ffmpeg (which I can get to work from the console, but not as part of the pipe, e.g. sudo ffmpeg -i amovie.mp4 $(cat ffmpegoptions.txt) convertedmovie.mp4, it might be as simple as file access rights, but I didn't do much debugging)
Put the ffmpeg stuff in a .sh file (but that just seems to break the pipe, and I have no idea where to even start with that)
put the ffmpeg in some sort of python script (I didn't even start investigating that, a step too far for me, I can write python, but that is currently out of my league)
Short version, I want to go from:
tvheadend >> piped to ffmpeg >> back to tvheadend >> off to player
To either
tvheadend >> piped to .sh or script wrapper >> piped to ffmpeg >> back to tvheadend >> off to player
or
tvheadend >> piped to ffmpeg (controlled by an external options file) >> back to tvheadend >> off to player
Any suggestions/help would be much appreciated. Let me know if I missed any important info out.

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


text:
how to make a video created by FFMPEG using downloaded images, VLC media player compatible
I am making a mp4 video while using this command from downloaded jpegs, everything is working fine but the video is not being played in VLC but in Media Player, default one of Ubuntu.
ffmpeg -y -framerate 6 -i #{path}%d.jpg -i #{evercam_logo} -filter_complex '[1]scale=iw/2:-1[wm];[0][wm]overlay=x=main_w-overlay_w-10:y=main_h-overlay_h-10' -pix_fmt yuv420p -c:v h264_nvenc -preset slow -bufsize 1000k #{path}#{id}.mp4

I have tried multiple formats but the results are same. what Am I missing here? any help would be wonderful thank you.
my FFMPEG version:
ffmpeg version N-95730-ga7245adee3 Copyright (c) 2000-2019 the FFmpeg developers
  built with gcc 7 (Ubuntu 7.4.0-1ubuntu1~18.04.1)
  configuration:
  libavutil      56. 35.101 / 56. 35.101
  libavcodec     58. 62.100 / 58. 62.100
  libavformat    58. 35.100 / 58. 35.100
  libavdevice    58.  9.100 / 58.  9.100
  libavfilter     7. 66.100 /  7. 66.100
  libswscale      5.  6.100 /  5.  6.100
  libswresample   3.  6.100 /  3.  6.100
Hyper fast Audio and Video encoder
usage: ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfile}...

FFMPEG is being compiled with Nvidia Graphics.
UPDATE:
this is the output of my full command
root@Ubuntu-1704-zesty-64-minimal:~# ffmpeg -y -framerate 6 -i /storage/apache-j8h3/%d.jpg -i /opt/evercam_media/lib/evercam_media-1.0.1583305674/priv/static/images/evercam-logo-white.png -filter_complex '[1]scale=iw/2:-1[wm];[0][wm]overlay=x=main_w-overlay_w-10:y=main_h-overlay_h-10,format=yuv420p' -c:v h264_nvenc -preset slow -bufsize 1000k videotest.mp4
ffmpeg version N-95730-ga7245adee3 Copyright (c) 2000-2019 the FFmpeg developers
  built with gcc 7 (Ubuntu 7.4.0-1ubuntu1~18.04.1)
  configuration:
  libavutil      56. 35.101 / 56. 35.101
  libavcodec     58. 62.100 / 58. 62.100
  libavformat    58. 35.100 / 58. 35.100
  libavdevice    58.  9.100 / 58.  9.100
  libavfilter     7. 66.100 /  7. 66.100
  libswscale      5.  6.100 /  5.  6.100
  libswresample   3.  6.100 /  3.  6.100
Input #0, image2, from '/storage/apache-j8h3/%d.jpg':
  Duration: 00:00:09.50, start: 0.000000, bitrate: N/A
    Stream #0:0: Video: mjpeg (Baseline), yuvj420p(pc, bt470bg/unknown/unknown), 704x576 [SAR 1:1 DAR 11:9], 6 fps, 6 tbr, 6 tbn, 6 tbc
Input #1, png_pipe, from '/opt/evercam_media/lib/evercam_media-1.0.1583305674/priv/static/images/evercam-logo-white.png':
  Duration: N/A, bitrate: N/A
    Stream #1:0: Video: png, rgba(pc), 200x200 [SAR 2835:2835 DAR 1:1], 25 tbr, 25 tbn, 25 tbc
Stream mapping:
  Stream #0:0 (mjpeg) -> overlay:main
  Stream #1:0 (png) -> scale
  format -> Stream #0:0 (h264_nvenc)
Press [q] to stop, [?] for help
[image2 @ 0x555f0a16ba80] Thread message queue blocking; consider raising the thread_queue_size option (current value: 8)
[swscaler @ 0x555f0a36ff80] deprecated pixel format used, make sure you did set range correctly
Output #0, mp4, to 'videotest.mp4':
  Metadata:
    encoder         : Lavf58.35.100
    Stream #0:0: Video: h264 (h264_nvenc) (Main) (avc1 / 0x31637661), yuv420p, 704x576 [SAR 1:1 DAR 11:9], q=-1--1, 2000 kb/s, 6 fps, 12288 tbn, 6 tbc (default)
    Metadata:
      encoder         : Lavc58.62.100 h264_nvenc
    Side data:
      cpb: bitrate max/min/avg: 0/0/2000000 buffer size: 1000000 vbv_delay: N/A
frame=   57 fps=0.0 q=20.0 Lsize=    2332kB time=00:00:09.33 bitrate=2046.8kbits/s speed=19.3x
video:2331kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.045540%

and this is the output of a command with -pix_fmt yuv420p
root@Ubuntu-1704-zesty-64-minimal:~# ffmpeg -y -framerate 6 -i /storage/apache-j8h3/%d.jpg -i /opt/evercam_media/lib/evercam_media-1.0.1583305674/priv/static/images/evercam-logo-white.png -filter_complex '[1]scale=iw/2:-1[wm];[0][wm]overlay=x=main_w-overlay_w-10:y=main_h-overlay_h-10' -c:v h264_nvenc -preset slow -bufsize 1000k -pix_fmt yuv420p videotest.mp4
ffmpeg version N-95730-ga7245adee3 Copyright (c) 2000-2019 the FFmpeg developers
  built with gcc 7 (Ubuntu 7.4.0-1ubuntu1~18.04.1)
  configuration:
  libavutil      56. 35.101 / 56. 35.101
  libavcodec     58. 62.100 / 58. 62.100
  libavformat    58. 35.100 / 58. 35.100
  libavdevice    58.  9.100 / 58.  9.100
  libavfilter     7. 66.100 /  7. 66.100
  libswscale      5.  6.100 /  5.  6.100
  libswresample   3.  6.100 /  3.  6.100
Input #0, image2, from '/storage/apache-j8h3/%d.jpg':
  Duration: 00:00:09.50, start: 0.000000, bitrate: N/A
    Stream #0:0: Video: mjpeg (Baseline), yuvj420p(pc, bt470bg/unknown/unknown), 704x576 [SAR 1:1 DAR 11:9], 6 fps, 6 tbr, 6 tbn, 6 tbc
Input #1, png_pipe, from '/opt/evercam_media/lib/evercam_media-1.0.1583305674/priv/static/images/evercam-logo-white.png':
  Duration: N/A, bitrate: N/A
    Stream #1:0: Video: png, rgba(pc), 200x200 [SAR 2835:2835 DAR 1:1], 25 tbr, 25 tbn, 25 tbc
Stream mapping:
  Stream #0:0 (mjpeg) -> overlay:main
  Stream #1:0 (png) -> scale
  overlay -> Stream #0:0 (h264_nvenc)
Press [q] to stop, [?] for help
[image2 @ 0x557669b1fb00] Thread message queue blocking; consider raising the thread_queue_size option (current value: 8)
[swscaler @ 0x557669d23bc0] deprecated pixel format used, make sure you did set range correctly
Output #0, mp4, to 'videotest.mp4':
  Metadata:
    encoder         : Lavf58.35.100
    Stream #0:0: Video: h264 (h264_nvenc) (Main) (avc1 / 0x31637661), yuv420p, 704x576 [SAR 1:1 DAR 11:9], q=-1--1, 2000 kb/s, 6 fps, 12288 tbn, 6 tbc (default)
    Metadata:
      encoder         : Lavc58.62.100 h264_nvenc
    Side data:
      cpb: bitrate max/min/avg: 0/0/2000000 buffer size: 1000000 vbv_delay: N/A
frame=   57 fps=0.0 q=20.0 Lsize=    2332kB time=00:00:09.33 bitrate=2046.8kbits/s speed=19.8x
video:2331kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.045540%

I believe this is your question answered:
https://superuser.com/questions/820134/why-cant-quicktime-play-a-movie-file-encoded-by-ffmpeg

I have tried 10:y=main_h-overlay_h-10,format=yuv420p' this dont work

also if you see above command. I am already using -pix_fmt yuv420p

Show the full log from your command. Otherwise we can only guess. What is your VLC version? Lazy guess is to try a higher -framerate value than 6, or add -r output option with higher value than 6.

@llogan I have updated the full command log

The frame rate is too low for some players. Increase -framerate value or add the -r option. Anything ≥8 should suffice. Example:
ffmpeg -y -framerate 6 -i /storage/apache-j8h3/%d.jpg -i /opt/evercam_media/lib/evercam_media-1.0.1583305674/priv/static/images/evercam-logo-white.png -filter_complex '[1]scale=iw/2:-1[wm];[0][wm]overlay=x=main_w-overlay_w-10:y=main_h-overlay_h-10,format=yuv420p' -c:v h264_nvenc -preset slow -bufsize 1000k -r 12 videotest.mp4

In the case above with usage of -r then frames will be duplicated to convert from 6 fps to 12 fps, but it won't be noticeable by the viewer.

can you explain more about -r option?

also I have tested to create a clip with -r 12, it also increases the size of the file without -r it 2.8 mb and with -r its 3.7 mb


text:
How to draw - scalable - "EBU safe areas" in ffplay
we need to preview videos with overlayed so-called "safe areas" according to this EBU document: SAFE AREAS FOR 16:9 TELEVISION PRODUCTION.
Here's the scheme for 1080p resolution:

Those consist of three different "zones", each with the same percentage size-to-the-edge of the video frame for any resolution:

Action Safe Area (GREEN box): 3.5%
Graphics Safe Area (RED box): 5%
4:3 Safe Area (GREY box): 16.25%

It should be easily achieveable using the drawbox command, but how can be dynamically adapted to any video resolution?

Make a large PNG with transparency, and use that. Use the scale2ref filter to adapt to the input.

Here we go, (driven) ChatGPT did it:
ffplay -vf "drawgrid=x=(iw/2):(ih/2):t=3:color=yellow@0.5, drawbox=x=(iw-iw*0.95)/2:y=(ih-ih*0.95)/2:w=iw*0.95:h=ih*0.95:color=red@1, drawbox=x=(iw-iw*0.965)/2:y=(ih-ih*0.965)/2:w=iw*0.965:h=ih*0.965:color=green@1" filename.ext


text:
recomendations for conversion
I have a video in a very not compatible format and want to convert it to something like mpeg. I already have ffmpeg tool installed. Do you have any recommendations on what arguments to give ffmpeg for good quality video, that can be played on a TV?
heres probing output:
    ffprobe 00020.MTS
ffprobe version 4.2.1-2+b1 Copyright (c) 2007-2019 the FFmpeg developers
  built with gcc 9 (Debian 9.2.1-21)
  configuration: --prefix=/usr --extra-version=2+b1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --enable-avresample --disable-filter=resample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librsvg --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libx264 --enable-shared
  libavutil      56. 31.100 / 56. 31.100
  libavcodec     58. 54.100 / 58. 54.100
  libavformat    58. 29.100 / 58. 29.100
  libavdevice    58.  8.100 / 58.  8.100
  libavfilter     7. 57.100 /  7. 57.100
  libavresample   4.  0.  0 /  4.  0.  0
  libswscale      5.  5.100 /  5.  5.100
  libswresample   3.  5.100 /  3.  5.100
  libpostproc    55.  5.100 / 55.  5.100
Input #0, mpegts, from '00020.MTS':
  Duration: 00:02:55.78, start: 1.040000, bitrate: 22477 kb/s
  Program 1
    Stream #0:0[0x1011]: Video: h264 (High) (HDMV / 0x564D4448), yuv420p(top first), 1920x1080 [SAR 1:1 DAR 16:9], 25 fps, 50 tbr, 90k tbn, 50 tbc
    Stream #0:1[0x1100]: Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, stereo, fltp, 256 kb/s
    Stream #0:2[0x1200]: Subtitle: hdmv_pgs_subtitle ([144][0][0][0] / 0x0090), 1920x1080

It depends on 1) if ffmpeg can decode this not very compatible format 2) what formats the TV supports and if it has any specific limitations. If you are unsure you can at least tell us the model of the TV.

Try this and see for yourself if the performance and quality are sufficient for your undertaking:
ffmpeg -i "00020.MTS" -map 0 -c:v libx264 "00020.mp4"


text:
Recut part of an image and gradually fade out the rest
I want to highlight a certain part of an image by recutting it and fading away the rest gradually.
Moments later, I'd like to restore the whole picture back gradually.

I've been told this gif was done in the following web, but I cannot find the way to highlight a specific region
https://www.photo-kako.com/en/gif-animation/
A variation of this effect is the gradual superimposition of one picture over another, and then the gradual disappearance of the former.
I am sorry I do not know the technical name of these effects.
I am not knowledgeable so I do not know what software to use. If available online, I'd go that way.

Can you add an example showing what you mean visually?

@tomh I've added an example. I want to select which part of the image stays while the rest fades in and out

Do you want to make a GIF or a video?  Are you on a Mac or a PC? Do you have any video software already?


text:
Need good free HTML5 video player for integrating video ads and Vimeo videos
We're trying to implement ads on our video platform. Could you recommend a reliable HTML5 video player that works with Vimeo, compatible with the VAST standards? I've already tried video.js and checked out jw player. Are there any alternative solutions?

Hi Marina, what research (e.g. internet search) did you do to find a suitable HTML5 video player? Can you please include that in your question? This prevents that answers suggest something which you already found and deemed not useful.

I'd suggest you looking at the built-in HTML5 outstream video player AdPlayer.Pro.
You can use this video ad player and host your video on AdPlayer.Pro platform or you can use HTML5 player separately. It's compliant with all major video advertising standards, like VAST/VPAID and Google IMA. Also I like the UI and additional tracking tool, which provides watch time, click rate, estimated revenue etc.

Thanks a lot for recommendation. I've decided to try this out. I've already implemented HTML5 video player by AdPlayer.Pro on my site. I'd like to enable some features for visitors after they complete watching rewarded video ads implemented according to https://adplayer.pro/solutions/rewarded. What event should my code 'listen to' to identify 100% ad view rate? I'm using the 'complete' event but it's not working so far.
document.getElementById("player").addEventListener("complete", function(){....my logic ....});

Think, you should use the 'AdStopped' event in this case. Find out more here https://docs.adplayer.pro/whitelabel-standalone-script/api-reference/


text:
What can cause artifacts in highlights when capturing clean HDMI output?
When I capture HDMI output of Sony a6500 or ZV-E10 using Blackmagicdesign ATEM Mini Pro ISO or CamLink 4K (and QuickTime), I see strange artifacts (circle patterns) in highlights and sometimes shadows.

These artifacts are not present when recording in-camera using SD card.
Is there anything I can do to have an actual “clean” HDMI output?
Thanks for helping out!


text:
How to fix Adobe Premiere rendering glitch on M1 Mac
Not sure what is going on, but glitch below is visible while editing and on exports. How can I fix this? Thanks for helping out!

Converting source from VBR to CBR (matching 23.976 timeline) fixed issue.
ffmpeg -i "video.mp4" -r 24/1.001 "video_cbr.mp4"


text:
Cannot create a multi cam clip in Resolve 16
I'm a newbie when it comes to DiVince Resolve so hopefully this question isn't too stupid... I'm using version 16 and am trying to create a multi-came editing session. There are many tutorials out there and they all have a screenshot something like this:

I just dragged my three videos in, selected them, and right clicked and I see something very different:

That's all I have, not the huge menu that all the tutorials have. What step have I missed?

To see that contextual menu item, switch to the Edit page.  You are on the Cut page.  The Cut page uses a different method to create multicam clips, called the "Sync Bin."  Sync bin is most useful when you have sync'ed timecode on all of your cameras, which you don't have, I promise.  So, switch to the Edit page, and right-click on the clips you want to turn into a multicam clip there.  Once done, if you prefer to work on the Cut page, you can switch back.
Personally, I would recommend familiarizing yourself with the Edit page.  When BlackMagic introduced the Cut page, they intended it to be a simplified, minimal approach to editing.  To do this, they removed access to much of Resolve's core functionality. As you've discovered, it is sometimes impossible to accomplish basic tasks without switching into the full UI. This defeats the purpose of having a simplified one.  To their credit, the Cut page is a work in progress, and BMD have already improved it over its initial incarnation.

Thanks, had the same problem and was going crazy. None of the multiple tutorials mentioned that “small” detail...


text:
Network Stream reloading in a loop (Nginx/RTMP Streaming Server)
As the generic title suggests, I do not know exactly how to explain my problem, neither do I know what could cause it. Hopefully this ends up to be the right place looking for help, as I do not find related issues and I am tired  of troubleshooting the unknown after many hours now. So I hope for hints now that point me to the right direction.
What I am trying to achieve is to build a working streaming server for video broadcasting.
What is working so far:
I set up a hls streaming server with nginx. Pushing the data via RTMP works fine (meaning: data gets created on the server). I can navigate to the stream location in the browser and download the .m3u8 playlist there.
At this point I was very excited..
What I'd expected:
Connecting to the server in VLC plays back the stream.
What actually happens: (or: the desperate attempt to explain the issue shortly)
Opening the stream causes VLC to "constantly reload the stream", without actually loading/playing it. It seems like the data chunks get loaded, but before they get played, VLC reloads (or maybe loads the next chunk? Or does not load data at all?). Anyway, I never see a picture.
Because I cannot explain this very well I will leave instructions on how you may test the server yourself (at least for the next days, using OBS) and see what I mean (or report back a different behavior):
Feel free to open OBS and connect to:

Server: [expired]
Streamkey: debug

Start streaming
   and connect to the server at [expired]
I will gladly add missing configuration details if you request them in the comments. For now, I want to keep the question clean, and get an impression what you think may cause this behavior.. Codecs? Missing HTTP-Headers? Wrong configuration (chunksize/keyframe-rate/..)?
I highly appreciate your effort and will leave the streaming server open for demo purposes for a while. Please understand that for several reasons this server won't stay publicly accessible for a long time (a few days max).
-- Edit: For the technically interested, you can find the configuration files in this stack overflow question

using vlc -vv helped me to track down the issue. It was a missing character in one of the configuration files that caused vlc to not connect to the server.
Sorry for the noise.
(If you are interested in the resolution, check the stack-overflow post linked to in the question)


text:
How to apply multiple chroma keys in ffmpeg?
I tried creating two separate colorkey filters (as these seem to work better than chromakey filters) like this:
ffmpeg -i input1.mp4 -i input2.mp4 -filter_complex '[1:v]colorkey=0x6AA999:0.1:0.2[ckout1];[0:v][ckout1]overlay[out1];[1:v]colorkey=0x4D827A:0.1:0.2[ckout2];[out1][ckout2]overlay[out2]' -map '[out2]' output.mp4

But this does not seem to filter on both keys.  In thinking about why, I think the issue is that both filters are creating transparency in the pixels that match that key, but then the overlay is combining the pixels that weren't filtered out from both keys, so I'm really only getting transparency for pixels which match BOTH filters, instead of those which match either.
I also looked at the blend filter, with the idea that perhaps I could do something like this in the filter complex:
'[0:v]colorkey='$KEY1':0.1:0.2[ckout1];[0:v]colorkey='$KEY2':0.1:0.2[ckout2];[ckout1][ckout2]blend=c3_expr=min(input1_c3,input2_c3)[out2]' -map '[out2]'

The idea being that I would take the minimum alpha value (opacity) of each input source for each pixel and make that the alpha value for the output for that pixel.  I am assuming (it's not clear from the text) that the "c3" channel is referring to the alpha channel, but I don't see how to get the alpha value from each input.  What would go in place of input1_c3 and input2_c3?
Or is there another way to do this that is better?

Instead of always using [1:v], you would use the output of the previous one e.g. [ckout1]
My guess, you want this:
ffmpeg -i input1.mp4 -i input2.mp4 -filter_complex '[1:v]colorkey=0x6AA999:0.1:0.2[ckout1];[ckout1]colorkey=0x4D827A:0.1:0.2[ckout2];[0:v][ckout2]overlay[out2]' -map '[out2]' output.mp4

(Maybe the inputs switched around)
The overlay you are using is from https://ffmpeg.org/ffmpeg-filters.html#colorkey? My guess is, that you misunderstood, what the overlay does in the example there. The example describes overlaying 2 opaque videos on top of each other, where the upper video receives transparency first.
What you are doing is overlay the transparent version of input2 onto input1 and then colorkeying input2 again and putting that also on top of input1 and the first colorkey.

I tried with this filter, but it seems like it only applies the second colorkey
-filter_complex '[1:v]colorkey=0x016733:0.1:0.25:[ckout1];[ckout1]colorkey=0x32AB57:0.1:0.2:[ckout];[0:v][ckout]overlay[out]' -map '[out]' -map 1:a:?

I've been looking for the same question, and saw you almost had it and thanks to that I've found my own answer.
 What would go in place of input1_c3 and input2_c3?

TOP (or A) and BOTTOM (or B) will have the values you're looking for.


text:
Reusable Fusion Clip with Sound in Davinci Resolve
I have created a fusion clip in Resolve 16 which displays a logo. On my timeline I also have a sound clip to go with the animation. Those are the only two clips in my project.
Now what I would like to make this reusable. In a perfect world as a mov file with an alpha channel which I can just slap onto any timeline in any project.
I tried rendering (individual clips) with the Grass Valley codec so that I can export the alpha channel but the resulting mov has no audio and the quality of the logo is real bad. When I render it using H.264 I have a black background but the quality of the logo is as I would expect and the sound is there too.
So how do I go about making Logo Animation + Sound reusable? I should say that I'm fairly new to Resolve.
Edit: In the screenshots you can see the animation looking good in the fusion page. In the color page it looks good when played. When stopped artefacts are showing. After connecting to an alpha channel the artefacts become real bad.

Lasso both of them, right-click, and create a new compound clip. You could store this compound clip within a power bin, and it would be available for re-use in future projects. Or, you could write out a proRes 4444 file to your desktop and import into new projects whenever you need to (has to be 4444 at least to support transparency. If you use a different codec, be sure it does too; common ones like h.264 do not). In either case, if you have trouble with an alpha channel not showing up, you need to go into the color page, right click on the background of the node viewer and select “add alpha output”, then wire the new blue triangle output to whichever node you’re trying to get transparency from. BMD have made this step less necessary in some situations, and try to automatically display transparency when appropriate, but you’ll still encounter black sometimes, and if you do, that’s where you fix it. Oh, and when you say “render individual clips,” don’t use the render individual clips button n the deliver page. It’s for round-tripping to other software, it won’t export single clips like you see them on the timeline. To do that, you can right-click on the clip thumbnail in the deliver page and select “render this clip” from the drop down to set the in and out points to a single clip. The results are very different.

Thank you for taking the time to answer. I tried creating a compound clip and storing it in the power bin but DR does not allow compound clips to be stored in power bins.  As for the second approach: How do I export to proRes 4444? I can't find it in my list of codecs.

I think prores is only on mac.  I saw a recent headline about windows adding prores RAW, but I'm not sure of the details.  Anyway, avid DNx is what windows users typically use instead, though I'm not sure which variants support transparency.

Really strange about the error message with the power bins.  That's what I get for posting an answer without being in front of my computer.  Sorry about that.  The weird thing though is that even though it says it doesn't accept fusion files, it does.  If  you drag in a plain fusion clip without first compounding it, it doesn't give that error.

There are a couple of other things that might give you bad looking edges on things with transparency from the fusion page.  Some of them are resolve bugs, some of them user error, my general advice is to avoid ACES and RCM until the bugs are fully sorted out, and to make sure you're doing premultiplication correctly in fusion.  Premultiplication errors look like too dark or too light antialiasing; the ACES bug looks like too blocky/no antialiasing.

Thanks again, Json! Since I need to have the sound go with the animation storing only the animation in a power bin won't solve my problem. I figured now that I if I add an alpha channel in the coloring page, the clip looks already ugly. There is some white noise all around the animation. Removing the alpha channel connection removes the noise again. I try to compile some screenshots and add them to my post.

Once we get the artifacts fixed, you can work around the power bin issue by exporting the thing with sound, then save the export in a power bin.  I'll re-write my answer once we figure out what's really going on.  Your most recent edit, saying that you don't see artifacts while playing leads me to believe you might have an issue with caching.  The playback used by the cache can be a different format than what you see when the image is still.  It might look fine when you export.  You might try deleting render cache in playback menu & switching to playback->render cache->none.

What's the source of the MhalaTV Node?  Is it a .png that you brought in through the media pool?  It could be compression artifacts which are becoming amplified by incorrect colorspace or gamma settings in mediain and/or mediaout nodes, or by the project color settings.

It is indeed a tiny png file. But the artefacts occur even over the text node. And while the png is animated (rotation) it doesn't change its position.

I'm still playing around here and had a little success: In the fusion page I had a background node (transparent) which I had used to "fade out" the entire animation. After removing that node and the merger for it I now can export using dnxhr and there are no artefacts. But the result is a black background instead of a transparent video eventhough i connected the alpha output and selected export alpha in the delivery page.

IDK about windows players, but Mac quicktime player will show transparent as black, so it could be your player.  In resolve, you can right-click on the export in the queue, and choose "reveal in media storage" and drag the export back into your project.  Layer that over something else like a colored background or another piece of video to check alpha.  There's easier ways, depending on your setup, but that's the easiest thing I can think of which only depends on resolve.  On mac, quickview in finder works.

If it really is black, check the outputs on the color page again.  There should be a blue triangle alpha output wired up.

After a lot of back and forth I finally got it working. You were right I did not have the triangle connected. So it all works, but the rays don't . I don't know what's going on there but everything looks good except the light rays. I removed them. I'm a happy man now. Thank you so much for your help. I learned a lot through it!


text:
Delta encoding for video files?
I have a very high quality video and I need to produce a high quality and a low quality version for transport into other systems.
For the high quality version I use

a lossy compression (currently VP9 because I have HW acceleration for that)

For the low quality version I use

half the framerate (possibly I could use even lower)
lower resolution
cropping to 50% of the canvas
possibly an even lossier compression

Both video files need to be transferred over the same limited bandwidth link. The lower quality is somewhat time critical, so it needs to be as small as possible. The high quality video is not time critical, it can be transferred whenever free bandwidth is available. But the link being limited overall, I do not want to waste anything. Obviously some information is duplicated if I transfer the low quality video first and then the full high quality video. I wonder whether there are existing delta encodings that allow me to transfer only the low quality file and a delta file and reconstruct a high quality video at the destination.
Although information is duplicated, with standard video compressions I don't think there is much data duplicated if I just produce 2 videos using different parameters. So the delta would not be helpful. Instead the video encoding needs to be tuned in a clever way resulting in duplicated data that does not need to be sent twice.
A very naive algorithm to produce a useful delta would work like this: I start to produce the high quality version, thereby guaranteeing that every odd frame (if counting starts at 1) is an I-frame. To produce the low quality version I remove every even frame from the high quality version. So I get a low quality video with half the frame rate. As the delta I collect all the even frames and transfer them separately. At the destination I can combine odd and even frames again to losslessly reconstruct the high quality video.
Obviously that is not a very good algorithm. The delta will most likely be p-frames (or b if the codec used those). So I end up with a "big" low quality video and a "small" delta. The "other way round" would be preferred. Maybe the low quality video consisting of only I-frames could still be compressed using a lossless compression. This algorithm does not yet make use of cropping and downscaling. The cropping part I might be able to figure out myself without deeper studies in video encoding, the downscaling unlikely so.
So the question is: Are there known delta encodings for video files that would be applicable here? Preferably with an open source implementation.
As a further constraint I do not have a GPU available on the machine applying the delta. (But a GPU is available on the machine producing the delta.)

With an existing pair of videos, this can't be done. An encoded bitstream has its own syntax (hence called encoded), and the coded elements across different versions of the video (resolution, framerate) can't be correlated like that. A naive delta encoding would take up significant size.

@Gyan I don't expect that would be possible for any arbitrary pair of video files. The files need to be encoded with the delta in mind, like in my naive algorithm does. Edited the question to further stress that.

The closest but not identical tech is SVC but encoders are proprietary and support is limited. It is available for audio though e.g. WavPack.

Thanks @Gyan, SVC seems extremely close to what I'm looking for. It's specified for streams, but creating separate files for the substreams should be possible without needing to understand the coding theory behind it. According to https://lists.freedesktop.org/archives/gstreamer-devel/2012-May/035998.html no open source encoder exists. It's been 8 years, but maybe the situation is still unchanged?


text:
Matching colors between two clips
(Newbie alert) Using DaVinci Resolve 16 free, I'm trying to create a video trick in which I tap a ball out of my laptop. The two clips I'm using are (1) laptop being tilted and tapped, (2) ball dropped on the table.
I made two attempts to combine the two using masking but the results are bad and I need advice. The main problem is the shadow cast by the laptop. Here are the two attempts, using Fusion:

First, did exhaustive masking over the tilting laptop for (a) hiding part of the ball's trajectory and (b) masking out the laptop shadow. Unfortunately there is a small yet visible color mismatch between the two clips and the mask outline is clearly seen:

Reverted the above, tried masking around the ball. In this case the ball doesn't interact with the laptop shadow and thus looks unreal.

Is there a better way? Is there a better newbie place to ask these kind of questions?

Please post images, or links to video of works in progress.  I don't understand what you mean by "hiding part of the ball's trajectory" without seeing what you're talking about.  To cover up "small yet visible color mismatch [...] and the mask outline," what you normally do is feather (blur) the mask.

@JasonConrad I'll post images pretty soon. Meanwhile I'll say that the main problem is that the two clips are ever-so-slightly in a different color. I haven't heard of mask blurring, is this possible in Resolve?

I've added an image to the original post.

Probably the best option is filming in manual mode and with some fixed lights in the first place. :o(

One of the biggest ironies of working with visual effects is that if you've done your work well, the audience won't notice the work you've done.  Good effects appear effortless; the better the effect, the more effort concealment required.  So when you ask, "Is there a better way?" the bad news is: Not if you're looking for an easier way.
The good news is:  You're on the right track.  You've done everything right so far, and all you need to do is add a little more polish to get the results you're after.
I think that one thing that will help a lot in your case is feathering the mask edge, which is definitely possible in Resolve/Fusion.
With a polygon or bspline node in fusion, you can either use the "Soft Edge" slider (easier) to feather the whole edge uniformly, or activate the "Make Double Poly" icon (more control), which is the capital letter "D" icon with double lines in the row of icons at the top of viewer whenever the polygon/bspline node is selected.
Press and hold the letter "O" on your keyboard while dragging one of the shape knots to drag out the feathering (it's fully sharp and hidden at first). Then, if your masks are animated, you can "Right-click-here" in inspector to animate both the inner and outer polygon edges.

Speaking of animated edges, you say that you "did exhaustive masking over the tilting laptop."  When you say "exhaustive," I assume that you mean you've animated the mask as the laptop moves.  It's hard to know the right approach to this particular shot without seeing the moving footage, but it seems like you're on the right track.  You should know that animating masks by hand can be counterproductive in some cases, and draw attention to your subterfuge, however.  If the camera is completely stationary, and depending on the circumstances, there are certain times when it's easier and more effective to use a static shape.
The rest of the time, keyframing a mask by hand usually isn't sufficient by itself, and is often combined with other techniques to achieve the desired results.
One of those other techniques, would be to use a greenscreen.  When a keyframed matte is combined with a greenscreen, the matte is called a "garbage matte" because it roughs out the unused portions of the screen, allowing the keyer to perform more accurately.
But since you're not using a greenscreen, the the other technique you might want to add into the mix is tracking.
If your footage is hand-held, and the laptop is moving organically (i.e., it's held by a person, not in freefall, following a parabolic arc, sitting still, etc), then a keyframed matte alone will never match the object's motion.  In these cases, it helps to first track the movement of the object, using either DaVinci's Point tracker, or a planar tracker (which would be good in this case because the laptop is a flat plane) to do the lion's share of the work, and THEN keyframe misaligned edges, and finally  selectively feather the result wherever necessary.  It's probably not necessary to feather it much along the face of the laptop, for example, because that's a straight line.  But the edge that overlaps the woven basket in the background would be difficult to conceal any other way.
And finally, since your question is about color correction, yes, getting the color of your foreground plate to better match the background plate as closely as possible will help sell your composite.  There are some auto-match features on Resolve's Color page, but Fusion happens before Color in the order of operations, so you'll want to match the plates in Fusion as best you can.  Since everyone's color vision is slightly different, it's best to not trust your own eyes when color matching.  Use the waveform monitors and vector scope in Fusion if you're comfortable with that, but what I like to do is match each color channel individually.  Use the r, g, and b keys on the keyboard to single out the individual color channels in fusion, then match the contrast levels of each.  Cycle through them all a couple of times until your satisfied, hit the "C" key to switch back to full color, and you'll be surprised at how misleading your color vision is on its own.

Jason, I didn't dream I would get such a knowledgable and comprehensive answer, this is amazing!
Soft edges to my mask did the trick this time, however I will definitely use your great advice for my next experiments.
Here's the final result:
https://www.youtube.com/watch?v=xzbJY_j3NY0
What was causing the different tone between shots was me, standing on the other side dropping the objects...
Thanks!


text:
Do you use OpenEXR file format during making your video production? In the field of VFX
Do you use OpenEXR file format during making your video production? In the field of VFX.

OpenEXR is mostly used for VFX.  It's a good format to get 3D renders into and out of compositing software because it can use 32 bits of precision, and store "deep pixel" information, such as vertex normals, ambient occlusion, z-depth, global illumination, etc.  The type of information is actually arbitrary; you could store temperature data on a per-pixel basis, if you wanted.  The files tend to be larger than most other formats, so if you don't have a good reason to use it, you shouldn't use it.

@Konskoo - if you have a question about colour depth, please don't ask it in a comment - that is not what these are for. Please post a well formed new question following the guidance in [about] and [ask]


text:
Remove freezes in stream record using FFMPEG
I have original video with stream record. I need to remove freezes caused by network issues. I notice that sometimes it freezes only video, sometimes video and audio.
I tried to use command:
ffmpeg -i original.flv -c:v libx264 -crf 23 -preset veryfast -err_detect ignore_err -max_muxing_queue_size 9999 -vf 'setpts=N/FRAME_RATE/TB' -af 'asetpts=N/SAMPLE_RATE/TB' out.mp4
As result freezes was removed but audio out of sync. I notice that last 3 seconds of converted video has only audio without video. Original video haven't audio sync issues
Can I remove frames where missed video and audio?
ffmpeg version 4.2.2
ffprobe of original video:
Input #0, flv, from 'original.flv':
  Metadata:
    encoder         : Lavf58.29.100
  Duration: 00:07:37.55, start: 0.000000, bitrate: 3810 kb/s
    Stream #0:0: Video: h264 (High), yuv420p(progressive), 1920x1080 [SAR 1:1 DAR 16:9], 30.30 fps, 30 tbr, 1k tbn, 60 tbc
    Stream #0:1: Audio: aac (LC), 44100 Hz, stereo, fltp, 160 kb/s

ffprobe of converted video:
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'out.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf58.29.100
  Duration: 00:05:31.56, start: 0.000000, bitrate: 3367 kb/s
    Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], 3289 kb/s, 30 fps, 30 tbr, 15360 tbn, 60 tbc (default)
    Metadata:
      handler_name    : VideoHandler
    Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 128 kb/s (default)
    Metadata:
      handler_name    : SoundHandler

This can't be done. If frames were dropped or lost during recording, they can't be recovered. At best, you can reduce the duration of freezes, as you have done.

@Gyan I don't need recover lost frames. My problem is audio out-of-sync after removing freezes using command above

@gr8 Did you find a solution for this?

@ScottCate no, not found


text:
Play two soundtracks, from an "mkv" movie, on two different devices
I have "mkv" movies with two soundtracks, one English and one French.
I'd like to play the video and the French soundtrack on my TV and the English soundtrack on my bluetooth earphones.
Is there a player capable of doing that?


text:
Larger video size after exporting from .mov to .mp4
I'm working on video editing on VSDC and my exports are so much larger then the original video when I export it into mp4 format.
All I did to the video was delete the sound from the video and replace it with the same sound which I cleaned up a bit with audacity and exported into wav-format.
The original size of the video was 34MB and the wav-file was about 4MB but the export was over 200MB.
I exported it with the option that the software was for YouTube and set the quality for 1080p.
I don't understand what's going on!
Could it be that my original video is of a lesser quality then 1080?
And the software is adding filler pixels?
The original was a mov-file.
Are these the numbers I should be looking at?

I got a more reasonable file size of 31MB when I exported to avi.
And exporting to mkv is only 41MB.

You first need to tell us which software you're using. I'm assuming it's the adobe media encoder? Handbrake? ffmpeg?
Nonetheless, the filesize is determined by your resolution, framerate and bitrate. Try exporting the video with VBR with 2 passes and set the bitrate to something between 3 and 6 - that should be enough for a 1920x1080 h264.

*3 to 6 kbps.  And I'd emphasize that framerate matters here, so more towards 6 kbps for 30 fps.

How do I find what media encoder I'm using?

@ClassicNoob I mean the program you use for the encoding. Which software are you putting these settings in?

I'm guessing you'r asking what software I'm using. As I mentioned in my first post I'm using VSDC. Here is a link to their website http://www.videosoftdev.com/