text:
2022 Premiere on New Macbook M1 export color looks terrible. How to fix?
I have a huge problem. Editing on new Macbook, latest version of Premiere. Color looks awesome in Premiere, on export, it is unwatchable.

I tried applying the Gamma Correction LUT and it helped one or two notches but still unwatchable.
I don't know what to do.
I have disabled True Tone and this happens each time I export.

Watched the video on other devices, and the color is still terrible.
How can I fix this?
Update:
Turned on Color Management. So now the timeline and export look equally bad.
Switched Display to HDR Video which is P3. Still export looks terrible.


text:
ffmpeg conversion losing frames
I am using ffmpeg to load and mp4 and save an mp4. When I load the source mp4 (from android screen record) into blender, it will not import properly and unusable.
When I run the mp4 through ffmpeg, the problem is resolved. A new problem is unfortunately introduced.
The resulting video is at a noticeably lower framerate. It is distinguishable to the naked eye, and I have unanimously had three other people confirm that the output video is choppy where the source video is not.
The funny thing is, is that when loaded in VLC, it is reported they are both at 12.58 fps under tools>media info>codec. The source video still looks smooth though, where the output does not.
Does anyone have an direction that could be given in possibly rectifying this problem?
Thanks
Here is the command and the output
ffmpeg -i android_record1.mp4 -crf 18 ../corrected/output.mp4
ffmpeg version N-78598-g98a0053 Copyright (c) 2000-2016 the FFmpeg developers
  built with gcc 5.3.0 (GCC)
  configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libdcadec --enable-libfreetype --enable-libgme --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-libzimg --enable-lzma --enable-decklink --enable-zlib
  libavutil      55. 18.100 / 55. 18.100
  libavcodec     57. 24.103 / 57. 24.103
  libavformat    57. 25.101 / 57. 25.101
  libavdevice    57.  0.101 / 57.  0.101
  libavfilter     6. 34.100 /  6. 34.100
  libswscale      4.  0.100 /  4.  0.100
  libswresample   2.  0.101 /  2.  0.101
  libpostproc    54.  0.100 / 54.  0.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'android_record1.mp4':
  Metadata:
    major_brand     : mp42
    minor_version   : 0
    compatible_brands: isommp42
    creation_time   : 2016-02-24 20:17:38
  Duration: 00:00:33.54, start: 0.000000, bitrate: 921 kb/s
    Stream #0:0(eng): Video: h264 (Baseline) (avc1 / 0x31637661), yuv420p, 1280x800, 918 kb/s, SAR 1:1 DAR 8:5, 12.94 fps, 90k tbr, 90k tbn, 180k tbc (default)
    Metadata:
      creation_time   : 2016-02-24 20:17:38
      handler_name    : VideoHandle
[libx264 @ 00000000039fea40] using SAR=1/1
[libx264 @ 00000000039fea40] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 AVX2 LZCNT BMI2
[libx264 @ 00000000039fea40] profile High 4:4:4 Predictive, level 3.2, 4:2:0 8-bit
[libx264 @ 00000000039fea40] 264 - core 148 r2665 a01e339 - H.264/MPEG-4 AVC codec - Copyleft 2003-2016 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x1:0x111 me=hex subme=7 psy=0 mixed_ref=1 me_range=16 chroma_me=1 trellis=0 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=0 chroma_qp_offset=0 threads=6 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=0 weightp=2 keyint=250 keyint_min=12 scenecut=40 intra_refresh=0 rc=cqp mbtree=0 qp=0
Output #0, mp4, to '../corrected/output.mp4':
  Metadata:
    major_brand     : mp42
    minor_version   : 0
    compatible_brands: isommp42
    encoder         : Lavf57.25.101
    Stream #0:0(eng): Video: h264 (libx264) ([33][0][0][0] / 0x0021), yuv420p, 1280x800 [SAR 1:1 DAR 8:5], q=-1--1, 12.94 fps, 315k tbn, 12.94 tbc (default)
    Metadata:
      creation_time   : 2016-02-24 20:17:38
      handler_name    : VideoHandle
      encoder         : Lavc57.24.103 libx264
    Side data:
      cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: -1
Stream mapping:
  Stream #0:0 -> #0:0 (h264 (native) -> h264 (libx264))
Press [q] to stop, [?] for help
Past duration 0.725090 too large
Past duration 0.716301 too large
Past duration 0.818840 too large
Past duration 0.936516 too large   2196kB time=00:00:05.71 bitrate=3145.4kbits/s dup=66 drop=0 speed=9.91x
Past duration 0.644524 too large
Past duration 0.733879 too large
Past duration 0.888176 too large
Past duration 2.010735 too large
Past duration 0.915520 too large
Past duration 0.774406 too large   3675kB time=00:00:14.37 bitrate=2094.3kbits/s dup=149 drop=8 speed=  13x
Past duration 2.095695 too large
Past duration 1.697746 too large
Past duration 0.891594 too large
Past duration 2.141594 too large   4102kB time=00:00:22.02 bitrate=1525.6kbits/s dup=224 drop=18 speed=13.7x
frame=  436 fps=180 q=-1.0 Lsize=    4702kB time=00:00:33.69 bitrate=1143.2kbits/s dup=227 drop=225 speed=13.9x
video:4699kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.054633%
[libx264 @ 00000000039fea40] frame I:2     Avg QP: 0.00  size:316054
[libx264 @ 00000000039fea40] frame P:434   Avg QP: 0.00  size:  9630
[libx264 @ 00000000039fea40] mb I  I16..4..PCM: 53.7%  0.0% 46.3%  0.0%
[libx264 @ 00000000039fea40] mb P  I16..4..PCM:  1.3%  0.0%  0.4%  0.0%  P16..4:  3.5%  0.2%  0.1%  0.0%  0.0%    skip:94.6%
[libx264 @ 00000000039fea40] 8x8 transform intra:0.0% inter:25.9%
[libx264 @ 00000000039fea40] coded y,uvDC,uvAC intra: 52.8% 52.4% 51.4% inter: 2.1% 2.9% 2.9%
[libx264 @ 00000000039fea40] i16 v,h,dc,p: 50% 50%  0%  0%
[libx264 @ 00000000039fea40] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 31% 49%  6%  3%  3%  2%  2%  2%  3%
[libx264 @ 00000000039fea40] i8c dc,h,v,p: 21% 47% 32%  0%
[libx264 @ 00000000039fea40] Weighted P-Frames: Y:0.0% UV:0.0%
[libx264 @ 00000000039fea40] ref P L0: 90.2%  1.2%  6.2%  2.4%
[libx264 @ 00000000039fea40] kb/s:1142.43

Please paste the conversion command and its full console output.

Your source video is variable frame rate and then there's a great variance in the last third of the file -> notice ffmpeg has only dropped 18 frames upto the 22nd second of the video, but then drops 200 in the last third. What does mediainfo show as max or peak frame rate for the video?

Media info just showed 12.95 framerate. Is it possible that it is being converted from variable to fixed framerate, and the fixed framerate is the minimum framerate of the source?

Yes, it will be fixed framerate as ffmpeg only outputs fixed rate MP4s. Are you viewing mediainfo via VLC or standalone app (from my link)?

Media info only reports one framerate at 12.94 fps

Your source video is variable frame rate and then there's a great variance in the last third of the file. I estimate a peak framerate of 30 fps, based on a crude calculation, so try
ffmpeg -i android_record1.mp4 -crf 18 -r 30 ../corrected/output.mp4

Experiment with higher values, if needed.

source: Stack Exchange

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

sort: votes


text:
Ffmpeg gui tool to apply filters
Are there any GUI applications (linux or windows) that allow you to apply ffpmeg filters to a video and observe the changes in a preview in real time?

that program does not allow you to apply filters

FfmpegGUI seems what you want: https://github.com/RomanSichkaruk/FFmpegGUI

The Avanti GUI, for Windows, allows you to preview filters. One has to select the FFmpeg Script Editor tab and insert -vfout filtername under [USER_VIDEO_OPTIONS]. Consult the docs for exact syntax. Once entered, click on the 'Preview Filters' button.

Avanti is abandoned now but since it's a frontend, what does it matter for this Q?

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

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


text:
Batch video editing software that can trim without re-encoding
What application is there that can open a video, modify it, and save it?
(the software that I am using now, only allows the video to be used as a source, and then exported)
I have adobe premier, but it does not actually edit videos, you have to make a new project, and set the output type/settings, then import the video, then bring in the video, edit it, and then save it.
I also have iMovie, and again, project, import, edit, export.
Is there any application that I can open a mp4 video make edits (clipping segments) and save it in the same format/size/container/etc as it was opened in?

If I understand correctly you want to avoid rendering out a new video. You just want tp cut a piece of video and click save. Quicktime Player on the Mac (and probably on Windows) allows you to do this.

h.264 is not an all-I-frame codec. That means that the frames are dependant on other frames. This is a problem when you cut it, because you may be trimming off the frames on which it depends. TL;DR: You'll find that it will have to be at least partially re-encoded no matter what you use.

I'm not asking for the software to edit for me, just trying to update the workflow.  My workflow now is, [new project (setup dimensions), import source, edit new video, export video w/o right settings], instead i want to [open video, edit video, save video (in original format/dimensions)

The mac tag was added to the question, while I do not disagree - The ffmpeg answer should work on multiple operating systems. So if you are reading this looking for an answer in windows or linux, this is applicable.

If you can script yourself, all you need to do is call FFmpeg repeatedly:
ffmpeg -ss [start-time] -i input.mp4 -c copy -t [clip-time] output.mp4

Here, start and clip times can be in the form HH:MM:SS.mmmm, or just in seconds.

To give you a rough idea how that'd look like in Ruby, see this Gist of mine. It contains a script that takes an edit list, a folder of videos, and cuts them accordingly. I've used it very often for cutting videos based on an input edit list.
The edit list would look like that, with the timestamps in the proper FFmpeg format (e.g. 00:00:24.240) and the difference passed to -t in the last column.

Note that you can't expect it to work with any input/output without synchronization issues. If that's the case, you need to re-encode video and audio parts. I wouldn't use that script of mine though as it's not very … eloquent in that regard. Rather cut your video in a NLE.

THIS is perfect.  Thank you very much.  Exactly what I needed.

Thanks! Let me know if you run into problems, I'm happy to improve that script – been a while since I've used it!

Open your video in Quicktime Player, click Edit -> Trim and place the start and end marks at the desired beginning and end of your clip. Hit Trim and then click Save.

the only problem is it changes the video format, wish it could keep the format, but this is much faster then editing with the tools I was using.

Faster yes, but it's very limited. I just now see that you have a batch of files, then ffmpeg might come in handy. Just google ffmpeg and if you have any specific questions regardin ffmpeg and trimming you can ask them here of course. And not sure if it's an error but you've chose Chris's answer as accepted.

AVS4YOU and Filmora can do this but they are 60USD.
Avidemux can do this for free (and the above software may even be reboxed Avidemux) but it will only cut one video where as these others will cut your video into lots of clips, saving each separately.
There is also losslesscut which is a GUI for  ffmpeg seems to be able to do all that the commercial stuff does for free. You press the "i" and "o" (in and out) keys to set a cut, and press the c+ button to set a second cut.
https://github.com/mifi/lossless-cut
Unfortunately it does not seem to work with the video that I have created using Vegas.

LosslessCut is amazing, very simple and quick. I have wanted a tool like this for so long. Thanks for the recommendation.

My pleasure. The lack of an audio track on Losslesscut forces me to use AVS4YOU for the time being.

What do you mean by "Edit"? If splitting/cutting all you need, take a look at
AVS Video Remaker, which makes it without conversion.

This is also perfect, but I use a mac.  But its the right type of software to solve simple edits w/o conversion.

Try Adobe Media Encoder. Import your clips, trim them, and batch export.

This will re-encode the video. The question asked how to avoid this.

I think you are trying to reinvent the wheel here...premiere does exactly what you want it to do, just use google to figure out the parts you dont understand

OK- I have about 51 videos to trim, they are not uniform size, so im googling, but it seems like I need to set the dimensions for each project, and i must create the project for each video i want to edit, but im googling..

I was not able to find a way for premier to do this, it always has to follow the new project, new scene, import, trim, export/encode.  Thats a lot of work to trim videos.  I am accepting Barts answer, even tho that one changes the video format, i can batch encode them all after I finish the trims.


text:
After Effects Crashes When Exporting To Media Encoder
When I try to add my work to media encoder queue it used to give me an error about missing plugin.  I found a video online that said to make a symlink from default location to where I have it installed so I did this:
mklink /J "C:\Program Files\Adobe\Adobe Media Encoder CC 2015" "D:\Program Files\Adobe Media Encoder CC 2015"

Now when I go to add to media encoder queue, the media encoder splash screen appears and then it instantly crashes.
Does anyone know what I can do to get it working?

Media encoder takes a real long time to open, I think this is the problem.  If I open media encoder first then after effects second it will export properly.  Just got to wait 5 mins for media encoder to open fully first.


text:
GStreamer mpegtsmux produces empty output file
I'm trying to construct a GStreamer pipeline to transcode MPEG2 video and MPEG1 audio in a MPEGTS container to H.264 and AAC and output to a filesink.
The problem is: the output file is empty.
If I change the MPEGTS muxer to FLV muxer or Matroska, it works perfectly.
My pipeline:
/usr/bin/env GST_DEBUG=3 gst-launch-1.0 souphttpsrc location="INPUTURL" is-live=true  ! decodebin name=demux demux. ! queue ! audioresample ! audioconvert ! avenc_aac ! mux. mpegtsmux name=mux demux. ! queue ! videoconvert ! x264enc bitrate=2000 ! mux. mux. ! filesink location=/srv/hls/out.ts


text:
How is the default video player in Windows 10 achieving the low CPU utilization while playing FHD videos
I am trying to understand how the default Windows 10 player (called "Films and TV") is able to play FHD (1920 x 1080 x 60fps) videos (shot with GoPro 4) and utilize only around 10% of the CPU, while other players namely VLC and GOM will utilize around 60-70% CPU.
I tried looking at GPU utilization, but even there while using the default Windows 10 player utilization is around 15% vs around 30% when using VLC and GOM.
Right now this looks like magic to me as FHD playback is taxing on the hardware and I can't figure out what is going on. I am thinking the difference will be in the decoder used, but can't find more information.
The CPU / GPU used are Core i5 5200U / Intel HD Graphics 5500
VLC Player CPU utilization:

Films and TV CPU utilization

This is the info for a sample video file.
General
Format                                   : MPEG-4
Format profile                           : Base Media / Version 1
Codec ID                                 : mp41
File size                                : 2.61 GiB
Duration                                 : 12mn 23s
Overall bit rate mode                    : Variable
Overall bit rate                         : 30.1 Mbps

Video
ID                                       : 1
Format                                   : AVC
Format/Info                              : Advanced Video Codec
Format profile                           : High@L4.2
Format settings, CABAC                   : Yes
Format settings, ReFrames                : 1 frame
Format settings, GOP                     : M=1, N=30
Codec ID                                 : avc1
Codec ID/Info                            : Advanced Video Coding
Duration                                 : 12mn 23s
Bit rate mode                            : Variable
Bit rate                                 : 30.0 Mbps
Width                                    : 1 920 pixels
Height                                   : 1 080 pixels
Display aspect ratio                     : 16:9
Frame rate mode                          : Constant
Frame rate                               : 59.940 fps
Color space                              : YUV
Chroma subsampling                       : 4:2:0
Bit depth                                : 8 bits
Scan type                                : Progressive
Bits/(Pixel*Frame)                       : 0.241
Stream size                              : 2.60 GiB (99%)
Title                                    : GoPro AVC
Color primaries                          : BT.709
Transfer characteristics                 : BT.709
Matrix coefficients                      : BT.709

Audio
ID                                       : 2
Format                                   : AAC
Format/Info                              : Advanced Audio Codec
Format profile                           : LC
Codec ID                                 : 40
Duration                                 : 12mn 23s
Bit rate mode                            : Constant
Bit rate                                 : 128 Kbps
Channel(s)                               : 2 channels
Channel positions                        : Front: L R
Sampling rate                            : 48.0 KHz
Compression mode                         : Lossy
Stream size                              : 11.4 MiB (0%)
Title                                    : GoPro AAC

VLC reports the following video output in: Tools -> Messages -> Module Tree -> playlist -> video output
window "qt4" (0x5a738fc)
vout display "direct3d" (0x5a57a34)

subpicture (0xf456b4)
spu text "freetype" (0x5a24264)
scale "yuvp" (0x5a70c1c)
scale "swscale" (0x55a1eac)

Probably different renderer and/or filters used with VLC/GOM. In VLC, what does Tools -> Messages -> Module Tree -> playlist -> video output say?

@Mulvya Added the requested info in the body of the post/question.

Do both players played 1080p? In other words, is your display 1080p and you played the movie full-screen on both tests? If you just play in a small window it is possible that F&TV runs a partial rendering.

@avnr My display is 1600 x 900 and player are running maximized, though not in full screen.

Quite possible that the Windows player can make use of some HW acceleration the others can not / are not using.
Check this how to enable HW video decoding on VLC:

https://wiki.videolan.org/VLC_GPU_Decoding
https://superuser.com/q/128478/228841

If you are using VLC 2.2.2 check this
https://forum.videolan.org/viewtopic.php?t=130590
UPDATE from the author of the question:
Adding screenshot from VLC v. 2.2.1 to compliment this answer.
VLC 2.2.1 with Hardware Acceleration enabled.

Unlikely. Even if so, H/W accel uses GPU and FTV shows half the GPU use as well.

If your gpu does HW video decoding, I don't think it would even register as high GPU usage since it is Hardware Decoding.

http://superuser.com/q/128478/228841

The hardware decoder is part of the GPU die, so I'm not sure how that affects my point.

Your point is that HW decoder utilization should register on the GPU graph. Which It not necessarily does if there is a DSP actually doing the processing and not a piece of software that "runs" it's code on the GPU.

Depending on how efficient the decoder is, it should still affect the temps. Compare the GPU temps. The chief discrepancy here seems to be the post-processing/renderer, not the decoding.

No, it wouldn't. You can run FullHD H264 movies on a raspberry pi, thanks to hardware acceleration and you wouldn't notice a temperature change.

If you look at the first chart here (with the default renderer), Quicksync decoding consumes more power than DXVA2. When I compare VLC playback of FHD 30fps with s/w decode vs DXVA2 using a nV card, I register a 5% increase in GPU (30 -> 35) and 1-2 C increase in GPU temp in the latter case. That suggests that decoding doesn't account for all the discrepancy in the OP's case.

The point is: there cannot be any other real explanation for his / her original question. The Windows player uses some kind of acceleration the others are not. This also lines up with other search results related to that subject: one article praising the Windows player as less battery consuming, other articles speaking of high CPU utilization when using VLC. I think your energy would be more wisely invested trying to to figure out WHICH acceleration is missing in the other players than arguing that there is none.

I'm not arguing "WHICH acceleration is missing". I'm saying the discrepancy isn't explained by different decoding pipelines between the players.

Using ( or not using)  a HW decoder results in a different decoding pipeline. Sorry man I really think you're getting nowhere with this. And also I don't find it interesting discussing the existence of something obvious.

I have to agree  with Hans Meiser. GPU decoding absolutely explains this behavior.

@HansMeiser Today I downgraded VLC player to version 2.2.1 (in 2.2.2 hardware acceleration isn't working as you pointed out) and results are similar (though not as good) as the default Windows player. Therefore I believe hardware acceleration will explain the big difference in resource utilization. The minor difference probably has to do with some further optimizations.

Yeah, GPU decoding does explain the CPU %. But not the GPU %, which looks due to VLC's filters+renderer.


text:
After Effects, can I parent specific points on a path to a null object?
Can I select two points on a rectangle and have them follow a null object's movement? I want one side of several shapes to stay put, and the other side to track an eased movement.
I believe stib has answered this, but as per tomh's comment I'll post a gif anyway to explain. There is probably an even simpler way to do what I'm trying to.

The grey box on the right is swiped right to left with a steep ease curve. The boat graphic needs to scale with the same curve as the X position of the grey box so they move together. Making the first ease is simple, but I had to 'bake' the second curve frame by frame, then smooth it as best I could, but the OCD in me wants the curve to be identical! It also might be useful for future projects.
I thought, if I could make a rectangle where the two left paths are stuck on the far left of the comp, and the two right paths track the movement of the grey box, that this would make my perfect, mask for the scaling boat layer.

I think you might need to add a diagram to explain what you mean. Do you mean that the rectangle will warp in shape? If so, you could look at using puppet pins, which can be parented to separate nulls.

Use the puppet tool to do this. Place puppet pins on the rectangle and they will allow you to distort the rectangle to follow them. You may need other puppet pins or starch to hold the rest of the rectangle in place.
Then connect their position to the null using an expression:
thisComp.layer("<the name of the null>").transform.position

or if the nulls are parented to something else:
thisComp.layer("<the name of the null>").toWorld(thisComp.layer("<the name of the null>").transform.anchorPoint)

EDIT Are you asking whether you can attach specific points on a vector path to a null? Not natively, but there is a third party plugin that lets you animate individual path points: http://aescripts.com/bao-mask-avenger/ Fairly pricey though.


text:
Using ffmpeg to stream to or from Blackmagic Decklink Card
I want to use blackmagic cards with ffmpeg to stream their input but there is a problem.
When I use "H264 Pro" Encoder as a "decklink" or "dshow" input, I see this error in command line output of ffmpeg. Device is ok and I can Use it with other applications like MXPTiny or MXLight.
Here is the command and output:
ffmpeg -f dshow -list_devices true -i dummy -hide_banner
[dshow @ 0000000004efa5a0] DirectShow video devices (some may be both video and audio devices)
[dshow @ 0000000004efa5a0]  "Integrated Webcam"
[dshow @ 0000000004efa5a0]     Alternative name "@device_pnp_\\?\usb#vid_0c45&pid_641d&mi_00#7&11c87d18&0&0000#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\global"
[dshow @ 0000000004efa5a0]  "Decklink Video Capture"
[dshow @ 0000000004efa5a0]     Alternative name "@device_sw_{860BB310-5D01-11D0-BD3B-00A0C911CE86}\{44A8B5C7-13B6-4211-BD40-35B629D9E6DF}"
[dshow @ 0000000004efa5a0] DirectShow audio devices
[dshow @ 0000000004efa5a0]  "Microphone (2- High Definition Audio Device)"
[dshow @ 0000000004efa5a0]     Alternative name "@device_cm_{33D9A762-90C8-11D0-BD43-00A0C911CE86}\wave_{11A03288-DE6D-4A21-A66E-DC9303E838FA}"
[dshow @ 0000000004efa5a0]  "Decklink Audio Capture"
[dshow @ 0000000004efa5a0]     Alternative name "@device_sw_{33D9A762-90C8-11D0-BD43-00A0C911CE86}\{AAA22F7E-5AA0-49D9-8C8D-B52B1AA92EB7}"
dummy: Immediate exit requested

and when I use "Decklink Audio Capture" to identify its options, here is the output:
ffmpeg -f dshow -list_options true -i video="Decklink Video Capture" -hide_banner
[dshow @ 000000000388a660] Unable to BindToObject for Decklink Video Capture
[dshow @ 000000000388a660] Could not find video device with name [Decklink Video Capture] among source devices of type video.
video=Decklink Video Capture: Input/output error

Which binary are you using?

Did you tried it with the UUID? ffmpeg -f dshow -list_options true -i video=@device_sw_{860BB310-5D01-11D0-BD3B-00A0C911CE86}{44A8B5C7-13B6-4211-BD40-35B629D9E6DF} Also, are you sure that you installed the blackmagic drivers?

@Mulvya I used static builds which are downloadable on link.
@ Gergely Lukacsy I tried UUID of devices and result is the same. I also installed blackmagic drives because I can use it by MXPTiny as i mentioned in my question !

I know this is pretty old BUT as far as I know ffmpeg and Blackmagic Gear, you will have to set your input options according to the Stream it gets from the H-264 encoder.
So you need to tell ffmpeg that it gets H-264 encoded video and AAC encoded audio - then it should work.
This is not an issue with the DeckLink cards as they output raw video data.
You might give it a shot...

As far as I know, there in no direct support for BM H264Pro in ffmpeg "decklink" input device. They just support decklink pci cards with raw video production. I should first retrieve H264 output in some way the pipe it to ffmpeg for processing and transcoding.

It seems that Ffmpeg has a dedicated input mechanism for decklink devices, maybe give that a shot?
https://www.ffmpeg.org/ffmpeg-devices.html#decklink
Sounds as if it might be necessary to recompile Ffmpeg with decklink support though.

Also see this thread where someone mentions you need to additionally specify the exact input format since it doesn't seem to be auto detected: https://ffmpeg.zeranoe.com/forum/viewtopic.php?t=1126

I will try to compile last ffmpeg version with decklink support but all current static versions have(support) this option now. I also tried the link you mentioned and there was a compiled version here but the result is same as before.


text:
YouTube message suggesting wrong compression settings (Wondershare Filmora)
I was wondering if anyone can help me? Whenever I uploaded a video to Youtube. I always get this message…(videos would upload faster if you have the right settings for your video). I think I doing the right rendering settings for my video in Wondershare Filmora.
Here are my render settings:
Encoder: Mpeg4 or H264(HD Optimized)
Resolution: 1920 x 1080 pixels
Frame Rate: 29.97
Bit Rate: 8000 or 10000 (My video bit rate usually says 32189)
Audio Bit Rate: 128kbps
Channel: 2 Stereo
Audio sample rate: 48khz
One of my videos information:
MP4
Resolution: 1920 x 1080 pixels
Frame Rate: 29
Bit Rate: 32189
Channels: 2 Stereo
Audio Bit Rate: 134kbps
Audio sample rate: 48khz

So what happens if the video is completely uploaded, does it look ok? It so, I think there is nothing you have to worry about except for this "wondershare" thing I have never heard of which apparently does a really bad job of reaching your target bitrate.

There are plenty of great freeware video encoders, maybe take a look at "handbrake". https://handbrake.fr

The video looks fine to me. Also, I've Cyberlink Powerdirector 12 installed on my laptop including Adobe Photoshop CC. I sure you know about video editing in Photoshop.
I'll check out handbrake.

The sinc message is typical when music track is not the same length as your vid. Ignore it.

What that message likely indicates is that the MP4 produced by Filmora does not have its MOOV box at the beginning of the file. The MOOV box has metadata about the audio and video streams contained in the MP4.
Why this matters is that Youtube speeds up processing by breaking the uploaded video into segments, processing those segments in parallel, and then joining the processed parts into a whole video again. If the MOOV box is at the front of the file, Youtube is able to start creating the segments and dispatch them for encoding as the file is being uploaded. If the MOOV box is at the end of the file, it has to wait for the whole file to be uploaded before it can start processing.
A cursory search did not reveal how to get Filmora to place the MOOV at the beginning of the MP4.

Hmm, that interested. A person I know used a software that wasn't Wondershare Filmora but he got the message. I don't remember the software he used.

Any MP4 without a MOOV box upfront will trigger that message. Doesn't matter which software produces such a file.

What software do you use?

Sony Vegas Pro and Adobe Premiere Pro CC.

I am not entirely sure how YouTube determines you are using "wrong" settings but as long as your video doesn't take a horrendous amount of time to upload and it appears to be fine on YouTube, I wouldnt worry about that message. Your settings look ok to my eye. The only thing that is off, is that this wondershare software seems to ignore your bitrate setting since the actual bitrate of the output file is much higher than what you apparently set as a target bitrate. This is no problem though since YouTube always recompresses uploaded files.

Okay! I will try not to worry about that message. Anyways, I just download Handbrake. Do you know of any tutorials on how to use Handbrake?

this might be helpful for you, if not there are plenty of tutorials on youtube
https://www.youtube.com/watch?v=2hmV7g6WTV4

Thank you! Just a question. Hopefully, you can answer it. I did some test videos in Cyberlink Powerdirector 12. I uploaded them to Youtube and got the same message.

I've looked at some tutorials on how to used Handbrake. I have followed them and did some tests. Now, I received a message about the video audio being out of sync. Just trying to figure it out. @Hans

Again, if your video plays fine - obviously keep an eye open if audio and video stay in sync - just ignore that message.


text:
How can you correct EBU R128 loudness in Premiere?
I have to follow this directives on a Sony XDCAM 4222 50Mbit 25fps PAL timeline with 8 x 24bit 48kHz audio channels .

Alignment Level (AL) shall be –18dBFS with respect to maximum audio coding level (PPM4 on a BBC PPM – IEC type IIa). The Permitted Maximum
  Level (PML - as defined in ITU-R BS.645-2) must comply ITU-R BR.1384.1
  and ITU-R BS.1726. Peaks should not exceed a level -10dB below the
  digital full-scale level (0 dBFS) when monitored by a “quasi-peak
  programme meter” as specified in IEC 60268-10.
Loudness control on all audio formats The method to measure the loudness of an audio program is settled by the recommendations,
  ITU-1770, ITU 1771 and ITU-Document 6/175-E.
Program Loudness Level represents the ordinary level of the program resulting from the measurement of the entire contents analyzed whole
  (from start to the end, and all audio channels making up the
  soundtrack).  The Program Loudness must conform to R128-EBU
“Short-term” LKFS values shall not be higher than –21 LKFS for the whole program.  “Long-term” Loudness must be –24 LKFS ± 0,5. In both
  cases the gate must be active at a threshold at -8 relative to the
  target “Long Term” value (- 24 – 8 = -32 LKFS). Short-term and
  long-term LKFS shall be measured for each audio program accompanying
  the picture (ie: Dubbed stereo, original language stereo, M&E stereo
  tracks, etc.).

It is possible create and Adjustment Layer with Premiere CS6 or CC and easily make sure to fix the audio of all 8 channels to respect the limits?
Wich effect I have to use ? With wich settings ? It must be done for each audio tracks or I can use an Adjustment Layer or an Effect directly to the Master output ?

Do you have access to Audition?

@stib yes I have :)

In general loudness correction is a two step process. (There's a little more to it for full EBU R128 compliance, but I work exclusively in the US and this all that is required for A/85 / CALM Act compliance.)

Measure the long term/infinite loudness of the asset.
Shift the level of the asset by the difference between the measured loudness and the target.

Premiere does not have a built in method for automatically correcting loudness. But you do have a few options:

You can use the built in Loudness Radar plugin to measure the long term/infinite loudness of the asset and then manually shift the level by the difference from the measured loudness and the target loudness.
You can buy a third party plugin to do the correction.
You can use FFmpeg as I paraphrased the last time you asked this question.
You can use Adobe Media Encoder.

I see thanks for the reply. The last option in Media Encoder is nice but I guess is available only for the lastest CC version. PS: can you check also this answer there: https://video.stackexchange.com/questions/21872/how-match-this-broadcast-standards-with-premiere-and-ffmpeg the answer you gave me was partially incomplete, please check my last comment !

Audition has a couple of tools that lets you measure loudness. There's the Amplitude Analysis window that lets you scan a whole mix or sound file, and tells you the LUFS loudness (which is the same as LKFS, aparently):

There's also the "Loudness Radar" that has a sexy GUI, but seems to only scan in real time (though I might be using it wrong).

If you use the former you have to manually apply gain to correct for your target loudness, if the latter you can have it apply correction to reach your desired level (hit the settings tab to choose).

There's no manual approach in my opinion because as readed around the broadcast requests have to be done via an algorythm. About Loudness Radar I saw people using plugins like that in automatition and "write" latch mode. So that the plugin itself does that for you, one of them is Waves Loudness Meter plugin like in this video: https://youtu.be/KsmkntnD1bA?t=1514 however I'm not sure if this can work also in Audition with this plugin or if waves one could works with Audition too and used in "write" mode in the same manner.

The manual process is that you just apply the correct gain. E.g. for the above item you need to apply -2.7dB gain to get it to -24 LKFS. You apply it to the whole program, it's not an instantaneous thing. That's what I do when I need to prep things for broadcast.

BTW that Waves meter plugin works in Audition.

good to hear, I will check it for sure as soon I will have some time!

No "audio adjustment layers" in Premiere.
My suggestion would be to go the "master output way": edit your piece with what you have (I assume here that everything has the same specs, audio and video wise), do an audio mix-down, and play with gain/volume etc until you get what you need.
Do a test before getting in the proper editing though: create a rough 30s edit, mix it, do a mix down and play with gains/volume etc. to respect your notes. Test the exported file to see if it respects the directions.

Sorry but this is not what I'm looking for. I need a filter that conforms everything for me. Because in this part of the process I'm not the director or part of creative process, I just need to glue 2 audio and video together in an MXF file, but I need to be sure that everything is all right. TL;DR: the manual way is not a way for me. I'm not an audio specialist, I just have to output the MXF properly.

The actual answer from @Michael Liebman is to follow. In short, I researched a bit, you have to measure the Loudness over all the piece, also is an automated process that must be done via plugins, it follow various alogrythms and is not something that you can do manually at all. The one you was referring at was the old measure with RMS.


text:
Green Screen Video to Transparent PNG's
I am looking for way to extract frames from a video shot in front of a green screen. This is the source video, so nothing has been chroma keyed on to it yet. I want to save the frames as PNGs with the green replaced by transparent.
I see its possible to get transparent video based this question, but I am looking to save as transparent PNG's, not video.

Assuming you are satisfied with the chroma key quality from ffmpeg, it's just
ffmpeg -i in.mp4 -vf chromakey={...} -vsync 0 out%d.png

where {...} is replaced with your chromakey filter arguments.


text:
How to remove hiss and static noise from a DVD
I got my VHS tapes converted to DVD. The video quality is reasonably good. However, there is a lot of hiss and static in the audio. Unfortunately, the original VHS is not usable anymore, so I can't digitize from scratch again. This is a personal video of family recordings.
The steps I tried are:

copy the DVD to PC. ( a get couple of .VOB file)
Extract and edit the audio file using Goldwave to remove noise. (the clean files are in .wav format)
replace the audio track on the original .VOB and create a new video file.

I could do the first 2 steps but have not succeeded in performing step 3 as I do not know how to replace the audio file.
I do not have to create .vob files. Any video format with new (edited/cleaned) audio is fine.
Are there better ways?

You need a program to download the files from your DVD. Then dump them in a video editor and replace the audio tracks. I believe Windows Video Maker would allow to do everything I am talking about. I sincerely never used vob files straight out of a DVD, but I believe any video editor would be able to support them.

I would use adobe encoder to split the audio from the video,  then use adobe's sound suite  (the name escapes me,  but its part of creative cloud) which has multiple configurable bandpass filters to remove the hiss, and finally edit them back together with premier pro into a cohesive file to lay down as a DVD track

I am completely unfamiliar with both programs, but it sounds like once you have the video file and it's audio track (exported from adobe's sound suite), you should be able to easily import both of them into Premier and mute the original audio track, while enabling the fixed track.

I wonder if you can do everything from Premiere without the need of Encoder and the Sound suite. Have you tried Premiere's audio tools?

You would just delete the old audio track altogether in premiere.  Since all actions in premiere are non-destructive, the original footage remains untouched.  All that is actually changed is the rendering script (an XML file) built by premiere.  The sound tools in Premiere are quite extensive, but you get finer grained control in the sound suite. I suspect but can't prove that both GUI's use the same code behind the scenes

Microsoft Video Maker is not supported on Windows 10.

Thanks for your suggestions.  the MS Video Maker is ok for small files but was unable to handle long recordings.  I tried other video editors and was able to merge sound and video

After various trials trying to edit separate audio and video files, I realized that mixing such audio and video poses a problem of synchronization.
The only practical solution was to procure a dedicated Video editing software with capabilities to edit audio in the original file itself.
so I recommend not to spend time and energy in free software for any such project.


text:
How to film a moving bike on a budget
I have been tasked with filming a new road bike for casual cyclists. We have a rather low budget. Does anyone have any tips on how to deliver quality footage without spending too much money? I'm am using a Canon 5d Mark III SLR to shoot. I'd appreciate some tips on how to get good wide and detail shots while the bike is moving.

Something that might make your life considerably easier is a gimbal stabiliser.

These let you get good quality moving shots easily, without the bunmpyness that you'll get even in a car. I worked on a shoot where we even filmed a skateboarder with the camera operator on inline skates (he was a pretty good skater though, wouldn't suggest it if you're like me).
They're not super expensive to buy, but if you don't want to be buying gear you could hire one. For the time it will save and the added quality it will give it's well worth it.

Thanks yes i had thought about hiring something like this but wasnt sure if it was overkill but they do look pretty cool and arent that expensive to hire. Are they easy to use and setup. I have tried stadicam ones before but were a night mare to balance

We have that model where I work. The learning curve is fairly low, mainly it's getting used to how it steers. An off-board monitor for the camera is really useful, because with the gimbalarms in the way you aren't able to see the camera's LCD very well, so it's worth getting one. They look like a cool gadget, but they're actually a very useful addition to the kit.

i took your advice on this and the results were phenomenal great piece of kit which you can see here https://www.youtube.com/watch?v=TPbWp-p_zlo&t=7s which if you have any feedback would be good. Just a general query that you may be able to help with. Have you ever used one in adverse weather conditions such as rain and how do i protect it and the camera

I'd be wary about using it in the rain. Just guessing but I'd say it is not very weatherproof at all. I'd ask as a separate question, someone might have experience of this.

Here are some suggestions:

Film the bike from a moving car.
Have two people in the car, minimum: One for driving and one for filming.
Shoot through open windows of the car, not through glass.
Get every shot from every angle you need separately.
Do all of your editing after recording, not in camera, using video editing software.

Do you have any tips on how to stabilise the camera in a car on a budget?

If budget is really low, than I will advice a stadicam and record with bigger resolution, to stabilize in post-production. But pot-production stabilization can "eat" a lot of footage, so don't really count on it, if shot is too shaky


text:
How to setup Adobe Premiere Pro CC to edit Interview type videos for YouTube
Context:

I have Adobe Premiere Pro CC 2017
I am recording interviews with Ecamm recorder for Skype in 480p resolution (size conscious)
I always record separate files (audio & video) - track 1 and track 2.
I created a fancy layout image (16:9) in Photoshop which I drop in Premiere and then I adjust the video tracks so they fit in it - the layout has the guest bit bigger than me (they are obviously more important)

I already tried two different configurations of project/export settings:

1280x720 and 24fps - which was blurry - you could watch it but it was straining my eyes (presets were SLR 720p)
4K and 25fps - which was OK (presets were RED Cinema 4K) and surprisingly the size was also comparable, which is a bit confusing.

Questions:

What presets do you recommend when creating Premiere project for a YouTube video? I read that YouTube recommends uploading 720p videos, but nothing like that exists in Premiere presets.
What settings should I use to render the sequence to have good quality but acceptable file size?

What presets do you recommend when creating Premiere project for a YouTube video? I read that YouTube recommends uploading 720p videos, but nothing like that exists in Premiere presets.
Any preset works as long as your export settings correspond to what YouTube can ingest.
By the way, 720p presets exist in Premiere, for most codecs.
Here's a screen capture for the DNxHD codec:

What settings should I use to render the sequence to have good quality but acceptable file size?
For a 720p file, make sure your data rate is no smaller than 5 Mbps.
For a 1080p file, make sure your data rate is no smaller than 10 Mbps.
Codec: H264.
Field order: progressive usually (depending on your raw footage).
Aspect: square pixel usually (depending on your raw footage).
Audio: AAC, 4100Hz, Maximum Bitrate.
Maximum render quality.

Here is the recommended encoding settings from YouTube help
I am puzzled why you are using a layout image that you drop in Premiere? You should read through Adobe's Help page about creating sequences. That has good information that should help you out.
For myself, I usually shoot in h.264 Video codec, 4K resolution, and for an interview style video, I would probably choose 30fps (frames per second).


text:
FFMPEG Command Works, then stops
When I use ffmpeg with this command:
$ ffmpeg -i ~/Desktop/The_Karate_Kid_2010.mkv -c:v libx264 -c:a libfdk_aac -c:s mov_text ~/Desktop/The_Karate_Kid_2010.mp4

It works, until this error appears:
Error while opening encoder for output stream #0:2 - maybe incorrect parameters such as bit_rate, rate, width or height

What should I do to fix this?
Here is the output:
ffmpeg -i ~/Desktop/The_Karate_Kid_2010.mkv -c:v libx264 -c:a libfdk_aac -c:s mov_text ~/Desktop/file.mp4
ffmpeg version 3.3.3 Copyright (c) 2000-2017 the FFmpeg developers
  built with Apple LLVM version 8.1.0 (clang-802.0.42)
  configuration: --prefix=/usr/local/Cellar/ffmpeg/3.3.3 --enable-shared --enable-pthreads --enable-gpl --enable-version3 --enable-hardcoded-tables --enable-avresample --cc=clang --host-cflags= --host-ldflags= --enable-libass --enable-libfdk-aac --enable-libfreetype --enable-libmp3lame --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libxvid --enable-opencl --disable-lzma --enable-nonfree --enable-vda
  libavutil      55. 58.100 / 55. 58.100
  libavcodec     57. 89.100 / 57. 89.100
  libavformat    57. 71.100 / 57. 71.100
  libavdevice    57.  6.100 / 57.  6.100
  libavfilter     6. 82.100 /  6. 82.100
  libavresample   3.  5.  0 /  3.  5.  0
  libswscale      4.  6.100 /  4.  6.100
  libswresample   2.  7.100 /  2.  7.100
  libpostproc    54.  5.100 / 54.  5.100
Input #0, matroska,webm, from '/Users/Henry/Desktop/The_Karate_Kid_2010.mkv':
  Metadata:
    title           : Karate Kid, The
    encoder         : libmakemkv v1.10.7 (1.3.3/1.4.4) darwin(x64-release)
    creation_time   : 2017-10-01T21:56:39.000000Z
  Duration: 02:20:01.99, start: 0.000000, bitrate: 4488 kb/s
    Chapter #0:0: start 0.000000, end 423.055967
    Metadata:
      title           : Chapter 01
    Chapter #0:1: start 423.055967, end 627.259967
    Metadata:
      title           : Chapter 02
    Chapter #0:2: start 627.259967, end 907.273033
    Metadata:
      title           : Chapter 03
    Chapter #0:3: start 907.273033, end 1194.560033
    Metadata:
      title           : Chapter 04
    Chapter #0:4: start 1194.560033, end 1468.233433
    Metadata:
      title           : Chapter 05
    Chapter #0:5: start 1468.233433, end 1857.288767
    Metadata:
      title           : Chapter 06
    Chapter #0:6: start 1857.288767, end 2094.058633
    Metadata:
      title           : Chapter 07
    Chapter #0:7: start 2094.058633, end 2390.321267
    Metadata:
      title           : Chapter 08
    Chapter #0:8: start 2390.321267, end 2797.895100
    Metadata:
      title           : Chapter 09
    Chapter #0:9: start 2797.895100, end 2993.357033
    Metadata:
      title           : Chapter 10
    Chapter #0:10: start 2993.357033, end 3295.992700
    Metadata:
      title           : Chapter 11
    Chapter #0:11: start 3295.992700, end 3615.945667
    Metadata:
      title           : Chapter 12
    Chapter #0:12: start 3615.945667, end 3878.624750
    Metadata:
      title           : Chapter 13
    Chapter #0:13: start 3878.624750, end 4187.983800
    Metadata:
      title           : Chapter 14
    Chapter #0:14: start 4187.983800, end 4470.599467
    Metadata:
      title           : Chapter 15
    Chapter #0:15: start 4470.599467, end 4825.587433
    Metadata:
      title           : Chapter 16
    Chapter #0:16: start 4825.587433, end 5062.690967
    Metadata:
      title           : Chapter 17
    Chapter #0:17: start 5062.690967, end 5444.372267
    Metadata:
      title           : Chapter 18
    Chapter #0:18: start 5444.372267, end 5734.995933
    Metadata:
      title           : Chapter 19
    Chapter #0:19: start 5734.995933, end 6105.065633
    Metadata:
      title           : Chapter 20
    Chapter #0:20: start 6105.065633, end 6418.678933
    Metadata:
      title           : Chapter 21
    Chapter #0:21: start 6418.678933, end 6625.585633
    Metadata:
      title           : Chapter 22
    Chapter #0:22: start 6625.585633, end 6980.406767
    Metadata:
      title           : Chapter 23
    Chapter #0:23: start 6980.406767, end 7140.666867
    Metadata:
      title           : Chapter 24
    Chapter #0:24: start 7140.666867, end 7438.197433
    Metadata:
      title           : Chapter 25
    Chapter #0:25: start 7438.197433, end 7875.534333
    Metadata:
      title           : Chapter 26
    Chapter #0:26: start 7875.534333, end 7977.302667
    Metadata:
      title           : Chapter 27
    Chapter #0:27: start 7977.302667, end 8401.993600
    Metadata:
      title           : Chapter 28
    Stream #0:0(eng): Video: mpeg2video (Main), yuv420p(tv, top first), 720x480 [SAR 32:27 DAR 16:9], SAR 186:157 DAR 279:157, 29.97 fps, 29.97 tbr, 1k tbn, 59.94 tbc
    Metadata:
      BPS-eng         : 4096383
      DURATION-eng    : 02:20:01.993600000
      NUMBER_OF_FRAMES-eng: 201483
      NUMBER_OF_BYTES-eng: 4302223608
      SOURCE_ID-eng   : 0100E0
      _STATISTICS_WRITING_APP-eng: MakeMKV v1.10.7 darwin(x64-release)
      _STATISTICS_WRITING_DATE_UTC-eng: 2017-10-01 21:56:39
      _STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES SOURCE_ID
    Stream #0:1(eng): Audio: ac3, 48000 Hz, 5.1(side), fltp, 384 kb/s (default)
    Metadata:
      title           : Surround 5.1
      BPS-eng         : 384000
      DURATION-eng    : 02:20:01.952000000
      NUMBER_OF_FRAMES-eng: 262561
      NUMBER_OF_BYTES-eng: 403293696
      SOURCE_ID-eng   : 0180BD
      _STATISTICS_WRITING_APP-eng: MakeMKV v1.10.7 darwin(x64-release)
      _STATISTICS_WRITING_DATE_UTC-eng: 2017-10-01 21:56:39
      _STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES SOURCE_ID
    Stream #0:2(eng): Subtitle: dvd_subtitle, 720x480 (default)
    Metadata:
      BPS-eng         : 2984
      DURATION-eng    : 02:12:24.359400000
      NUMBER_OF_FRAMES-eng: 1051
      NUMBER_OF_BYTES-eng: 2963824
      SOURCE_ID-eng   : 0120BD
      _STATISTICS_WRITING_APP-eng: MakeMKV v1.10.7 darwin(x64-release)
      _STATISTICS_WRITING_DATE_UTC-eng: 2017-10-01 21:56:39
      _STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES SOURCE_ID
File '/Users/Henry/Desktop/file.mp4' already exists. Overwrite ? [y/N] y
Stream mapping:
  Stream #0:0 -> #0:0 (mpeg2video (native) -> h264 (libx264))
  Stream #0:1 -> #0:1 (ac3 (native) -> aac (libfdk_aac))
  Stream #0:2 -> #0:2 (dvd_subtitle (dvdsub) -> mov_text (native))
Error while opening encoder for output stream #0:2 - maybe incorrect parameters such as bit_rate, rate, width or height

dvd_subtitle indicates an image-based subtitle. You can skip it, or overlay it on the video, or convert it to a text subtitle.
To skip it, add -map -s.
To overlay it, add -filter_complex "[0:0]yadif[v];[v][0:2]overlay"
To convert to text subtitle, see https://stackoverflow.com/a/36327919/5726027


text:
Adobe Premiere Video Size with static image
I'm trying to make a music video for Youtube, with a one stable non-moving image, When I tried to export it at Youtube setting 1080p, the estimated file size was around 500 MB, which is too big for me to upload it to YouTube.
I was wondering if there are any better settings to keep audio quality, but lower the video size as much as possible?
Or should I be using another editing software?

If you've got your sound file "input.wav" and your image "input.png" ffmpeg can make the movie without any need to go through an editor. FFMPEG is available for  free download for your favourite OS. If you're a'feared of the command line, duckduckgo for a GUI front end, there are lots out there.
ffmpeg -loop 1 -i input.png -i input.wav -shortest -pix_fmt yuv420p -tune "stillimage" -r 1 output.mp4

to break it down:

the ffmpeg application is controlled by specifying the options and values thus: -option value. Note the dash before the option. Some options don't have values, like the -shortest option (see below). Sometimes they are specified to apply to a particular stream, like -r:v sets the frame rate for the video stream, or -c:a sets the codec for the audio stream.
-loop will repeat the png frame forever, you specify it before the input so that fffmpeg knows you mean loop the input, not the output.
-i input.png means input, then you specify the path to your image. Easiest way to get the path is to drag the file into the terminal window. Pretty much any image format under the sun will work
-i input.wav is the sound, once again, pretty much any sound file will work, and you can get a correctly escaped path by dragginating it.
-shortest stops encoding when the shortest input ends—since the image is looped, and therefore infinitely long, it will literally go on encoding until your hard drive is full (or you hit q or ctrlc) if you neglect to add this
-pix_fmt yuv420p makes sure you're using 4:2:0 colour, as most image formats will be 4:4:4, so that will save some space
-tune "stillimage" tells the encoder (by default the fabulous x.264 encoder, which is way better than anything Adobe use) to optimise its settings for still images. There are a few other tunings like "film" and "animation", they save you having to understand all the arcane tweaks that you can do to get the most out of your encode.
-r 1 sets the fram rate to 1 fps for the video. You could perhaps go lower, I'm not sure if it would cause problems.
output.mp4 is the name of your output file. FFMPEG recognises the extension and automatically uses the right encoder and multiplexer, so you don't need to know what the difference between encoding and multiplexing even is. Since this isn't an option or value there is no - dash at the start.

I can't thank you enough for this, thanks a lot for the help, never heard of this and I actually love it, I'll try it and see if the output video is significantly smaller in size than the other ones.

@stib, thank you for taking the time to actually explain the ffmpeg options and not just lobbing a command line grenade out there.


text:
ffmpeg **doubled** my duration
I'm using ffmpeg to convert a PNG image sequence into a .mov file with alpha channel for use in my NLE.
The PNG sequence was rendered out of DashWare where it was generated in sync with a 4m35s (approx) 1080p50 video clip.
As expected the image sequence consisted of just over 13,750 images.
I used the following command to convert these into the required PNG encoded, uncompressed RGBA (rgb32) .mov file.
ffmpeg -i imageSeq-%06d.png -vcodec png -r 50 -pix_fmt rgb32 -y video.mov

And the file converted OK but it's duration came out at 9m10s - exactly double what it should have been.
By my reckoning 4m35s at 50fps is: ((4x60)+35)x50 which is 13750 frames/images. So why did the duration double in conversion with the above command?

By default, ffmpeg treats image sequence and raw video inputs as having a native rate of 25 fps unless told otherwise. So, the -r 50 duplicates each frame.
Use
ffmpeg -framerate 50 -i imageSeq-%06d.png -vcodec png -pix_fmt rgb32 -y video.mov

You can skip the -r 50 since ffmpeg will use the input's framerate.

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


text:
How to add location text character by character like in action movies?
For a video I want to add text character by character, including the beep-beep-beep alike sound, like common action movies do this when switching to a new location. Obviously, I don't know how this is called and if it is military related, so I hope you know what I mean.
I already figured out how to generally add text, but I found no option or animation to introduce it character by character. Alternatively I would have to manually insert character by character; but this would be difficult to align properly (not vertically, but horizontally (proper character spacing)).
I though of using the subtitle feature for this. But if there is a more elegant solution, I would prefer to not using subtitles.

The software is Kdenlive 19.12.3 on Ubuntu 20.04.
I do video editing occasionally only; I am sorry for any misconceptions, wrong wording, etc in my description, therefore.

Edit:

Unfortunately I am unable to find an example on youtube currently
Maybe there is an effect that is able to fade the text in from the left to the right as an alternative?

I found a way:

Add title text to video
Add the Rotoscope effect to the title
At timeline start of text: draw the rotoscope shape around the text (see below)
At timeline end of text: add keyframe and move the shape behind the text (see below)
Set the effect mode to Luma
Add the Cairo Blend composition to the title
Set the gradient mode to Add

Now the title text should appear from left to right. It does not appear character by character, but this is ok.
The rotoscope effect is quite mighty - this video teached me how to use it:

Additionally I found this cool sound, which is quite exactly I was looking for:
https://freesound.org/people/Sky_Motion/sounds/416777/


text:
Software choosing advice for a beginner
I have a pre-made slides of mostly text and math formulae, and I want to make a kind of video presentation from it. I need a software that can do the following things:

Smooth difference transition. What I mean by that: if I have two images with only a slight difference in them (say, one added word) I want to apply a transition where this difference fades in or somewhat dynamically pops in without disturbing the rest of the image;
Sliding up/down/left/right with controlled speed and acceleration. To create an effect of a camera sliding over a big sheet of paper.
Shaky camera effect, basically make an image "wiggle" (not very important).

That's pretty much it. So far I've tried only OpenShot and it doesn't seem like a good choice for that, although if you have a tutorial in mind that shows how to do such things please let me know.

Shotcut
Shotcut might be a bit better then OpenShot. It is free, open-source, and you can do the things you described, just check these tutorials:

Transitions
Camera shake

DaVinci Resolve
If you want a really professional software, go with DaVinci Resolve. It is free and cross platform, but has a bigger learning curve, although the things you described are not that hard:

Transitions
Camera shake

Something like this would be done in After-Effects. There is a free trial of the software - I would highly recommend trying this.


text:
Lighting a chalkboard
COVID has forced online delivery of my courses for which some of my content lectures/office hours I now will do on a chalkboard with a video stream.  But I get a bright glare from the lighting that makes parts of the board hard to read and removes the ability to use half the board.  I have invested in a cheap umbrella light which youtube advice convinced me was better lighting, but the effect remains.
What are the likely causes of glare on a chalkboard? Bad lighting, bad lighting placement? Bad camera placement?
What is an inexpensive/low effort solution?

Bad lighting and/or bad camera placement are the cause.  If you can't move the lights or the chalkboard, such as in many typical classrooms, the first thing you should try is moving the camera.
You can think of the chalkboard surface like a mirror.  In fact, if you hung a mirror flat against the chalkboard, you'd see that the position of the chalkboard "hot spots" corresponds exactly to the position of the reflection of light sources in a mirror.  The difference is that microscopic abnormalities in the surface of the chalkboard scatter the light more randomly, which effectively "blurs" the reflection.
If you can't avoid the glare by moving the camera, or by moving/dimming the lights, then there is one other way to fight glare:  Use a polarized lens filter.  These work the same way that polarized sunglasses work to cut glare.  There are screw-on variants made for photography cameras called CPL's or "Circular Polarizing Lenses," which let you adjust the polarization angle for best effect.  Polarized filters don't work for all reflections though, and their efficacy depends on the polarization of both the light source and the reflective material.
CPL's are fairly cheap.  You can probably pick up a used one for $15-ish, and new ones are usually below $100.  Just make sure you buy the right size to fit your lens.  Either inside the camera's lens cap, or written on the lens, you'll see a number next to the symbol "ø".  This is the filter size, and should match whatever you buy.
If you wanted to go totally shittyrigs cheap, you could tape one of the lenses of a pair of disposable movie theater 3D glasses in front of your camera lens.  The 3D variant filter polarized light like any other camera filter or sunglasses on the market.  The difference is that the polarization of the left and right eye is offset by 90º.

The side effect of adding a polarizer is the 2-stop light loss. (In other words, the filter reduces the amount of light coming in to the camera by 1/4.) You have to watch out for the vicious cycle of adding more light, causing more reflections.... Our (joke) solution to all reflection issues back in school was, "Hit it with dulling spray!" That included the bald talent's head. So that's an alternate, poor shittyrigs option.

Another method, following the shittyrigs philosophy, could be to use a shower-curtain in front of the light to soften it significantly, until the hotspot disappears.

Thx. Daylight through window was big source of excess light, easily "dimmed" with blinds.  Added CPL brightness changed momentarily then camera self adjusts and looks the same though slightly sharper image. Main help was to raise camera to look slightly down on the board instead of straight on. Each trick added its own nudge towards a good enough solution. Happy!

Did you try bouncing the light off of the ceiling? Make sure none of the light is visible in a direct line to the blackboard. You will need more light to get the same exposure, but, if you don't have more lights, more exposure might still work.

Will give it a try, it is harder than expected.  I will never watch a Good Will Hunting in the same way again, amazing how hard it is to pull off good light of such a simple object!

Large area soft lights. Bouncing lights off the ceiling is a good idea.  If you don't have soft lights, you can soften them by placing a diffuser in front of them.  Shower curtains work well for this. (Be aware of fire risks if you're using hot lights).
Good explanation of hard vs soft light here:

Shower curtain diffuser:
https://nofilmschool.com/2014/09/super-cheap-versatile-diy-diffuser-shower-curtain


text:
Limit the scale of a pick whipped object
I want to make a speaker graphic 'wobble' to different frequencies..
Here's what I've done so far
I made a speaker graphic in a comp
And I parented the scale to a null in the main comp

And I isolated the kick drum with a combo of a band pass filter and a bass-treble.
Then I converted that audio into keyframes and pick whipped that null with that speaker's scale parented to it.

So here's where I'm stuck at:
I want to limit the speaker's scale within some values. Like the speaker should not exceed 75.8% and 76% of scale.
So what I tried so far is something like this ↓
temp = thisComp.layer("Audio Amplitude").effect("Both Channels")("Slider");
[temp, temp]  +[Math.min(73.8-2), Math.min(73.8-2)] [Math.max(23), Math.max(23)]

You need to do a linear map as an Expression.
So the example below would take any value between 0-100 and map it between -100 to 100.
input = effect("Slider Control")("Slider");
inputLow = 0;
inputHigh = 100;
outputLow = -100;
outputHigh = 100;

linear(input,inputLow,inputHigh,outputLow,outputHigh)

Sorry I'm totally new to expressions, can you please show me how I put that into my rest of the expression?

Edit - Thanks man, after you gave me a primer, I was able to find it on Google...


text:
Adobe Premiere won't update audios
I'm having a problem where if I edit an audio clip that is used in my Premiere project with Audition, the change isn't heard in Premiere. Here are the steps that I'm going through:

I have an audio-track used in my project.
I change it in Adobe Audition.
I save it in the same directory with the same name.
I delete it from the project's timeline.
I delete it from the project's list of imported files.
I re-import the new file.
I put the file into my project's timeline again.

Needless to say, I re-save the project every two seconds just in case.
My problem: The audio stays the same as it were before the editing. Am I missing something obvious or is it a bug?

I would try deleting the cache around time in your sequence causing trouble. You can mark an In and Out point, then clear the cache between those to points using "Delete Render Files In to Out" in the Sequence menu.
You don't necessarily have to delete all of the cache (although try that if nothing else works).
These are the steps I would normally take to do what you're doing:

Import an audio file in Premiere and place it in a sequence.
Right click on the clip in the sequence and choose Edit Clip in Adobe Audition
Edit the audio file in adobe
Save in adobe
The updated audio should appear in Premiere after a few seconds

Premiere sometimes needs to convert your file before it sends it over to Audition, so you might be modifying the wrong file in Audition without realising it if you're doing it all manually instead of letting Premiere manage it.

It works, thank you!


text:
How do I crop multiple areas of each frame of the video using ffmpeg?
For each frame I want to crop multiple areas using ffmpeg but I am not sure how to proceed.
This is what I have done to crop one part of the image,
fmpeg -i video.mp4 -filter:v "fps=1,crop=759:41:33:99,scale=128:44" %d.png

This is one frame of the video,

The above command crops the number one row or first position from the image. Likewise I want to crop all the positions or rows from this frame.

Add more outputs.
ffmpeg -i video.mp4 -filter:v "fps=1,crop=759:41:33:99,scale=128:44" row1-%d.png -filter:v "fps=1,crop=759:41:33:140,scale=128:44" row2-%d.png -filter:v "fps=1,crop=759:41:33:181,scale=128:44" row3-%d.png

Or do one row per command.


text:
How to render Adobe Premiere or After Effects projects on Linux?
I'm looking for automating video editing and rendering tasks on Linux. Is there a way I can use Nodejs to automate Adobe Premiere or After Effects on Linux?

There is no Linux version of Premiere or After Effects, so the short answer is no.  If you are using a Linux machine and need to render an AE or Premiere project, the main solution is to ask someone with that software to render it for you.  You can try rendering under WINE, which is a compatibility layer that tries to run Windows software on Linux, but that obviously won't be supported by Adobe, and I wouldn't invest effort in trying to get something that brittle to work.
So, what's your actual need?  Your question mentions doing automation work, rather than just rendering.  If you look into Linux native tools like Nuke for compositing instead of After Effects, most of them have extensive embedded Python API's which can be used for all sorts of automation tasks.  If you need to start in Premiere for some reason, it may be practical to export an XMEML file, and read it using the open source OpenTimelineIO library, and create whatever sort of final project you want.

I haven't thought that way. XMEML could be an alternative I´ll take a look, MANY THANKS FOR YOUR SUPPORT.

BlackMagic Davinci Resolve and Fusion run on both RHEL and Centos, and have Python2, 3 and LUA integrated for automation.  The title of your question leads me to believe you're already using Adobe suite, but the body suggests otherwise.  There's a free version of Resolve with most of the features of the full version, so it can't hurt to try.  I honestly don't know if Linux is one of those limitations, but the full version of Resolve is only $300 for a lifetime license, so there's still not much risk.

Currently, I'm using Javascript to perform several tasks related to basic image and video processing/edition. My goal originally was to use the power of Aerender.js with the benefits of the Linux platform because I feel more comfortable with UNIX. BUT in lack of Aerender.js, I opted to execute commands of FFmpeg directly from the Node subprocess. Thanks, soo much. If there is some software to video effect rendering using javascript, please let me know.

you might also want to check out nuke (which also relies heavily on python) for high-end compositing if needed.


text:
Create one split screen video, separate audio streams and a thumbnail from the resultant split screen video - all in one pass
I'm using ffmpeg to create several single splitscreen videos out of 2 separate videos. The 2 videos have audio so I want to extract the 2 video's audio streams as 2 separate mp3s and also create a thumbnail out of the finished splitscreen video. Is it possible to do these 3 actions in one pass?
Here is the code I'd use to create the splitscreen video:
ffmpeg -i input0.mov -i input1.mov  -filter_complex "[0]scale=640x360[v0];[1]scale=640x360[v1];[v0][v1] xstack=inputs=2:layout=0_0|w0_0|[v]" -map "[v]" -an output.mp4
Here is the code I'd use to create the thumbnail of the resultant splitscreen video:
ffmpeg -y -i input.mp4 -vframes 1  OUTPUT.jpg
Here is the code I'd use to create one mp3
ffmpeg -i input0.mov output0.mp3

Combined command:
ffmpeg -i input0.mov -i input1.mov -filter_complex "[0]scale=640x360[v0];[1]scale=640x360[v1];[v0][v1]hstack,split[video][image]" -map "[video]" output.mp4 -map 0:a audio0.mp3 -map 1:a audio1.mp3 -map "[image]" -frames:v 1 image.jpg

For a 4 videos into a 2x2 layout:
ffmpeg -i input0.mov -i input1.mov -i input2.mov -i input3.mov -filter_complex "[0]scale=640x360[v0];[1]scale=640x360[v1];[2]scale=640x360[v2];[3]scale=640x360[v3];[v0][v1][v2][v3]xstack=inputs=4:layout=0_0|w0_0|0_h0|w0_h0,split[video][image]" -map "[video]" output.mp4 -map 0:a audio0.mp3 -map 1:a audio1.mp3 -map 2:a audio2.mp3 -map 3:a audio3.mp3 -map "[image]" -frames:v 1 image.jpg

Your answer works for the split screen video and 2 separate mp3s if I exclude:
"image.jpg"  at the end
Unfortunately if I add "image.jpg" it makes the video and audio about 1 frame long and doesn't create a thumbnail of the finished resultant splitscreen video, just input1.mov.
Any ideas?

@BenHardy See updated answer. Wasn't able to test the first iteration and I forgot a few things.

This works perfectly. Could this code be adapted for 4 videos? </>

@BenHardy See updated answer.


text:
Concatenating in sync MP4 (H264+PCM instead of AAC) from a Sony 2018 Camera
I downloaded these files (at max resolution 4K, that is important), in this order:
https://vimeo.com/195782736
https://vimeo.com/196725716
https://vimeo.com/195776765
https://vimeo.com/196651176
https://vimeo.com/195781480
please notice that these files are not "a video posted online" but the original output of a RX100m5!!
each video offers:
0:0 video
0:1 audio
0:2 "unknown to ffmpeg"
therefore I changed the titles into
a.mp4, b.mp4.......e.mp4
to avoid the error. Amen.
Question:
I want to simply concatenate them, i.e. no recode!
Problem:
Sony's output is "MP4 = H264av1 + PCM". Curiously PCM is NOT supported by MP4 container (see official specs on wikipedia).
Therefore ffmpeg is unable to do what I want. [It seems that Sony users never used ffmpeg].
I tried:
ffmpeg -f concat -i lista.txt -c copy concatenated.mp4
I got:
[mp4 @ 094630c0] Could not find tag for codec pcm_s16be in stream #1, codec not currently supported in container
Could not write header for output file #0 (incorrect codec parameters ?): Invalid argument

as stated above Sony puts PCM into MP4 and this is not allowed.
threfore I say let's to concatenate the files without recode/transcode and just change container:
ffmpeg -f concat -safe 0 -i "lista.txt" -map 0:0 -map 0:1 -c copy concatenated.mkv
ffmpeg -f concat -safe 0 -i "lista.txt" -c copy concatenated.mkv
I got: no error message but...out of sync. that is unacceptable.
[with MTS 1080p I simply concatenate them via the very very old Ts_splitter&joiner.exe and all is fine and in sync!]
Addendum:
Only if I notice (like in the past!) that a simple "concatenate" let the Mb/s to drop down drastically, then I could add something like
-map "[v]" -map "[a]" -b:v 95000k
(that worked fine).
thanks for a working string for the 5 videos :)
...I warmly hoping that the output will be in sync.
best,

Post the readout for ffmpeg -i file1 -i file2 -i file3 -i file4.

Here all the required complete readouts:  https://drive.google.com/file/d/1zORr4dB38_qtK4rsFpg-JkAOPwpJke53/view

Not using the concat list but the form in my command.

Even if I do not want to convert, here the required log, thanks: https://drive.google.com/open?id=1fP1JFM79xd_9hhHEA06SdrbbOkktM5hi

In this case, I can think of two possible causes. First is differing timebases for the video stream, which is definitely the case here. And second is unequal lengths of video and audio within each file. Unknown but unlikely since these are files produced by a camera.
The reciprocal timebase for the video stream is reported as its tbn value.
For the five files, they are 25k, 24k, 24k, 24k and 24k respectively. The first one should be changed to 24k, else the videos streams of subsequent videos will be speeded up 4%, causing a desync.
Normally, I would just rewrap the MP4, only changing the timescale. However, since PCM isn't supported in MP4 - the workaround here is to rewrap to MKV individually and then concat. Matroska files have a fixed timescale of 1000, so a simple command will do.
ffmpeg -i file.mp4 -c copy -dn file.mkv

Answer: please see bottom (since there are too many characters to be posted here).

Wow Gyan, your are great!!!!
I have to admit that I was not aware about the "small" difference in frequency 25 vs 24 = 1 tbn, and -concat can work only if all the files have exactly the same properties.
I did what you suggested for each file individually
ffmpeg -i a.mp4 -c copy -dn aaaaa.mkv
  ffmpeg -i b.mp4 -c copy -dn bbbbb.mkv
  ....
  ....
then
ffmpeg -hide_banner -f concat -safe 0 -i listaaaaa.txt -c copy concatenated.mkv
Here the readout with some messages at the end:
https://drive.google.com/open?id=1sdRHslop1r9Jb1yfx9DPhrCthRDz1kJl
I can state that the final output (MKV) seems to me simply perfect!!!
ffprobe says:

start_time=0.000000<<

MPC-HC/Audio says:

Delay relative to video: -40 ms<<

Super!
You helped me very fine, my congratulations.
I warmly thank you.
Best,
PS: I dont receive notification emails for replies hmmmmm


text:
Convert video from 9:16 to 1:1 with blurred box using ffmpeg?
The Original video resolution is 720:1280 and I want to:

copy the original video, scale to 1080:1080 and blur.
again copy the original video and scale to 608:1080.
Finally move blurred to 1080:1080 box and move second(608:1080) scaled copy above the blurred copy.

Structure:
Box(1080:1080)
  Blurred(Original -> 1080:1080 -> Blur)
  Scaled(Original -> 608:1080)

ffmpeg command:
ffmpeg -i tmpVideo.mp4 -vf -filter_complex \
"split[main][copy]; \
[main]scale=1080:1080[container]; \
[copy]scale=-1:1080,split[content, copy1]; \
[copy1]gblur=sigma=20[blurred]; \
[container][blurred]overlay=0:0[mix]; \
[mix][content]overlay=W/2:0" \
output.mp4

The error I'm getting:
Unable to find a suitable output format for 'split[main][copy]; [main]scale=1080:1080[container]; [copy]scale=-1:1080,split[content, copy1]; [copy1]gblur=sigma=20[blurred]; [container][blurred]overlay=0:0[mix]; [mix][content]overlay=W/2:0'
split[main][copy]; [main]scale=1080:1080[container]; [copy]scale=-1:1080,split[content, copy1]; [copy1]gblur=sigma=20[blurred]; [container][blurred]overlay=0:0[mix]; [mix][content]overlay=W/2:0: Invalid argument

How should I proceed?

You're missing the input to the filtergraph, for example 0:v. There are other issues though, so this is what works for me:
ffmpeg -i VID_20190619_205627.mp4 -filter_complex \
"[0:v]scale=1080:1080,setdar=1:1,gblur=sigma=20[bg]; \
[0:v]scale=-1:1080[ov]; \
[bg][ov]overlay=(W-w)/2:0[mix]" \
-map [mix] -r 25 out.mp4 -y

the first chain of the filtergraph scales the input video to 1080 x 1080, forces the display aspect ratio to 1:1 and blurs the video. This is the background (bg)
the second chain takes the input video again and scales it to ? x 1080. This is the video that will be overlaid (ov)
the last chain overlays the scaled video (ov) on the blurred background (bg), and produced the output (mix), which is then chosen as the output with -map.

Note that the blurred background is stretched in this way.
Depending on the type of input, you might want to force the frame rate with -r 25 or similar, and to copy the audio track with -map 0:a -c:a copy.

Solved with 5 separated commands:
ffmpeg -i tmpVideo.mp4 scale=1080:1080 container.mp4
ffmpeg -i container.mp4 gblur=sigma=20 blurred.mp4
ffmpeg -i tmpVideo.mp4 scale=-1:1080 content.mp4
ffmpeg -i container.mp4 -i blurred.mp4 -filter_complex "[0:v][1:v]overlay=0:0" mix.mp4
ffmpeg -i mix.mp4 -i content.mp4 -filter_complex "[0:v][1:v]overlay=(W-w)/2:0" output.mp4

Are you sure that your first 3 commands are correct without something as -vf?

Accepted answer works perfectly, I only needed to change the overlay a bit into overlay=(W-w)/2:(H-h)/2[mix] because the blurry effect appeared at the bottom of the video all the time

ffmpeg -y -i scene_2.mp4 -filter_complex
"[0:v]scale=405:720:force_original_aspect_ratio=increase,crop=405:720,gblur=sigma=20[bg];
[0:v]scale=406:229[ov];
[bg][ov]overlay=(main_w-overlay_w)/2:(main_h-overlay_h)/2[mix]"
-map [mix] -map 0:a? -c:v libx264 -c:a aac out.mp4 -y


text:
Sigma 18-35mm, f/1.8 DC HSM ART Image Circle / BMPCC4k with 0.71x
I am currently figuring out which lens I should get. I found the Sigma 18-35mm, f/1.8 DC HSM ART which looks quite interesting as I want to have a nice bokeh and shallow DOF.
But it is for APS-C only.
I will use the Metabones Speedbooster 0.71x on my BMPCC4k, so the crop factor is 1.349, so slightly bigger than 1.5 of APS-C. Is the image circle of the Sigma big enough to support 1.349 crop without much vignette?

I found this image on https://www.the-digital-picture.com/Comparisons/Sigma-18-35mm-f-1.8-DC-HSM-Lens.aspx and if I have done it right, the red circle is my "MFT" and the golden one is APS-C. Could anyone check if it's done right?
Also, does anybody know if it has a direct focus or a servo focus?
Thanks!

Your calculations are right.
But if you take a look here: https://www.fredmiranda.com/forum/topic/1279757/0
The vignette is much stronger. With the images provided by Aloicious I get a vignette.


text:
How to replace background green color
I'm using lenscorrection filter on a video and the result contains green background as canvas!
How Can i replace this color with different one or an image?
This is the command i used:
ffmpeg -i out.mp4 -vf "lenscorrection=cx=0.5:cy=0.5:k1=0.4:k2=0.4" sss.mp4

This is a byproduct of the lenscorrection algorithm, originally meant to work on RGB pixels only. If the output pixel has no corresponding input pixel mapped, it is populated with 0, but in a YUV format, that's a shade of green.
As a workaround, you'll have to force manual format conversion before and after the filter.
ffmpeg -i out.mp4 -vf "format=gbrp,lenscorrection=cx=0.5:cy=0.5:k1=0.4:k2=0.4,format=yuv420p" sss.mp4

Thank you, It's working.
Just a question, is there a way to directly replace the black color with background image or video?
I think i can do this through specially designed background with blend option.


text:
FFMPEG : Merging Two Audio Files
I am using following command to merge two audio file, which works fine.
ffmpeg -i main.mp3 -filter_complex "amovie=tag.wav:loop=0,asetpts=N/SR/TB[tag]; [0][tag]amix=duration=shortest,volume=2" tag-out.mp3

But what I really need to do is repeat and delay 10 seconds the audio tag depending on the main song length. Also, the main song audio volume lowers while the audio tag plays.
Any ideas/help appreciated. Thanks.

This command already repeats the tag. What does delay 10 seconds mean - - the initial start time of the tag?

Yes, I want to play tag file after each 10 seconds like main audio file length is 50 seconds then tag file should be merge only 5 time on every 10 seconds of position.

@Gyan looking for your help --  thanks .

Since you wish to alter effective length of the tag, skip the amovie looping and use the aloop filter after padding the audio to 10s.
ffmpeg -i main.mp3 -filter_complex "amovie=tag.wav,asetpts=N/SR/TB,apad=whole_dur=10,aloop=-1:1M:0[tag]; [0][tag]amix=duration=shortest,volume=2" -vn tag-out.mp3

mentioned command is not working, Please check the following execution response.
r   Metadata:
encoder         : Lavc56.26
[mp3 @ 0x1b59ee0] Estimating duration from bitrate, this may be inaccurate
[Parsed_apad_2 @ 0x1b73760] Option 'whole_dur' not found
[AVFilterGraph @ 0x1b4b460] Error initializing filter 'apad' with args 'whole_dur=10'
Error configuring filters.
root@bea [/home/petarandzic/public_html/media]#

You'll need a recent static git/snapshot build.

Thanks for your response, please check this this snapshot https://beatscentral.co/media/ffmpeg.png

That's version 2.6.8. Get a git build from https://johnvansickle.com/ffmpeg/

Thank you so much, provided command working fine as per my expectation but there is showing some error. can you please check this attached screen shot https://beatscentral.co/media/ffmpeg-3.png
many thanks for your help.

Those errors in red just mean that some ID3 tag in the MP3 is malformed. Doesn't affect the audio.


text:
Invalid video duration when frame rate is not 60
I have a python script, that generates a ffmpeg command for creating a slideshow with the "Ken Burns" filter.
For example, I have 10 images and want to create an 1-minute video at 30 FPS. It generates the following command:
/usr/local/bin/ffmpeg -i /Users/user/src/python/VideoMaker2/input/images/test/1.jpg -i /Users/user/src/python/VideoMaker2/input/images/test/2.jpg -i /Users/user/src/python/VideoMaker2/input/images/test/3.jpg -i /Users/user/src/python/VideoMaker2/input/images/test/4.jpg -i /Users/user/src/python/VideoMaker2/input/images/test/5.jpg -i /Users/user/src/python/VideoMaker2/input/images/test/6.jpg -i /Users/user/src/python/VideoMaker2/input/images/test/7.jpg -i /Users/user/src/python/VideoMaker2/input/images/test/8.jpg -i /Users/user/src/python/VideoMaker2/input/images/test/9.jpg -i /Users/user/src/python/VideoMaker2/input/images/test/10.jpg -r 30 -t 60 -vcodec libx264 -preset ultrafast -tune zerolatency -pix_fmt yuv420p -filter_complex [0:v]format=yuv420p,format=yuv420p,scale=trunc(min(iw*2880/ih\,5120)/2)*2:-2,pad=5120:2880:(5120-iw)/2:(2880-ih)/2:color=black,zoompan=z='zoom+0.002':x='iw/2-(iw/zoom/2)':y='ih/2-(ih/zoom/2)':s=5120x2880:d=237.6,scale=trunc(min(iw*720/ih\,1280)/2)*2:-2,fade=t=in:st=0:d=0.0:alpha=1,fade=t=out:st=7.920000000000001:d=0.6600000000000001:alpha=0,setpts=PTS-STARTPTS+0.0/TB[0v];[1:v]format=yuv420p,format=yuv420p,scale=trunc(min(iw*2880/ih\,5120)/2)*2:-2,pad=5120:2880:(5120-iw)/2:(2880-ih)/2:color=black,zoompan=z='zoom+0.002':x='iw/2-(iw/zoom/2)':y='ih/2-(ih/zoom/2)':s=5120x2880:d=237.6,scale=trunc(min(iw*720/ih\,1280)/2)*2:-2,fade=t=in:st=0:d=1.3200000000000003:alpha=1,fade=t=out:st=7.920000000000001:d=0.6600000000000001:alpha=0,setpts=PTS-STARTPTS+5.28/TB[1v];[2:v]format=yuv420p,format=yuv420p,scale=trunc(min(iw*2880/ih\,5120)/2)*2:-2,pad=5120:2880:(5120-iw)/2:(2880-ih)/2:color=black,zoompan=z='zoom+0.002':x='iw/2-(iw/zoom/2)':y='ih/2-(ih/zoom/2)':s=5120x2880:d=237.6,scale=trunc(min(iw*720/ih\,1280)/2)*2:-2,fade=t=in:st=0:d=1.3200000000000003:alpha=1,fade=t=out:st=7.920000000000001:d=0.6600000000000001:alpha=0,setpts=PTS-STARTPTS+10.56/TB[2v];[3:v]format=yuv420p,format=yuv420p,scale=trunc(min(iw*2880/ih\,5120)/2)*2:-2,pad=5120:2880:(5120-iw)/2:(2880-ih)/2:color=black,zoompan=z='zoom+0.002':x='iw/2-(iw/zoom/2)':y='ih/2-(ih/zoom/2)':s=5120x2880:d=237.6,scale=trunc(min(iw*720/ih\,1280)/2)*2:-2,fade=t=in:st=0:d=1.3200000000000003:alpha=1,fade=t=out:st=7.920000000000001:d=0.6600000000000001:alpha=0,setpts=PTS-STARTPTS+15.84/TB[3v];[4:v]format=yuv420p,format=yuv420p,scale=trunc(min(iw*2880/ih\,5120)/2)*2:-2,pad=5120:2880:(5120-iw)/2:(2880-ih)/2:color=black,zoompan=z='zoom+0.002':x='iw/2-(iw/zoom/2)':y='ih/2-(ih/zoom/2)':s=5120x2880:d=237.6,scale=trunc(min(iw*720/ih\,1280)/2)*2:-2,fade=t=in:st=0:d=1.3200000000000003:alpha=1,fade=t=out:st=7.920000000000001:d=0.6600000000000001:alpha=0,setpts=PTS-STARTPTS+21.12/TB[4v];[5:v]format=yuv420p,format=yuv420p,scale=trunc(min(iw*2880/ih\,5120)/2)*2:-2,pad=5120:2880:(5120-iw)/2:(2880-ih)/2:color=black,zoompan=z='zoom+0.002':x='iw/2-(iw/zoom/2)':y='ih/2-(ih/zoom/2)':s=5120x2880:d=237.6,scale=trunc(min(iw*720/ih\,1280)/2)*2:-2,fade=t=in:st=0:d=1.3200000000000003:alpha=1,fade=t=out:st=7.920000000000001:d=0.6600000000000001:alpha=0,setpts=PTS-STARTPTS+26.400000000000002/TB[5v];[6:v]format=yuv420p,format=yuv420p,scale=trunc(min(iw*2880/ih\,5120)/2)*2:-2,pad=5120:2880:(5120-iw)/2:(2880-ih)/2:color=black,zoompan=z='zoom+0.002':x='iw/2-(iw/zoom/2)':y='ih/2-(ih/zoom/2)':s=5120x2880:d=237.6,scale=trunc(min(iw*720/ih\,1280)/2)*2:-2,fade=t=in:st=0:d=1.3200000000000003:alpha=1,fade=t=out:st=7.920000000000001:d=0.6600000000000001:alpha=0,setpts=PTS-STARTPTS+31.68/TB[6v];[7:v]format=yuv420p,format=yuv420p,scale=trunc(min(iw*2880/ih\,5120)/2)*2:-2,pad=5120:2880:(5120-iw)/2:(2880-ih)/2:color=black,zoompan=z='zoom+0.002':x='iw/2-(iw/zoom/2)':y='ih/2-(ih/zoom/2)':s=5120x2880:d=237.6,scale=trunc(min(iw*720/ih\,1280)/2)*2:-2,fade=t=in:st=0:d=1.3200000000000003:alpha=1,fade=t=out:st=7.920000000000001:d=0.6600000000000001:alpha=0,setpts=PTS-STARTPTS+36.96/TB[7v];[8:v]format=yuv420p,format=yuv420p,scale=trunc(min(iw*2880/ih\,5120)/2)*2:-2,pad=5120:2880:(5120-iw)/2:(2880-ih)/2:color=black,zoompan=z='zoom+0.002':x='iw/2-(iw/zoom/2)':y='ih/2-(ih/zoom/2)':s=5120x2880:d=237.6,scale=trunc(min(iw*720/ih\,1280)/2)*2:-2,fade=t=in:st=0:d=1.3200000000000003:alpha=1,fade=t=out:st=7.920000000000001:d=0.6600000000000001:alpha=0,setpts=PTS-STARTPTS+42.24/TB[8v];[9:v]format=yuv420p,format=yuv420p,scale=trunc(min(iw*2880/ih\,5120)/2)*2:-2,pad=5120:2880:(5120-iw)/2:(2880-ih)/2:color=black,zoompan=z='zoom+0.002':x='iw/2-(iw/zoom/2)':y='ih/2-(ih/zoom/2)':s=5120x2880:d=237.6,scale=trunc(min(iw*720/ih\,1280)/2)*2:-2,fade=t=in:st=0:d=1.3200000000000003:alpha=1,fade=t=out:st=7.920000000000001:d=10.0:alpha=0,setpts=PTS-STARTPTS+47.52/TB[9v];[0v][1v]overlay[1v];[1v][2v]overlay[1v];[1v][3v]overlay[1v];[1v][4v]overlay[1v];[1v][5v]overlay[1v];[1v][6v]overlay[1v];[1v][7v]overlay[1v];[1v][8v]overlay[1v];[1v][9v]overlay -y /Users/user/src/python/VideoMaker2/output/videos/1547957911138.mp4

And the resulting video's duration ends up as 57 seconds (3 seconds difference) for some reason. If I create a longer video, the difference will grow proportionally.
But if I create a video with same parameters but at 60 FPS, it's OK:
/usr/local/bin/ffmpeg -i /Users/user/src/python/VideoMaker2/input/images/test/1.jpg -i /Users/user/src/python/VideoMaker2/input/images/test/2.jpg -i /Users/user/src/python/VideoMaker2/input/images/test/3.jpg -i /Users/user/src/python/VideoMaker2/input/images/test/4.jpg -i /Users/user/src/python/VideoMaker2/input/images/test/5.jpg -i /Users/user/src/python/VideoMaker2/input/images/test/6.jpg -i /Users/user/src/python/VideoMaker2/input/images/test/7.jpg -i /Users/user/src/python/VideoMaker2/input/images/test/8.jpg -i /Users/user/src/python/VideoMaker2/input/images/test/9.jpg -i /Users/user/src/python/VideoMaker2/input/images/test/10.jpg -r 60 -t 60 -vcodec libx264 -preset ultrafast -tune zerolatency -pix_fmt yuv420p -filter_complex [0:v]format=yuv420p,format=yuv420p,scale=trunc(min(iw*2880/ih\,5120)/2)*2:-2,pad=5120:2880:(5120-iw)/2:(2880-ih)/2:color=black,zoompan=z='zoom+0.002':x='iw/2-(iw/zoom/2)':y='ih/2-(ih/zoom/2)':s=5120x2880:d=475.2,scale=trunc(min(iw*720/ih\,1280)/2)*2:-2,fade=t=in:st=0:d=0.0:alpha=1,fade=t=out:st=7.920000000000001:d=0.6600000000000001:alpha=0,setpts=PTS-STARTPTS+0.0/TB[0v];[1:v]format=yuv420p,format=yuv420p,scale=trunc(min(iw*2880/ih\,5120)/2)*2:-2,pad=5120:2880:(5120-iw)/2:(2880-ih)/2:color=black,zoompan=z='zoom+0.002':x='iw/2-(iw/zoom/2)':y='ih/2-(ih/zoom/2)':s=5120x2880:d=475.2,scale=trunc(min(iw*720/ih\,1280)/2)*2:-2,fade=t=in:st=0:d=1.3200000000000003:alpha=1,fade=t=out:st=7.920000000000001:d=0.6600000000000001:alpha=0,setpts=PTS-STARTPTS+5.28/TB[1v];[2:v]format=yuv420p,format=yuv420p,scale=trunc(min(iw*2880/ih\,5120)/2)*2:-2,pad=5120:2880:(5120-iw)/2:(2880-ih)/2:color=black,zoompan=z='zoom+0.002':x='iw/2-(iw/zoom/2)':y='ih/2-(ih/zoom/2)':s=5120x2880:d=475.2,scale=trunc(min(iw*720/ih\,1280)/2)*2:-2,fade=t=in:st=0:d=1.3200000000000003:alpha=1,fade=t=out:st=7.920000000000001:d=0.6600000000000001:alpha=0,setpts=PTS-STARTPTS+10.56/TB[2v];[3:v]format=yuv420p,format=yuv420p,scale=trunc(min(iw*2880/ih\,5120)/2)*2:-2,pad=5120:2880:(5120-iw)/2:(2880-ih)/2:color=black,zoompan=z='zoom+0.002':x='iw/2-(iw/zoom/2)':y='ih/2-(ih/zoom/2)':s=5120x2880:d=475.2,scale=trunc(min(iw*720/ih\,1280)/2)*2:-2,fade=t=in:st=0:d=1.3200000000000003:alpha=1,fade=t=out:st=7.920000000000001:d=0.6600000000000001:alpha=0,setpts=PTS-STARTPTS+15.84/TB[3v];[4:v]format=yuv420p,format=yuv420p,scale=trunc(min(iw*2880/ih\,5120)/2)*2:-2,pad=5120:2880:(5120-iw)/2:(2880-ih)/2:color=black,zoompan=z='zoom+0.002':x='iw/2-(iw/zoom/2)':y='ih/2-(ih/zoom/2)':s=5120x2880:d=475.2,scale=trunc(min(iw*720/ih\,1280)/2)*2:-2,fade=t=in:st=0:d=1.3200000000000003:alpha=1,fade=t=out:st=7.920000000000001:d=0.6600000000000001:alpha=0,setpts=PTS-STARTPTS+21.12/TB[4v];[5:v]format=yuv420p,format=yuv420p,scale=trunc(min(iw*2880/ih\,5120)/2)*2:-2,pad=5120:2880:(5120-iw)/2:(2880-ih)/2:color=black,zoompan=z='zoom+0.002':x='iw/2-(iw/zoom/2)':y='ih/2-(ih/zoom/2)':s=5120x2880:d=475.2,scale=trunc(min(iw*720/ih\,1280)/2)*2:-2,fade=t=in:st=0:d=1.3200000000000003:alpha=1,fade=t=out:st=7.920000000000001:d=0.6600000000000001:alpha=0,setpts=PTS-STARTPTS+26.400000000000002/TB[5v];[6:v]format=yuv420p,format=yuv420p,scale=trunc(min(iw*2880/ih\,5120)/2)*2:-2,pad=5120:2880:(5120-iw)/2:(2880-ih)/2:color=black,zoompan=z='zoom+0.002':x='iw/2-(iw/zoom/2)':y='ih/2-(ih/zoom/2)':s=5120x2880:d=475.2,scale=trunc(min(iw*720/ih\,1280)/2)*2:-2,fade=t=in:st=0:d=1.3200000000000003:alpha=1,fade=t=out:st=7.920000000000001:d=0.6600000000000001:alpha=0,setpts=PTS-STARTPTS+31.68/TB[6v];[7:v]format=yuv420p,format=yuv420p,scale=trunc(min(iw*2880/ih\,5120)/2)*2:-2,pad=5120:2880:(5120-iw)/2:(2880-ih)/2:color=black,zoompan=z='zoom+0.002':x='iw/2-(iw/zoom/2)':y='ih/2-(ih/zoom/2)':s=5120x2880:d=475.2,scale=trunc(min(iw*720/ih\,1280)/2)*2:-2,fade=t=in:st=0:d=1.3200000000000003:alpha=1,fade=t=out:st=7.920000000000001:d=0.6600000000000001:alpha=0,setpts=PTS-STARTPTS+36.96/TB[7v];[8:v]format=yuv420p,format=yuv420p,scale=trunc(min(iw*2880/ih\,5120)/2)*2:-2,pad=5120:2880:(5120-iw)/2:(2880-ih)/2:color=black,zoompan=z='zoom+0.002':x='iw/2-(iw/zoom/2)':y='ih/2-(ih/zoom/2)':s=5120x2880:d=475.2,scale=trunc(min(iw*720/ih\,1280)/2)*2:-2,fade=t=in:st=0:d=1.3200000000000003:alpha=1,fade=t=out:st=7.920000000000001:d=0.6600000000000001:alpha=0,setpts=PTS-STARTPTS+42.24/TB[8v];[9:v]format=yuv420p,format=yuv420p,scale=trunc(min(iw*2880/ih\,5120)/2)*2:-2,pad=5120:2880:(5120-iw)/2:(2880-ih)/2:color=black,zoompan=z='zoom+0.002':x='iw/2-(iw/zoom/2)':y='ih/2-(ih/zoom/2)':s=5120x2880:d=475.2,scale=trunc(min(iw*720/ih\,1280)/2)*2:-2,fade=t=in:st=0:d=1.3200000000000003:alpha=1,fade=t=out:st=7.920000000000001:d=10.0:alpha=0,setpts=PTS-STARTPTS+47.52/TB[9v];[0v][1v]overlay[1v];[1v][2v]overlay[1v];[1v][3v]overlay[1v];[1v][4v]overlay[1v];[1v][5v]overlay[1v];[1v][6v]overlay[1v];[1v][7v]overlay[1v];[1v][8v]overlay[1v];[1v][9v]overlay -y /Users/user/src/python/VideoMaker2/output/videos/1547958267849.mp4

Can someone please say where the mistake is in this command?
Upd. Class that is responsible for filter creation:
class KenBurnsCreator(object):
    HALF_TRANSITION_RATIO = 0.1

    __width: float
    __height: float
    __images: List[str]
    __duration: float
    __frame_rate: int

    __half_transition_duration: float
    __animation_duration: float

    __logger = get_logger(__qualname__)

    def __init__(self, width: float, height: float, images: List[str], duration: float, frame_rate: int) -> None:
        super().__init__()

        self.__width = width
        self.__height = height
        self.__images = images
        self.__duration = duration
        self.__frame_rate = frame_rate

        self.__animation_duration = duration / float(len(self.__images)) * (1 + self.HALF_TRANSITION_RATIO)
        self.__half_transition_duration = self.__animation_duration * self.HALF_TRANSITION_RATIO

        self.__logger.debug(f'Animation duration: {self.__animation_duration}, half transition duration: {self.__half_transition_duration}')

    def __create_ken_burns_translation_filter(self) -> str:
        upscale_ratio = max(3, int(3000 / self.__height))

        w = int(self.__ceil(self.__width * upscale_ratio))
        h = int(self.__ceil(self.__height * upscale_ratio))

        translation_duration = self.__frame_rate * (self.__animation_duration + self.__half_transition_duration * 2)

        filter_str = 'format=yuv420p'
        filter_str += ','
        filter_str += f'scale=trunc(min(iw*{h}/ih\\,{w})/2)*2:-2'
        filter_str += ','
        filter_str += f'pad={w}:{h}:'
        filter_str += f'({w}-iw)/2:'
        filter_str += f'({h}-ih)/2:'
        filter_str += f'color=black'
        filter_str += ','
        filter_str += 'zoompan='
        filter_str += 'z=\'zoom+0.002\':'
        filter_str += 'x=\'iw/2-(iw/zoom/2)\':'
        filter_str += 'y=\'ih/2-(ih/zoom/2)\':'
        filter_str += f's={w}x{h}:'
        filter_str += f'd={translation_duration:.1f}'

        return filter_str

    def __stitch(self, count: int) -> str:
        filter_str = '[0v][1v]'
        filter_str += 'overlay'

        for i in range(2, count):
            filter_str += '[1v];'
            filter_str += '[1v]'
            filter_str += f'[{i}v]'
            filter_str += 'overlay'

        return filter_str

    def __create_filter_content_for_ken_burns(self, count: int, index: int, animation: str) -> str:
        fade_duration_1 = 0.0 if index == 0 else self.__half_transition_duration * 2.0
        fade_start = self.__animation_duration + self.__half_transition_duration * 2.0
        fade_duration_2 = 10.0 if index == count - 1 else self.__half_transition_duration
        pts = (self.__animation_duration - self.__half_transition_duration * 2.0) * float(index)

        filter_str = f'[{index}:v]'
        filter_str += 'format=yuv420p'
        filter_str += ','
        filter_str += animation
        filter_str += ','
        filter_str += 'scale='
        filter_str += f'trunc(min(iw*{int(self.__height)}/ih\\,{int(self.__width)})/2)*2:-2'
        filter_str += ','
        filter_str += 'fade=t=in:st=0:'
        filter_str += f'd={fade_duration_1}:'
        filter_str += 'alpha=1'
        filter_str += ','
        filter_str += 'fade=t=out:'
        filter_str += f'st={fade_start}:'
        filter_str += f'd={fade_duration_2}:'
        filter_str += 'alpha=0'
        filter_str += ','
        filter_str += f'setpts=PTS-STARTPTS+{pts}/TB'
        filter_str += f'[{index}v];'

        return filter_str

    # ceil and round to 2-divisible
    def __ceil(self, number: float):
        new = math.ceil(number)
        if new % 2 != 0:
            new += 1
        return new

    def create_animation_filter(self) -> str:
        filter_str = ''

        images_count = len(self.__images)

        for index in range(images_count):
            ken_burns_translation_filter = self.__create_ken_burns_translation_filter()
            content = self.__create_filter_content_for_ken_burns(images_count, index, ken_burns_translation_filter)

            filter_str += content

        filter_str += self.__stitch(images_count)

        return filter_str

Within each image filtering block,
[9:v]format=yuv420p,
format=yuv420p,
scale=trunc(min(iw*2880/ih\,5120)/2)*2:-2,
pad=5120:2880:(5120-iw)/2:(2880-ih)/2:color=black,
zoompan=z='zoom+0.002':x='iw/2-(iw/zoom/2)':y='ih/2-(ih/zoom/2)':s=5120x2880:d=237.6,
scale=trunc(min(iw*720/ih\,1280)/2)*2:-2,
fade=t=in:st=0:d=1.3200000000000003:alpha=1,
fade=t=out:st=7.920000000000001:d=10.0:alpha=0,
setpts=PTS-STARTPTS+47.52/TB[9v];

zoompan is generating output at 25 fps. so you'll want to add fps=30 to see smoother zoom in the output.
The main issue is that the start time of the last image. It's 47.52 s and at present, 237 frames at 25 fps generates 10.48 s, leading to a 58 s output. After changing to 30 fps, each zoompan filter will generate 7.9 s stream. If that is desired, then for the last image, starting PTS should be 53.1 and all other starting timestamps should be adjusted as well.
The fade filter can only operate effectively if the stream is long enough. Take fade=t=out:st=7.920000000000001:d=10.0. Since, at present, each image is 237/25 = 10.48 s long, fade out will start at 7.92s and continue upto 10.48s and then end with a partial fade-out. Don't think this is what you want. st+d should be equal to or less than stream duration.
Finally, you don't need to set format twice, and since overlay defaults to yuv420p output, it's not needed at all.