text:
How do I avoid noise when speaker is further away?
When the speaker is further away from the microphone, noise gets louder as (that is my assumption) the compressors wants to compensate for the missing loudness.
An audio sample can be found here:
Example of noisy audio recording
The microphone is a Neumann U87, the pre-amplifier is a Manley.
How do I solve this situation?
Or would the noise be absent if a perfectly clean environment would be used?
I do not know in which environment this audio has been recorded, but if she is close to the microphone, no noise can be heard at all.

All analogue electronics generates some level of noise, and digital recordings also introduce a small amount of dither noise in order to accurately record signals.
When you record sound from a microphone, you are recording the person speaking, but also the sounds present in the room, the indirect sound of the person speaking reflecting off the objects in the room, and the noise associated with the analogue and digital systems being used.
What we're listening for is the ratio between the desired signal and the undesired noise.  Generally when recording with high quality microphones (like the U87) and a good pre-amp, noise is likely to be introduced by poor microphone placement, the wrong directional pattern being used on the U87, or recording levels being too low at some point within the signal chain before the audio is recorded.
U87s have a directional pattern setting which can change the response of the mic between omni, cardioid, and figure of 8.  In an echoey room with no acoustic absorption, a recording of a person speaking in front of the mic set to a 'cardioid' pattern will have a greater proportion of direct to indirect sound recorded.  The trade-off is that 'figure of 8' and 'omni' have slightly better frequency response patterns.
Even if you recorded in an anechoic chamber, there would be no room noise, but there would still be noise caused by the analogue and digital circuitry.  If your gain is set too low on the pre-amp or any other gain module before the signal is recorded, an undesirable level of noise would be introduced to the signal path.  If the digital level that you record at is set too low, you will also be introducing more noise into your recording, as the ratio of your signal to the quantising and dither noise introduced by sampling the signal digitally will be worsened.
Practically speaking, your audio clip doesn't sound that bad to me.  You could try noise reducing the recording using Adobe Audition's built in noise reduction tools.  You could re-record with your subject closer to the mic (but they sound pretty close mic'd already given the amount of mouth noise), and you could check your recording levels throughout your signal chain.

Thank you! In some overdub movie making ofs I see that people are really far away from the microphone. Like 1 meter, and they can still whisper or shout, and it will sound "equally" loud. How do they do that? Do they use a different microphone and / or is their hardware just perfectly configured?

Likely to be a combination of good acoustic treatment in the room - soft coverings over everything, and careful compression/limiting on the audio channel.  The issue is whether you commit that to "tape" or not.  If you do, you can't remove it afterwards if you mess it up. Often better to set the levels correctly first, then compress afterwards in the mix, or in their monitoring

What do you mean by "tape"? You're not talking about actual magnetic tape, are you?

I mean whatever you're recording onto, whether it's tape or an SSD. Once you've committed signal to a recording device, you can't easily reverse any processing you've applied to it.

Thank you for the insights!

It's easy to forget that like sound quality, electronics vary wildly in the amount of self-noise they produce. In most recording situations, this doesn't end up being a significant problem because we're recording instruments and voices that allow us to reduce gain to lower levels and NOT amplify the noise as much.
In situations where we're recording a very quiet (or distant) sound source, self noise quickly becomes an issue. Noise is compounding: the self noise of your microphone is amplified by your preamp (which adds its own noise), then all of that noise may be amplified through your compressor (which adds its own noise), and on it goes.
Put a dynamic mic in front of an electric guitar amp, and your gains will be so low through the whole recording chain that any self noise never makes an appearance. Put a "vintage" tube mic (often noisy) in front of a whispering actor, run that into a "vintage" preamp (often noisy) and you may have as much noise as voice at the end of the signal chain.
For the cleanest recordings possible, you need to start with a microphone with high sensitivity and low self-noise.
Two affordable examples:

Rode NT2A, self noise 7 dBA
Audio-Technica AT4047, self noise 9 dBA

Then you need to run that into a low-noise preamp (most decent solid-state preamps today fit the bill, check out the Grace M101). Preamps designed for ribbon mics (typically very low sensitivity) are usually very clean with gobs of gain and low self-noise.
If you still have noise in your recordings, active noise removal plug-ins have come a long way and will do a fantastic job cleaning up most audio files.


text:
Why does ffmpeg flip upside-down the video when concatenating with -f concat?
My text file list_of_fragments contains the list of video files to be concatenated.
I assumed they have the same streams (shot from the same smartphone, with the same settings)
file barbell-home.mp4
file before.mp4
file before-otherview.mp4
file rotated.tr.mp4
file squatting-rack.mp4

I attempted to concatenate them all with: ffmpeg -loglevel warning -hide_banner -f concat -safe 0 -i list_of_fragments -c copy conc-output.mp4
Sadly, the video corresponding to the files before.mp4, before-otherview.mp4, rotated.tr.mp4, squatting-rack.mp4 was flipped upside down, i.e. rotated 180 degrees (the part corresponding to barbell-home.mp4 was not rotated).
ffprobe returns (for the sake of brevity I've not included audio streams):
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'barbell-home.mp4':
  Metadata:
    major_brand     : mp42
    minor_version   : 0
    compatible_brands: isommp42
    creation_time   : 2022-10-30T15:11:45.000000Z
    com.android.version: 11
  Duration: 00:00:02.05, start: 0.000000, bitrate: 21155 kb/s
  Stream #0:0(eng): Video: h264 (Baseline) (avc1 / 0x31637661), yuv420p(tv, bt709), 1920x1080, 20059 kb/s, SAR 1:1 DAR 16:9, 29.92 fps, 29.92 tbr, 90k tbn, 180k tbc (default)
    Metadata:
      rotate          : 180
      creation_time   : 2022-10-30T15:11:45.000000Z
      handler_name    : VideoHandle
      vendor_id       : [0][0][0][0]
    Side data:
      displaymatrix: rotation of -180.00 degrees

Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'before.mp4':
  Metadata:
    major_brand     : mp42
    minor_version   : 0
    compatible_brands: isommp42
    creation_time   : 2022-10-26T11:50:04.000000Z
    com.android.version: 11
  Duration: 00:00:04.22, start: 0.000000, bitrate: 21335 kb/s
  Stream #0:0(eng): Video: h264 (Baseline) (avc1 / 0x31637661), yuv420p(tv, bt709), 1920x1080, 20384 kb/s, SAR 1:1 DAR 16:9, 29.94 fps, 29.92 tbr, 90k tbn, 180k tbc (default)
    Metadata:
      creation_time   : 2022-10-26T11:50:04.000000Z
      handler_name    : VideoHandle
      vendor_id       : [0][0][0][0]

Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'before-otherview.mp4':
  Metadata:
    major_brand     : mp42
    minor_version   : 0
    compatible_brands: isommp42
    creation_time   : 2022-10-26T11:50:15.000000Z
    com.android.version: 11
  Duration: 00:00:02.47, start: 0.000000, bitrate: 21370 kb/s
  Stream #0:0(eng): Video: h264 (Baseline) (avc1 / 0x31637661), yuv420p(tv, bt709), 1920x1080, 20377 kb/s, SAR 1:1 DAR 16:9, 29.94 fps, 29.92 tbr, 90k tbn, 180k tbc (default)
    Metadata:
      creation_time   : 2022-10-26T11:50:15.000000Z
      handler_name    : VideoHandle
      vendor_id       : [0][0][0][0]

Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'rotated.tr.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf58.76.100
  Duration: 00:00:04.85, start: 0.000000, bitrate: 25889 kb/s
  Stream #0:0(eng): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709), 1920x1080 [SAR 1:1 DAR 16:9], 25605 kb/s, 29.92 fps, 29.92 tbr, 11488 tbn, 59.83 tbc (default)
    Metadata:
      handler_name    : VideoHandle
      vendor_id       : [0][0][0][0]

Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'squatting-rack.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf58.76.100
  Duration: 00:00:01.77, start: 0.021000, bitrate: 19986 kb/s
  Stream #0:0(eng): Video: h264 (Baseline) (avc1 / 0x31637661), yuv420p(tv, bt709), 1920x1080, 20105 kb/s, SAR 1:1 DAR 16:9, 29.94 fps, 29.92 tbr, 90k tbn, 180k tbc (default)
    Metadata:
      handler_name    : VideoHandle
      vendor_id       : [0][0][0][0]

After taking a closer look at ffprobe's output I realized:

The files differ in their bitrate.
Only the first file does rotate : 180 in the metadata of its video stream.

My questions:

Why does only barbell-home.mp4 have rotate : 180 in the metadata of its video stream and what is the significance of it when concatenating with ffmpeg?
Adding -noautorotate to the command, ffmpeg -loglevel warning -hide_banner -f concat -safe 0 -noautorotate -i list_of_fragments -c copy conc-output.mp4, does not change the output? Why so?
Should I add rotate : 180 to the rest of the files or should I remove rotate : 180
from barbell-home.mp4 before proceeding to concatenate them all? If so, how might I accomplish this?
How might I concatenate the files in question without flipping the video upside-down?

The concat demuxer amalgamates all its inputs and presents them as a single input. It takes the properties of the first input as representing the properties of the amalgam. Since the 1st input has a rotation angle, that gets carried over.
noautorotate only takes effect during encoding, not with -c copy.
Easiest way forward, at present, is to re-encode all inputs without noautorotate and then concat.
Next is to re-encode only the first input. But then you have to match the encoding of the other inputs (bitrate doesn't matter).
Ultimately, during recording next time, make sure all videos are taken with the phone in identical orientation (not flipped in one recording).

Thanks. ffmpeg -i input.mp4 -c:a copy re-encoded.mp4 on each of the files solved the matter.

source: Stack Exchange

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

sort: votes


text:
How to detect if video had been sized up (Scaled up) in resolution?
On Internet, I can see many videos/movies claim to have FHD (1920x1080) resolution, but on watching they seem to be shot in lower resolution and resized/scaled up using encoder or transcoding tool to 1080p resolution.
My question: is there any tool to detect such scaling up?
If possible, I prefer ffmpeg tool, or knowledge base of such detection.
Thanks,

May i rephrase your question as

How natural does an image look?

If so, you are finding Naturalness Image Quality Evaluator (NIQE). Plz take a look of Naturalness Image Quality Evaluator (NIQE) no-reference image quality score. Then you may find some information from Laboratory for Image & Video Engineering and then you will get some tools like

scikit-video
Video Quality Indicators

Good Luck!

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


text:
is there a way to manipulate (pad, slice) a computed PTS timestamp within ffmpeg / drawtext?
I've been able to get most of the manipulations I want on various PTS/timestamp things.. except this one.  I have a case where we have a running PTS that gets stamped via drawtext.  I currently use the %{pts:flt} which outputs millisecond accurate seconds.  This is great, but I ultimately need to format this in the format SS.ff, by which I mean we always keep only the last two digits of the seconds, and we ONLY print two significant digits of the fractional (micro/milli) second portion.
I've been through a truckload of various gmtime/strftime() attempts, and I'm stymied in part because it appears that only flt provides the fractional seconds part that I want, and it doesn't look like strftime() has support for width/padding/truncating?

The FFMPEG does not support strtime %f option; therefore, the fractional second works with AVTB only. The parameter is
-filter_complex "drawtext=fontsize=90:x=20:y=20:text='pts=%{pts\:gmtime\:0\:%S %f} AVTB=%{eif\:trunc(t)\:d\:2}.%{eif\:(1M*t-1M*trunc(t))/10000\:d\:2}':box=1"

and the result is

Since a lot of this was unfamiliar to me, I went ahead and wrote up how I worked through it in the hope that it would be useful to someone else down the road...
Here's our starting expression, let's break this down and go through it:
%{eif:trunc(t):d:2}.%{eif:(1M*t-1M*trunc(t))/10000:d:2}
eif is 'evaluate_int_format', it evaluates the expression’s value and outputs as formatted integer.  From the docs:
The first argument is the expression to be evaluated, just as for the expr function.
The second argument specifies the output format. Allowed values are x, X, d and u. They are treated exactly as in the printf function.
The third parameter is optional and sets the number of positions taken by the output. It can be used to add padding with zeros from the left.... so :d:2 means a decimal integer padded to two digits.
t is the timestamp in seconds.  ffmpeg appears to keep this down to millisecond accuracy, so by manipulating this we can get the output we want.
So:
%{eif:trunc(t):d:2}
trunc(t) is just the integer part of the timestamp.
the eif call here just formats that to two zero-padded digits.
(1M*t-1M*trunc(t))/10000
this is slick: 1M*t basically shifts the whole timestamp by 10e6, which gives us the total number of microseconds as an integer - or said another way we just cast the timestamp to an integer...
similarly: 1M*trunc(t) rounds down that value to the nearest second.
1.746826 seconds becomes 1,746,826 microseconds which then trunc's down to 1,000,000 microseconds.
subtracting them leaves us with just the remainder (in microseconds).
Since we want the output in hundredths of seconds, we divide by 10000 (really another shift) and this gives us the fractional leftovers, as another integer, which we then format to two digits with zero padding.
ffmpeg-utils docs
ffmpeg text expansion docs


text:
What kind of output is this?
I would like to connect my computer to my HDMI-enabled monitor. The computer has a VGA out and one of these:

I don't know what that is called.

That's a DisplayPort socket. Display port to HDMI adaptors are available, almost always DisplayPort is set up as displayport dual-mode, meaning a simple, cheap cable adaptor—e.g. this randomly selected two dollar jobbie from ebay —will suffice for connecting it to HDMI equipment.


text:
Convert Horizontal 1920x1080 mp4 video to Vertical 1080x1920 mp4 with Actual content size of 1080x608
How to convert horizontal 1920x1080 mp4 video to vertical 1080x1920 mp4 with actual content size of 1080x608
I know ffmpeg can do it, but don't know how to do it.

Use the scale filter.
ffmpeg -i in -vf scale=1080:1920:force_original_aspect_ratio=decrease,pad=1080:1920:-1:-1 -c:a copy out

FFmpeg does it through the video filter - transpose; clockwise or counter-clockwise option is available.


text:
Software to automatically detect (and if it possible remove) commercials from video files recorded from TV
I have recorded some TV shows to my PC. They have commercials. And I want to remove those commercials.
I want to know if there is a software that can automatically parse a video file or a batch of files and at least detect the points in time when commercials start and end, and remove/delete those scenes or provide that info in some standard format that can be latter used in another software to do the remotion part of the job?
Thank you!

Take a look at Comskip (https://github.com/erikkaashoek/Comskip). I use it with TvHeadend to mark commercials, which are then auto-skipped during playback in Kodi.
There is a paid-for, pre-built version for Windows, or if you are comfortable you can build it yourself from source code.


text:
ffmpeg: Placing an overlay over multiple images
I am trying to overlay a png image onto a series of images (a few hundred images), I will later take this series of images with the overlay and construct a movie out of the series of images. I don't know too much about ffmpeg and I have just recently started playing with it for converting and editing media files but I have found something that works for combining the png with one tif image:
ffmpeg -i my.png -i my.tif -filter_complex "[1][0]scale2ref[i][m];[m][i]overlay[v]" -map "[v]" -map 0:a? -ac 2 output.tif
This is what I have so far, which allows me to overlay my png on a single tif image. I would like to do this for every single tif image that I have in my folder (hundreds) of tif images.
Is there a way to instruct ffmpeg to do such a process?
Thanks

Are all the TIFFs with the same properties, like resolution?

@Gyan Yes, the resolution of all of the tif images and the png image is the same. Specifically these images are electron micrographs and I was hoping to overlay a graphic on top of all of the electron micrographs. I was able to generate a macro on ImageJ to overlay the graphic onto all of the tifs. However, I am still curious if there is a way to accomplish this type of "water-marking" with ffmpeg as that may prove to be useful in the future. I suppose that I would need a conditional statement for the tif images, but I am not sure how to implement such a thing in ffmpeg.

How are the TIFFs named?

@Gyan The tif images are all organized by their capture frame in a numerical sequence. Eg. image0001.tif, image0002.tif, etc.

If all TIFFs have the same properties, and are named sequentially like image0001.tif, then you can use
ffmpeg -i image%04d.tif -i my.png -filter_complex "[1][0]scale2ref[i][m];[m][i]overlay" out%04d.tif

This will generate images with the overlay named as follows
out0001.tif
out0002.tif
...


text:
How do I dub just the dialogue for an existing movie?
I am not a moviemaker or have any experience at all in the department. But I saw this video of BTS dubbing some scenes from Lionking, Zootopia etc. I want to do the same.
I tried movavi, which allows me to record my own voice but it replaces all the audio for that segment. But I only want to replace/dub over the dialogue while leaving other sound effects intact. How do I do that?

You would need a version of the audio track without any dialogue on it.
You could attempt to remove the dialogue from the a sound track, but the results would be pretty bad.


text:
Why "mat2" show over 90 lines of metadata for video file
I bought a video and see a lot of meta data. What do these metadata mean (overview summary)? Is there something like watermarking to track who the owner is?
mat2 -s video.mp4
[+] Metadata for video.mp4:
    AltTimecodeTimeFormat: 59.94 fps (drop)
    AltTimecodeTimeValue: 00;00;00;00
    AudioChannelType: Stereo
    AudioSampleType: 16-bit integer
    CompatibleBrands: ['M4V ', 'mp42', 'isom']
    CompressorID: avc1
    CompressorName: AVC Coding
    CreateDate: 2020:11:09 16:44:55+01:00
    CreatorTool: Adobe Adobe Media Encoder CC 2015 (Windows)
    DerivedFromDocumentID: xmp.did:9902b825-8b27-5640-8b76-5b136d0ea7bc
    DerivedFromInstanceID: xmp.iid:9902b825-8b27-5640-8b76-5b136d0ea7bc
    DerivedFromOriginalDocumentID: xmp.did:9902b825-8b27-5640-8b76-5b136d0ea7bc
    DocumentID: 5a89b15b-f7e0-b162-e166-0b7a00000067
    DurationScale: 1.11111111111111e-05
    DurationValue: 110674560
    Format: H.264
    GraphicsMode: srcCopy
    HandlerDescription: Mainconcept MP4 Sound Media Handler
    HandlerType: Audio Track
    HistoryAction: ['saved', 'created', 'saved', 'saved']
    HistoryChanged: ['/', '/', '/metadata']
    HistoryInstanceID: ['4b3b2d68-3464-3bb6-6b32-91ae00000094', 'xmp.iid:9902b825-8b27-5640-8b76-5b136d0ea7bc', 'xmp.iid:0e612392-7976-c741-a822-a721f06a13d2', 'xmp.iid:ee31c5e9-1517-db48-89dd-bd9f236f32fb']
    HistorySoftwareAgent: ['Adobe Adobe Media Encoder CC 2015 (Windows)', 'Adobe Adobe Media Encoder CC 2015 (Windows)', 'Adobe Adobe Media Encoder CC 2015 (Windows)', 'Adobe Adobe Media Encoder CC 2015 (Windows)']
    HistoryWhen: ['2020:11:09 16:45:21+01:00', '2020:11:09 15:30:46+01:00', '2020:11:09 16:45:20+01:00', '2020:11:09 16:45:21+01:00']
    IngredientsDocumentID: ['17d3872e-9a9e-e174-72e0-716700000057', 'b9b25f0e-f7c9-a41a-9ffb-990e00000055', 'xmp.did:2aac4b58-91ac-1046-8ed3-a632d3ae5192', 'xmp.did:a1ebf30e-ed51-aa41-92ae-7cb05987f820']
    IngredientsFilePath: ['movie_ending_1080p.png', 'movie_title_1080p.png', 'Sequenz 01', 'Sequenz 01']
    IngredientsFromPart: ['time:0', 'time:0', 'time:0d309815300995200f254016000000', 'time:0d309815300995200f254016000000']
    IngredientsInstanceID: ['21f83c33-fb22-c75f-e179-ad5700000084', '53c709c5-de60-8ea3-930a-66f400000082', 'xmp.iid:2aac4b58-91ac-1046-8ed3-a632d3ae5192', 'xmp.iid:a1ebf30e-ed51-aa41-92ae-7cb05987f820']
    IngredientsMaskMarkers: ['None', 'None', 'None', 'None']
    IngredientsToPart: ['time:311086651075200f254016000000d1271350080000f254016000000', 'time:0d1271350080000f254016000000', 'time:1271350080000f254016000000d309815300995200f254016000000', 'time:1271350080000f254016000000d309815300995200f254016000000']
    InstanceID: xmp.iid:ee31c5e9-1517-db48-89dd-bd9f236f32fb
    MacAtomApplicationCode: 1347449455
    MacAtomInvocationAppleEvent: 1129468018
    MajorBrand: Apple iTunes Video (.M4V) Video
    MediaCreateDate: 2020:11:09 15:44:55
    MediaDataOffset: 897778
    MediaDataSize: 1588632083
    MediaHeaderVersion: 0
    MediaLanguageCode: eng
    MediaModifyDate: 2020:11:09 15:44:55
    MetadataDate: 2020:11:09 16:45:21+01:00
    MinorVersion: 0.0.1
    ModifyDate: 2020:11:09 16:45:21+01:00
    MovieHeaderVersion: 0
    NextTrackID: 3
    OriginalDocumentID: xmp.did:a508c79a-2272-c546-91d4-c9aa4c498a90
    PantryCreateDate: 2020:11:07 14:03:57Z
    PantryCreatorTool: Adobe Photoshop CS6 (Windows)
    PantryDerivedFromDocumentID: xmp.did:34B7DA9CD49AE6118979968F31FD9306
    PantryDerivedFromInstanceID: xmp.iid:D6D95BF95B20EB11B0ABB873A4E7C38E
    PantryDocumentID: xmp.did:fe7bc376-e888-ee4c-b3a1-708f3e7caaad
    PantryDurationScale: 1.11111111111111e-05
    PantryDurationValue: 12977280
    PantryHistoryAction: saved
    PantryHistoryChanged: /metadata
    PantryHistoryInstanceID: xmp.iid:fe7bc376-e888-ee4c-b3a1-708f3e7caaad
    PantryHistorySoftwareAgent: Adobe Adobe Media Encoder CC 2015 (Windows)
    PantryHistoryWhen: 2020:11:09 15:30:46+01:00
    PantryIngredientsDocumentID: f3d8f942-f860-44ed-270d-82bf00000045
    PantryIngredientsFilePath: vid011++o.mp4
    PantryIngredientsFromPart: time:42336000000f254016000000d14148691200000f254016000000
    PantryIngredientsInstanceID: b7e0bd35-580a-727e-0779-f5ce00000072
    PantryIngredientsMaskMarkers: None
    PantryIngredientsToPart: time:42336000000f254016000000d14148691200000f254016000000
    PantryInstanceID: xmp.iid:fe7bc376-e888-ee4c-b3a1-708f3e7caaad
    PantryMarked: False
    PantryMetadataDate: 2020:11:09 15:30:46+01:00
    PantryModifyDate: 2020:11:09 15:30:45+01:00
    PantryOriginalDocumentID: xmp.did:fe7bc376-e888-ee4c-b3a1-708f3e7caaad
    PreferredRate: 1
    ProjectRefType: Movie
    Rotation: 0
    StartTimeSampleSize: 1001
    StartTimeScale: 60000
    StartTimecode: 00;00;00;00
    StartTimecodeTimeFormat: 59.94 fps (drop)
    StartTimecodeTimeValue: 00;00;00;00
    TimeScale: 90000
    TrackCreateDate: 2020:11:09 15:44:55
    TrackHeaderVersion: 0
    TrackID: 1
    TrackLayer: 0
    TrackModifyDate: 2020:11:09 15:44:55
    VideoFieldOrder: Progressive
    VideoFrameSizeH: 1080
    VideoFrameSizeUnit: pixel
    VideoFrameSizeW: 1920
    VideoPixelAspectRatio: 1
    WindowsAtomExtension: .prproj
    WindowsAtomInvocationFlags: /L
    WindowsAtomUncProjectPath: movie_frame_1080p_cc2015.prproj
    XMPToolkit: Adobe XMP Core 5.6-c067 79.157747, 2015/03/30-23:40:42

They are not tracking buyers - those are metadata written by the authoring program (Adobe Premiere Pro CC 2015).

All those Ingredients* and Pantry* tags are XMP tags which are really easy to remove.  Either remux the file with ffmpeg or with exiftool you would run exiftool -XMP:all= video.mp4

I see no need to worry about those meta data or why you should remove them.
Pantry and Ingredients tags refer to asset tracking. In fact most of this data are production related and not relevant in any way for a consumer. The rest tells you about technical features, like the resolution or video codec.
A watermark is something different. If you want to protect digital data you typically use DRM or could hide it steganographically in the video content or even make it plainly visible. Metadata can be removed too easily and are not used for this purpose.


text:
How can I find out the codec of a video I have exported from Premiere Pro?
I've exported some videos from Premiere Pro after working on them, but I've forgotten what the codec of the video is. How can I find out the codec of the video? Thanks!

Use Mediainfo

@Gyan I tried the online version for both of the videos, but it told me Codec ID: mp42 (mp42/mp41) for both of them. It's supposed to tell me H.264 or HEVC/H.265 since those two are the only two codecs I ever use (and I totally remember that I used one of these two codecs for the videos). Any help with this? Thanks! P.S. If File Explorer could tell me something about the codec, that would've been great. Unfortunately, File Explorer can't tell me anything about the codec of the video.

You have to see the codec id in the video section, not general. The label 'Codec ID' in the general section should be called something else.

@Gyan OK, thanks! Actually, I just tried it, and it turns out I need to look at the Format label in the Video section. For the first one, it said AVC, and I don't know what that means. (However, I think I can faintly remember that I had used H.264 for that video.) For the second one, it said HEVC. Thanks!

AVC = H.264 and HEVC = H.265.

Use MediaInfo to get technical information for a media file.
The codec id in the video section will print the exact identifier stored in the file for that video stream. The format entry in the same section will print the formal name of that codec.

Thanks for adding this as an answer! I just noticed this as I was doing some other things earlier and couldn't check Stack Exchange.


text:
ffmpeg stretch edge pixels to cover black bars
I have a video file that is a screen recording of some slides. The slides had a 4:3 aspect ratio (1440x1080), but the video file is 16:9 (1920x1080), meaning there are black bars to the left and right. I would like to take a narrow column of pixels from the leftmost edge of the slide (say, the 241st column of pixels) and stretch them to cover the left black bar (and do the same on the right side to cover the right black bar). Is this something that can be done entirely on the command line by ffmpeg?
Schematically, what I'd like to do is turn this video frame:

Into this one:

FFmpeg has a fillborders filter that can be used here.
Assuming a 1440x1080 content area inside a 1920x1080 frame, use
ffmpeg -i in -vf fillborders=left=241:right=241:mode=smear -c:a copy out

Works perfectly, thank you.


text:
"Cannot find a matching stream for unlabeled input pad 2 on filter Parsed_amerge_2" ffmpeg
The error I'm getting is in the title.
I want to merge the two audio streams from a video into one (yes, I've checked if there is two and there is). This is the command I'm using:
ffmpeg -i input.mp4 -filter_complex "[0:v]scale=-2:720,format=yuv420p[v];[0:a]amerge=inputs=2[a]" -map "[v]" -map "[a]" -c:v libx264 -crf 23 -preset medium -c:a aac -ar 44100 -ac 2 output.mp4

Any ideas why I could be getting the error?

Inside a filtergraph, each pad is associated with a single stream. And a specifier such as 0:a will match the first stream that qualifies. You need to specify two pads and fully specify the input streams.
[0:a:0][0:a:1]amerge=inputs=2[a]

Will this throw an error if only one input audio stream is inputted? I'm using it in a kind of automated program, and some videos may only have one audio stream, while others may have 2.

No. of inputs should be equal to the inputs value of amerge.


text:
How to camera match move for moon/clouds/stars?
I have found the way to replace green screen and match camera move with background footage, but I don't understand how is it done for sky because the markers on green screen moves way faster than the objects in sky. Please share your experience.

You can assume celestial bodies are infinitely far away, as the amount of parallax you can achieve in anything except a space ship is infinitesimal. So that means that the moon and stars stay fixed to a point of view, as long as you're not panning. If you're panning then the moon and stars can be on layers a long way from the camera, but scaled up to fill the frame.


text:
Applying effects to only selected characters in Text
Say I made a Text+ object with the following message:

Bold only THIS character.

How would I apply certain effects (like bolding/colors) to only certain words? Where it will end up like this:

Bold only THIS character

I am using Davinici Resolve 16.2.7

Your question doesn't mention whether you're using text+ from the Edit page, or from the Fusion page, but the answer is the same nevertheless.  You can't create one text element which contains two different styles from the Edit page.  To get individual control of different letters and words in a text+ object, you need to switch over to Fusion.  If you created it on the Edit page initially, switching to Fusion with the playhead over the clip will automatically populate the node tree with everything you need.
With the text+ node hilighted, Right-click anywhere in the text entry area of the inspector.  Select "Character Level Styling" from the context menu dropdown that appears.

You'll now be able to select individual characters and words interactively in the viewport.  Click and drag a lasso around the word you want to change.

When you release the mouse, you'll see kerning guides to indicate which letters are selected.

You'll find the controls to change character-level styling under the "modifiers" tab of the inspector.  If no text is selected, the controls disappear, which is a quirk of the interface which makes the feature difficult to discover.  But with the letters selected, Fusion exposes a ton of attributes to control or animate at the character level.  The text, transform, and shading tabs will now operate on the active selection, and you can change the active selection at any time.  You can also reset all character-level styling, or reset only selected elements by using the buttons in the inspector.

One drawback of Resolve's Charachter Level Styling modifier, is that it isn't very suited to dynamic text changes.  For example, say you meticulously style a person's first and last name, with a different style on the first name.  Say, for example you style...

JohnSmith

...and then learn that there's no "h" in his name.  For the sake of argument, you're using CamelCase, with no whitespace between first and last name.  When you correct the spelling, your styling will look like:

JonSmith

This is because Resolve's character level styling follows the letter count, including whitespace.
To fix this, and to address your question more directly, you would select the word you want to un-bold by drawing a marquis around it, click the "clear character styling on selection" button, then select the word you DO want to be bold, and change the styling in the modifier tab.
You'll find that this behavior will often encourage you to create an entirely different text+ node (to split styles in fusion) or text+ timeline layer (to split style on edit page), and obviate the use of the character-level styling modifier, which is unfortunate once you get used to its convenience.  But on the other hand, when the two elements need dynamic flexibility, they'll need separate logic control anyway.
*These screenshots show Resolve R17b2, which will look slightly different from yours, but the functionality is the same.


text:
Can I replace a layer with another in Adobe After Effects?
I made a logo in Photoshop. I imported it in After Effects where I animated it, I added effects, I duplicated it etc.
Unfortunately I realized that the logo wasn't ready, I needed to add something else, a final touch, which had to be done in the source ie. in Photoshop. So I did change it in Photoshop, I imported the new one in the After Effects project.
Now I spent about a good day's time doing all the effects etc on the previous logo. Is it possible that I can replace the old logo (the old layer) with the new layer such that I won't have to redo all the effects and animations etc. to the new layer all over again?
gee if this isn't possible I will break down.

Yes, this is possible. Simply right-click your logo in the Project-Panel and select "replace file", then select your new logo.

Also if you were modifying the original file and didn't add any layers, when you save a .PSD file in photoshop, the file in After Effects should update a few seconds afterwards.

@tomh is absolutely right. If the PSD doesn't update in AE after saving in photoshop, you might need to right-click the source and press "reload footage". I've had some issues with it not updating sometimes, but 90% of the time that method works just fine.


text:
Fix mp3float Header missing without re-encode
I'd like to fix some old AVI files without re-encoding them. I was hoping ffmpeg would do the job, but for some reason I cannot find the right command to fix the MP3 header.
Steps:
% ffprobe  -hide_banner -i input.avi
[mp3float @ 0x56498fcfa740] Header missing
Input #0, avi, from 'input.avi':
  Metadata:
    encoder         : Lavf58.20.100
  Duration: 01:19:44.96, start: 0.000000, bitrate: 1211 kb/s
    Stream #0:0: Video: mpeg4 (DX50 / 0x30355844), yuv420p, 512x408 [SAR 1:1 DAR 64:51], 1071 kb/s, 25 fps, 25 tbr, 25 tbn, 30k tbc
    Stream #0:1: Audio: mp3 (U[0][0][0] / 0x0055), 44100 Hz, stereo, fltp, 128 kb/s

If I now try:
$ ffmpeg -i input.avi -c copy output.avi

This results in:
% ffprobe  -hide_banner -i output.avi
[mp3float @ 0x56369d7ff740] Header missing
Input #0, avi, from 'output.avi':
  Metadata:
    encoder         : Lavf58.20.100
  Duration: 01:19:44.96, start: 0.000000, bitrate: 1211 kb/s
    Stream #0:0: Video: mpeg4 (DX50 / 0x30355844), yuv420p, 512x408 [SAR 1:1 DAR 64:51], 1071 kb/s, 25 fps, 25 tbr, 25 tbn, 30k tbc
    Stream #0:1: Audio: mp3 (U[0][0][0] / 0x0055), 44100 Hz, stereo, fltp, 128 kb/s

Is there a way to fix this error [mp3float @ 0x56369d7ff740] Header missing using ffmpeg without re-encoding the mp3 file ?

Right now the only solution I found is a two steps process:
Extract the mp3 stream:
$ ffmpeg -i input.avi -c:a copy input.mp3

Combine it back into the original AVI container:
$ ffmpeg -i input.avi -i input.mp3 -c:v copy -c:a copy -map 0:v:0 -map 1:a:0 output.avi

Leads to:
% ffprobe -hide_banner -i output.avi
Input #0, avi, from 'output.avi':
  Metadata:
    encoder         : Lavf58.20.100
  Duration: 01:19:44.96, start: 0.000000, bitrate: 1211 kb/s
    Stream #0:0: Video: mpeg4 (DX50 / 0x30355844), yuv420p, 512x408 [SAR 1:1 DAR 64:51], 1071 kb/s, 25 fps, 25 tbr, 25 tbn, 30k tbc
    Stream #0:1: Audio: mp3 (U[0][0][0] / 0x0055), 44100 Hz, stereo, fltp, 128 kb/s


text:
Why does moving objects in some videos flicker or distort horizontally
I am not asking the common question of horizontal dark stripes on some of the videos. I know this is a known topic and lots of resources are already available on the internet on this. But I am talking about a strange phenomena of some of the videos here, specifically appears around moving objects. Please see the screenshot below.

This is snapshot of a Youtube video (a cricket match). The player in the video is running. Hence you can clearly see the horizontal distortion of the player's image. But notice carefully, the entire video screen is not distorted. You can see the score board and logo which are added on post processing of the camera footage during telecast. Those static parts are not distorted.
I do notice this problem, when I record my own videos with my Sony Handycam and try to play the recorded clips (MTS Files) with VLC Media player. If I play the same clip with Windows Media Player these stripes disappear. When I shoot using my OnePlus 5 Mobile, it doesn't appear at all in any player. So, there is indeed a contribution of the camera we are shooting and the player which is playing the video. And this happens specifically when the objects in the video (or the camera) moves. If I take video of a static content, the stripes do not show up. I am pretty sure, many of you have noticed this too.
Anyone has any idea what causes this horizontal distortion to appear? Is there any resource available which explains the cause and ways to fix it?
If you want to see the sample Youtube video which I am referring here, the video id is nclPaVQmCHc

This is called interlacing. It's a video artefact left over from the days when video signals for television (and domestic systems) sent every other horizontal line, then filled in the missing gaps, every half a frame of video that was sent.
You need to deinterlace the footage before you edit it.
If someone else has already uploaded the footage incorrectly to youtube, you may be unable to deinterlace their footage, depending on whether the scale and frame rate of the video has been altered when they edited it.


text:
How to get blinking play button on top of the video in Adobe Premier Pro?
I have added date and "Play ►" text but how do I get Play button "►" to flash like in the GIF below?

Open a text editor and find the ▶ unicode symbol.
It will be called something like:
BLACK RIGHT-POINTING TRIANGLE
Unicode: U+25B6 U+FE0E, UTF-8: E2 96 B6 EF B8 8E

Open a sequence in premiere and create a text object.
Keyframe the opacity to 100%
Move forward 15 frames
Keyframe the opaticty to 0%
Select the two keyframes
Right click them and set them to "hold"
Copy both keyframes and paste them many times across your timeline.


text:
Natron: how to resume a render that crashed
I'd like a way to restart a render when a render crashes in Natron, given that the output are written in separated files (using output out_%05d.png).
I don't want to change the first frame in my render because otherwise I could forget what is the actual first frame.

There is a nice solution (thanks Hank): just uncheck the "overwrite" parameter in the write parameter. That way, only non-existing files will be created.


text:
Sony Vegas 17 can't render a 1:1 video?
I have a video that I want to render as a 1:1 (1920x1920) aspect ratio. But it seems sony vegas 17 won't render it. And it gives me this error:

Here's my video properties:

And here's the render settings:

I've tried resetting sony vegas, try restarting my computer and etc. I've even tried to change my setting on by one, and it seems the only problem is the resolution. Whenever I tried to change the resolution/aspect ratio to 16:9 its fixed, but when I turn it to 1:1 it gives me the error. I need help!

Not sure, why this is happening, but I could reproduce this issue and get it fixed by using a "Magix AVC/AAC MP4" codec instead of the Sony codec.


text:
How to automate cutting the part with audio on a certain track out?
How to automate cutting the bits with audio on a certain track out?
So here is the deal.
We live recording radio shows with video.
But we do not have permission to use the music played. So we need to manually rremove it from the video.
There is a single audiotrack for the music playing.
Video Track
Audio track 1 - Everything.
Audio track 2 - Microphones
Audio track 3 - Music
Audio track 4 - Sound bits.
So i have to remove all the pars where there is sound on audio track 3 :)
So my question is - is there anyway to automate this? Either full automatic (FFMEPG)
or in Premiere Pro- A way to select bits on a audio track where volume is over X? and also select all other tracks.
Help please :)

This guy did essentially the opposite of what you're trying to do. However, he posted the source-code here. So with a little bit of IT-finesse, you should be able to reverse the program's understanding of what to edit out - meaning that the code shouldn't say (in a very simplified, theoretical syntax):
if track5dB < 5dB:
{
cutThisOut();
}

but instead:
if track5dB > 0
{
cutThisOut();
}

Now, I haven't personally checked out the code in detail, so I cannot 100% vouch for it to work, but it might just be worth a try.

Amazing. I have watched the video. But did not see that he posted the source. I'll try it out.


text:
After subtitle video one of my audio track is missing
I have a video and a soft subtitle of the video.The video had 3 audio(track1 track2 track3) I use this command
ffmpeg -i /sdcard/input.mkv -vf subtitles=/sdcard/input.ass /sdcard/hrdcoded.mp4
In this command I not only hardcode subtitles but also convert the video to mp4. The process start properly but when it finished I saw I was have 3 audio track(track1 track2 track3) now it have audio track1. Other tracks are missing. What command should i use to have all audio track

FFmpeg, by default, only picks one stream of each type (video, audio, subtitles). The user needs to set map option to select tracks for an output.
ffmpeg -i /sdcard/input.mkv -vf subtitles=/sdcard/input.ass -map 0 -c:a copy /sdcard/hrdcoded.mp4

See https://ffmpeg.org/ffmpeg.html#Stream-selection


text:
no such filter, when using filter complex with pre-scale
the desired output is combining 3 vids, and using scale or pad (do some processing on the input).
ffmpeg -i in.mp4 -i in2.mkv -i in3.mkv \
-filter_complex "[0:v][v0];[1:v]scale=-1:1440[v1];[2:v][v2],[v0][v1][v2]hstack=inputs=3"
 -map "[v]" -map 1:a output.mp4

give:

[AVFilterGraph @ 0xec0a80] No such filter: ''
Error initializing complex filters.
Invalid argument

What are [0:v][v0]; and [2:v][v2], meant to do?

there is the confusing part, the pattern on filtergraph, [in]opt_preprocess[out]?

[0:v][v0] and [2:v][v2] don't contain any filter declaration, and thus ffmpeg complains. Insert whichever filter is desired in between the input and output pads.
I suppose you meant to scale the heights of the 3 inputs to match. In which case,
ffmpeg -i in.mp4 -i in2.mkv -i in3.mkv \ -filter_complex "[0:v]scale=-1:1440[v0];[1:v]scale=-1:1440[v1];[2:v]scale=-1:1440[v2];[v0][v1][v2]hstack=inputs=3" -map "[v]" -map 1:a output.mp4
on input processing with -filter_complex, you use this pattern:
[input_number:v]operation[tmp_output_name]

I suggest an edit, please take a look.


text:
FFMPEG shows error message
I am pretty new to ffmpeg, sorry. I am trying to compose a video from individual images. The images have size 2667 x 1500.
The following command gives me an error:
"/usr/bin/ffmpeg" -y -f concat -safe 0 -i "/home/abc/def/data/tmp/gVQO7wUc.txt" -vf "pad=ih*16/9:ih:(ow-iw)/2:(oh-ih)/2,scale=1920:1080:flags=lanczos" -c:v libx264 -crf 18 -preset veryslow -pix_fmt yuv420p -movflags +faststart "/home/abc/def/data/tmp/964MX26P.mp4"

ffmpeg version 2.8.15 Copyright (c) 2000-2018 the FFmpeg developers
  built with gcc 4.8.5 (GCC) 20150623 (Red Hat 4.8.5-36)
  configuration: --prefix=/usr --bindir=/usr/bin --datadir=/usr/share/ffmpeg --incdir=/usr/include/ffmpeg --libdir=/usr/lib64 --mandir=/usr/share/man --arch=x86_64 --optflags='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic' --extra-ldflags='-Wl,-z,relro ' --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libvo-amrwbenc --enable-version3 --enable-bzlib --disable-crystalhd --enable-gnutls --enable-ladspa --enable-libass --enable-libcdio --enable-libdc1394 --enable-libfdk-aac --enable-nonfree --disable-indev=jack --enable-libfreetype --enable-libgsm --enable-libmp3lame --enable-openal --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libvorbis --enable-libv4l2 --enable-libx264 --enable-libx265 --enable-libxvid --enable-x11grab --enable-avfilter --enable-avresample --enable-postproc --enable-pthreads --disable-static --enable-shared --enable-gpl --disable-debug --disable-stripping --shlibdir=/usr/lib64 --enable-runtime-cpudetect
  libavutil      54. 31.100 / 54. 31.100
  libavcodec     56. 60.100 / 56. 60.100
  libavformat    56. 40.101 / 56. 40.101
  libavdevice    56.  4.100 / 56.  4.100
  libavfilter     5. 40.101 /  5. 40.101
  libavresample   2.  1.  0 /  2.  1.  0
  libswscale      3.  1.101 /  3.  1.101
  libswresample   1.  2.101 /  1.  2.101
  libpostproc    53.  3.100 / 53.  3.100
Input #0, concat, from '/home/showroom/companyshowroom/data/tmp/gVQO7wUc.txt':
  Duration: N/A, start: 0.000000, bitrate: N/A
    Stream #0:0: Video: png, rgb24(pc), 2667x1500 [SAR 7874:7874 DAR 889:500], 25 tbr, 25 tbn, 25 tbc
[Parsed_pad_0 @ 0x14466c0] Input area 0:0:2667:1500 not within the padded area 0:0:2666:1500 or zero-sized
[Parsed_pad_0 @ 0x14466c0] Failed to configure input pad on Parsed_pad_0
Error opening filters!

The input file looks as follows:
ffconcat version 1.0
file '/home/abc/def/uploads/slides/5fca45f5ad365/slide_001.png'
duration 9
file '/home/abc/def/uploads/slides/5fca45f5ad365/slide_005.png'
duration 2
file '/home/abc/def/uploads/slides/5fca45f5ad365/slide_006.png'
duration 2
file '/home/abc/def/uploads/slides/5fca45f5ad365/slide_011.png'
duration 18
file '/home/abc/def/uploads/slides/5fca45f5ad365/slide_021.png'

I assume the issue is that the images are have "odd" sizes - should be even only? Is there a way to scale them down within FFMPEG? Thanks!

You can only pad frames to a size as large as or larger than the source size. In your case, 16/9 multiplier of 1500 is 2666.66 which is rounded down to 2666 and hence smaller than source width. Since your source aspect is so close, just skip the pad.
"/usr/bin/ffmpeg" -y -f concat -safe 0 -i "/home/abc/def/data/tmp/gVQO7wUc.txt" -vf "scale=1920:1080:flags=lanczos,setsar=1" -c:v libx264 -crf 18 -preset veryslow -pix_fmt yuv420p -movflags +faststart "/home/abc/def/data/tmp/964MX26P.mp4"


text:
How do I render faster in AE?
I am trying to render a 3 hour music loop with audio spectrum, and it takes me 16 hours to render.
How do I fasten it up?

Many things play a part in the time required for a render. The most significant are:

Your Hardware (Ram, CPU and GPU are the most important parts)
The resolution of your composition
The Framerate of your composition
The Effects used and how "expensive" they are on the hardware
The Codec and Container you're using (like prores422 in .mov or h264 in .mp4)

First off, check how much RAM is dedicated to After-Effects in its preferences. You should at least dedicate half your RAM to AE. If it's less than 8GB, you might want to consider getting more RAM. Also, check if you have hardware acceleration enabled. It's usually called "CUDA" for Nvidia graphics cards and could increase the speed of your rendering.
Next, check your resolution. Audio-Spectrum videos should be alright in 1080p, so don't render in 4k or 6k.
A 3 Hour video does require a rendertime of about 16 hours though, when you use an expensive effect such as an audio spectrum. If you really wanna cut down the time, you'd need a render-farm, I assume...

Use aerender and start as many instances as your machine can support without running out of RAM or GPU RAM.
By default you'll see that After Effects doesn't always utilise all the power of your CPU. It is not multithreaded so most of your processors are sitting idle while you're waiting for it to render. However aerender (the command-line renderer that comes with AE) can be run multiple times, each instance working on an independant frame in parallel.
To use this method you need to be rendering to an image sequence (that's the best way to render anyway), and using the multi-machine render settings.
I document how I got a 4000% speed increase in a long render here


text:
White balance vs color correction
I understand that it is a newbie question and if googled there are tons of articles regarding this, yet I am a bit confused with the answers given.
So, in every video post production there is almost always some color correction. In this case, why is white balance correction necessary? Especially if a color card is used and the colors of the video are adjusted to the card, why "bother" with the white balance?
Yet, I have seen videos concerning video editing and I noticed that both white balance and color correction appear, with WB preceding.
Finally, is there a standard procedure regarding the work flow of the color adjustment?
Thank you in advance.

White balance is usually a first step to color correction. White balancing a shot in postproduction means adjusting the footage’s numeric reference point for neutral light until it matches neutral light falling in the scene. (If you lit the scene with a blue DJ effect light, you wouldn’t balance to that). Color correction compensates for the differences between cameras; either between individual cameras and each other, when  “shot matching” or between a camera’s neutral state and the desired final look of the footage.

Regarding the standard procedure, the short version is:

get the colour looking correct but neutral, which is when you do corrections for white balance and exposure problems. The footage will look "natural" at this point.
match the colour between shots (this is really part of step 1).
apply a creative colour grade, to achieve the look that you want. You can do this on a scene by scene basis, rather than shot-by-shot.

Usually getting the colour looking natural is the best place to start when applying a "look". It's very hard to get a consistent look between shots that are not corrected to match each other.

This is a good summarization of the process, but I’d add that in practice, the process is complicated and subjective enough that there is no standard approach, hence the need for colorists.

You can only correct your color this much. Depending on the codec and container you are recording in, you will encounter problems with compression along the way. If you set the white balance drastically wrong and try to pull it back with lumetri, the colors will start to break apart unless you were recording in a lossless or near-lossless codec (such as ProresRaw or BlackMagicRaw). It's always advisable to set your white-balance in camera, although you can save it in post, since some codecs and filetypes may lead to issues regarding bit-depth and color-subsampling along the way. If you know what you're doing and are recording in RAW for example, you may disregard white-balance. I would not recommend it though.


text:
Live Streaming with Sony A7III via HDMI
I am looking to hire a Sony A7III for an upcoming live event and am wanting to stream via the HDMI port.
I have an AC adapter to ensure it is powered up at all times, my question is - is it possible to have the camera not turn off while streaming via HDMI?  I don't need to record it, just purely for streaming via HDMI
Can't find any info on any forums about this!
Cheers

To stream with a camera such as the a7III via HDMI, you'll need another piece of hardware. An example of this kind of thing would be "elgato" which produce different devices for this exact thing. The simplest way is to buy a USB dongle which has a female HDMI and a male USB. Plug it into your pc, plug the camera into the dongle and boom. The camera will be interpreted as a Webcam and can thus be used in OBS, Streamlabs etc.
To prevent the camera from turning off: There's different answers I could find. Some say leaving the battery/cassette-slot open will prevent the cam from going to standby. Others say you need to disable "remote control" in the settings. Others again say it's not possible. My guess is that there's either a setting, a way to trick the hardware or a software-hack that can help you out.

To stream you don t need the elgato u need the software edge imaging installed and then you exit it. And add sony as a normal source webcam! Good luck!


text:
Exchange project files between different versions of Premiere Pro?
Is there a way to work collaboratively on a Premiere Project when one person has e.g. Premiere Pro CC and the other one CS6?
If I open a Premiere Pro CS6 project file, I have to copy and convert it. If I do this, the person working with Premiere CS6 won't be able to open the project file I created. Of course I could use EDL files, but this isn't really effective when using effects and stuff in Premiere ... so, is there a way to make the projects backwards compatible? (In InDesign for example, you can save project files as IDML rather than INDD, allowing for other people working with CS4 or newer to open the project file)

EDLs and other such intermediary formats are the best I know of.  I don't work with CC, but I'm pretty sure they don't have a save as old version option sadly.

Yes, sadly :/ I was hoping maybe there's a plugin or something like that for that functionality ...

In terms of effects, it is not possible to explain exactly
Because the CS6 version is definitely not comparable to the CC version
But for example, you can open the CC 2020 version in the lower version
Follow the instructions below:
The indirect and unreasonable way (which often works without problems) is this:

Make a backup copy of the prproj file that you want to open in the older version and save it somewhere.
Rename the mentioned prproj file and change its extension to 7z.
Unzip it with a program that opens zip files such as winrar or 7zip.
Now rename it again and add the prproj extension to the end of the uncompressed file.
Open this file in a program that can edit text (for example, Windows notepad) and pay attention to the fourth line, you will see a text like this:

<Project ObjectID = "1" ClassID = "62ad66dd-0dcd-42da-a660-6d8fbde94876" Version = "36">

Reduce the number in the version section (36 in the text above) (for example to 29) and save the file.
Now open the above file in Premiere, you should see a message that tells you that the file is old and should be saved with a new name. Open a word processor and change the version rate, save and try again.

If you do not see the file extensions, open an explorer window (for example, drive C or my computer) and click on Options from the View menu, navigate to the View tab in the window that opens, and in the list of available options, select Hide extensions. Find for known file types and uncheck it and close the window by pressing Ok.

Basically what @Amer said plus for a shortcut there's an app that can 'downgrade' your project online - http://joshcluderay.com/downgrade-premiere-project-converter/
the trade off is, it always sets the version to 1 so 'some' effects and attributes might be lost in the process. I found that for your everyday editing this doesn't affect anything unless you're using titles (type).

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


text:
How to convert a black and white video to a APNG file while setting a color as transparent?
I created a small video with threshold filter to get black and white pixels (no greyscale):
ffmpeg -y -i /dev/video0
          -f lavfi -i color=0x606060:s=640x480
          -f lavfi -i color=black:s=640x480 -f lavfi
          -i color=white:s=640x480 -filter_complex threshold
          -c:v libx264 -c:a copy  test.mp4

Then I tried to convert it as a APNG file with white pixels as transparent (chromakey filter).
ffmpeg -y -i  test.mp4 -f apng -vf chromakey=white test.apng

This command converts all the pixels into transparent (checked with Gimp, it sets alpha of all pixels to 0).
Why? Also, how can I fix the command to make it work?

I finally found how to do that in one ffmpeg command, using colorkey:
ffmpeg  -y -i /dev/video0
           -f lavfi -i color=0x6a6a6a:s=640x480
           -f lavfi -i color=black:s=640x480
           -f lavfi -i color=white:s=640x480
           -filter_complex 'threshold,colorkey=white'
           test.apng


text:
What do I need to know about buying a VCR for digitising old VHS tapes?
N.B. I considered posting this to hardwarerecs but not only is it much less active than this site, I also have a feeling there's a lot more specialist knowledge on the topic here, and practical questions about hardware that is no longer manufactured does appear to be on-topic.

I have some family home videos on VHS that I'm responsible for digitising. I know I will need both a VCR and a USB capture card, but money is tight so there are a few important details I want to clarify before I spend anything.
The Capture Card
This is probably the easiest part, and I'll more than likely be buying
this one here as it seems to be the cheapest one without a lot of worrying reviews.
The VCR
The VCR will obviously be bought second-hand, but being born in the last decade of the 20th century, I'm just about old enough to remember having to choose between PAL/NTSC on my PlayStation, and don't have a lot of experience with VCRs themselves.
Firstly: with regards to PAL vs NTSC, Wikipedia indicates that it does matter, so now I'm wondering if my tapes are marked as PAL SECAM, do I need a PAL VCR? I've seen a few local listings on eBay for NTSC VCRs, and confusingly I even saw one that said "NTSC Playback on PAL TV" (see below), but actual PAL VCRs seem surprisingly hard to come by considering they would have presumably been the default where I live (in the UK).

Secondly: and perhaps most importantly, this forum suggests it's necessary to invest in an S-VHS VCR to get the best quality out of the videos:

Not only would it be a good idea [to invest in an S-VHS VCR], but it's practically an essential
requirement. Want to use a cheap VCR? Your "highest quality"
requirement just bit the dust. Good output begins with a quality
capture. No quality capture, no quality output. Period. For vcr's We
never never never recommend eBay or similar auction sites. You find
good VCR's in our marketplace forum. A recommended source for rebuilt
high-end VCRs and other rebuilt goods is Tom Grant's shop.
Recommended VCRs for NTSC and PAL are listed here: VCR Buying Guide
(S-VHS, D-VHS, Professional) for restoring video
Which of those VCR line you should consider depends on your analog
tape library. Are most of them retail tapes and tapes recorded at high
2-hour speed? All of the listed brands will do them justice. Are they
slow-speed recordings, 4 to 6 or 8 hours??? I'm afraid Panasonic is
your only choice. Slow-sped tapes look like crap on a JVC.

Is this true? Will I need to shell out for a more expensive S-VHS VCR to avoid sacrificing quality?
Finally: are there any other VCR features I need to look for/avoid, that will improve/hinder the quality of the conversion? I see some are listed as 4-head, 6-head, Super Drive, etc.? Do any of these matter for my purposes?

Video on VHS is stored separately as luma and chroma, so if you don't use a VCR with S-Video output, you'll need a really good external comb filter to have any hope of recovering the original signal without dot crawl artifacts.

@occipita I can confirm that all the VCRs I've seen on eBay so far have been SCART, I chose the USB capture card because it contains the necessary SCART-to-composite cables.

I suspect that the best way to digitize VHS tapes would be to capture the a relatively "raw" signal from the tape head, and then decode the color and perform any cleanup digitally.  In many cases where one sees what looks like tearing, what one is actually seeing is the output of a delay line which is used to fill in places where a tape drop-out was detected.  If one digitally captured the actual recorded signal with the drop-out, one could easily detect where the drop outs occurred and use motion interpolation techniques to clean them up.  If instead one captures the...

...result of the VCR's efforts at trying to clean them up, it may be harder to distinguish what parts of the picture one should use, and what parts should be discarded and reconstructed.

@supercat Would any of that be possible with the hardware I'm planning to use? My intended workflow was to capture from the VCR to DV via the USB capture card, and then apply any fixes in FFmpeg and/or Avisynth.

so now I'm wondering if my tapes are marked as PAL SECAM, do I need a PAL VCR?

Yes, VCRs partially deconstruct the signal to encode it on the tape, and so are specific to a particular analogue video format.
In practical terms, if you try to play a PAL tape in an NTSC VCR connected to a PAL TV, you'll probably get a distorted black-and-white image, or perhaps no usable signal at all.

I've seen a few local listings on eBay for NTSC VCRs, and confusingly I even saw one that said "NTSC Playback on PAL TV"

It was very common to import North American tapes back in the day.  These VCRs can convert an NTSC format tape to PAL output for European TV sets.  The reverse also existed (though quite a bit rarer) in North America.

I see some are listed as 4-head, 6-head, Super Drive, etc.? Do any of these matter for my purposes?

4 head machines have a slight advantage in quality, particularly with playing ELP/LP tapes.  The extra 2 heads in 6 head machines are only for recording.  And "Super Drive" just appears to be a Panasonic marketing term, as far as I can tell.

Is this true?

Sort of.  VCRs are temperamental machines, and it's all analogue.  During their heyday, the quality of video you'd get from units varied enormously.  A quality S-VHS machine recording to quality tape on a well-calibrated machine was almost as nice as 480p digital is, really.  But I think we're just about old enough to remember what VHS usually looked like.

Will I need to shell out for a more expensive S-VHS VCR to avoid sacrificing quality?

This would only really be necessary if the original footage was recorded as S-VHS.  If so, then yes.  Some later VHS machines can play S-VHS tapes with reduced quality.  Still, play S-VHS tapes on S-VHS machines.
S-VHS equipment was high-end, and so generally better quality than the cheap VCRs that proliferated in the 90s and 00s.  So you will often find a preference for S-VHS machines.  But a good quality S-VHS and VHS deck should play a VHS tape back equivalently well.
Practically speaking, for high quality, you'd want to play back on a good deck that has been calibrated and had its heads cleaned and belts replaced, etc.  That would mean a machine that's been maintained or refurbished, not something that's been sitting on a damp shelf for 20 years.
With all that said, a few years ago I transferred a relative's home movies with a cheap 20 year old VCR and it's about what one would expect for 1980s camcorder footage.  I fed it The Great Mouse Detective first though, in case it might have been a tape-eater.

Thank you for addressing all of my points individually. To clarify the last point, are you saying that for VHS tapes there'll be no gain from buying an S-VHS?

@Prometheus Edited.  Hopfully it answers your question, see the paragraph starting "This would only really be necessary if the original footage was recorded as S-VHS."

Where you said "But a good quality S-VHS and VHS deck should play a VHS tape back equivalently well", did you mean VHS instead of S-VHS, or did you mean what you said? And is a VHS deck a separate piece of equipment? I always thought it was synonymous with a VCR unit.

@Prometheus Sorry, deck is old jargon for a tape recorder.  Yes, I mean that there's no inherent quality advantage of playing a plain VHS tape on a S-VHS unit.  An S-VHS machine is just more likely to be designed & manufactured to a higher standard compared to the bottom end of VHS machines.

And presumably playing also includes recording/capturing?

@Exasperation: Don't underestimate the importance of that last point.  Older high-end VCRs (and DVD players too, incidentally) are often better than anything that was on the market near the end of those formats' market lives.

As an alternative to buying an old VCR and using video capture, I would look into buying a VHS/DVD-R combo. Here's one example (not intended as a recommendation for listing or brand).
These were a relatively short-lived phenomena, maybe a few years in the late 2000s / early 2010s. I can't speak to the quality other than saying my mother-in-law had one and was happy with the results. Ultimately it has to do the same signal transformations that you're planning to do, but may have dedicated electronics to give a better result.

Interesting solution that does make sense, not sure why you got a downvote.

The reason why it should get downvotes is because it is not a very good solution, it is passable tho, you won't get the highest quality. It depends on the DVD recorder, but most of them will give you blocky, lossy mpeg2 compressed video. MPEG2 could be fine if used with high bitrate, not what you get from DVD recorders.


text:
ffmpeg produces the same output file with different bitrate settings
My input is an uncompressed video captured from old Hi8 cassettes, mediainfo:
Format                                   : RGB
Codec ID                                 : V_UNCOMPRESSED
Codec ID/Info                            : Raw uncompressed video frames
Duration                                 : 1 h 32 min
Width                                    : 720 pixels
Height                                   : 576 pixels
Display aspect ratio                     : 5:4
Frame rate mode                          : Constant
Frame rate                               : 25.000 FPS
Standard                                 : PAL

I have looked at the sources I could find and tried to come up with the optimal settings for my encoding needs, while also trying out a few dozen combinations, and the best I could come up with looks like this:
ffmpeg -i in.mkv -vf yadif -c:v hevc_nvenc -preset slow -rc:v vbr_hq -cq:v 19 -b:v 2m -maxrate:v 3m -bufsize:v 1m -c:a copy out.mp4

The output's mediainfo is:
Format                                   : HEVC
Format/Info                              : High Efficiency Video Coding
Format profile                           : Format Range@L3@Main
Codec ID                                 : hev1
Codec ID/Info                            : High Efficiency Video Coding
Duration                                 : 20 s 0 ms
Bit rate                                 : 5 142 kb/s
Width                                    : 720 pixels
Height                                   : 576 pixels
Display aspect ratio                     : 5:4
Frame rate mode                          : Constant
Frame rate                               : 25.000 FPS
Standard                                 : PAL
Chroma subsampling                       : 4:4:4
Bit depth                                : 8 bits
Scan type                                : Progressive
Bits/(Pixel*Frame)                       : 0.496
Stream size                              : 12.3 MiB (97%)
Codec configuration box                  : hvcC

What I have found is that I can increase the -b:v 2m -maxrate:v 3m -bufsize:v 1m options tenfold, and the output still stays the same. How can this be the case? I am thinking I messed up the settings gravely, in this case, could you please correct me and set me to the right ballpark? First I tried without the bitrate options and only -rc:v vbr_hq -cq:v 19, but that resulted in terrible quality and smaller size, and then I found that I need to set the bitrate as well, unlike just the -crf like I used to do with libx265.
Abandoning -preset slow also doesn't change the result.
I have also tried libx265, which I have used beforehand, but that's a 10-20x speed decrease, so I wouldn't want to use it for this 15+ hour project. One thing I see is that with that the chroma subsamplig is 4:2:2, instead of 4:4:4. Setting it to 4:2:0 actually increases the file size, what should I do with this?
Thank you in advance for any help, and please let me know if I should give more information in order to get the help I need.

With hevc_nvenc, if cq:v is set, b:v is ignored. Change -cq:v in conjunction with -maxrate:v instead.

Thank you, now I know! After I read your solution, I tried different settings, and found out that the problem is that I was using m instead of M, resulting in those options basically getting ignored... Shouldn't this be raised as en error by ffmpeg? It certainly throws an error if I only give it a string... I managed to find the default maxrate and bufsize settings, which were 4.8M and 4M respectively, and I just increased the bufsize, the bitrate seems good. Thank you again!


text:
Software to Trim a Video into Multiple Files
I am coming from the good old Times from GoPro Studios(discontinued),
Go Pro Studio had a feature I really loved:
To Precut your Videos into Multiple Parts and Naming them Seperatly.
Because Having Hour Long Files on your System is quite a Wastage of Space.
Also, the Ability to go Back and find All Clips Already Trimed and Named was Really Helpful.
Now I'm looking for an Alternative that can:

Trim one Video into Multiple Files (ideally with a single Watch true
Selecting Parts with Shortcut I/O without the need to Stop Every Time
to Export it Manually)

The Ability to Name the Trimmed Videos

No or little Quality Loss

It Should be Free to Use (No Watermark etc...)

Optional Export Queue to do the Time Heavy Stuff while I do something else...

What are you using for Cutting down your Videos?
What I already looked tried but couldn't find the Feature I was looking for:

Avidemux
Hit Film Express
Quick
Bandicam (Would be quite Okay but quite Expensive)
Shotcut

If I missed a way to do it in the one Above feel free to point me to it.
Thanks for your Help!

I believe I had similar needs and found the software for that. Please see the answer I posted to my question:
https://video.stackexchange.com/questions/32903/setting-points-and-doing-a-quick-snip-dynamically-playing-the-video

See if this software is what you're looking for
https://mifi.github.io/lossless-cut

Exactly what i was looking for. Thank you Sir you will Save me a lot of time on the next Video Projekts

Now I'm looking for an Alternative that can:

Trim one Video into Multiple Files (ideally with a single Watch true Selecting Parts with Shortcut I/O without the need to Stop Every Time to Export it Manually)

In the light of not fully understand the "a single Watch true Selecting Parts with Shortcut I/O", my suggestion would simply happens on ffmpeg, i.e
ffmpeg -i input.mp4 -ss <start-time> -t <duration> part1.mp4

The Ability to Name the Trimmed Videos

The ffmpeg handles it nicely

No or little Quality Loss

You may consider the option -codec:v option or more options

It Should be Free to Use (No Watermark etc...)

FFMPEG is free.

Optional Export Queue to do the Time Heavy Stuff while I do something else...

scripting could help

Firstly Thanks for your time, it's well appreciated.
FFMPEG seems like a good solution as it is a command-line tool, but it would need my Time to create a Visual Editor for it. I may look into it into the future but as of right now I don't have the Spare Time to do it.
What I meant with Watch true was the Ability to just watch the Video and mark important Stuff with Shortcut I (Start of cutout Part) -> O (End of Part)
If in two weeks nobody else Answer I will mark your Answer as the Accepted one!
Thanks for the suggestion it is well Appreciated.


text:
Are two videos "identical" if their decoded data is the same, but not the encoded data?
Say I have two files A.mkv and B.mkv which are meant to be (told to me to be) the same content at the same quality. However my source tells me they suspect that there is a minor difference, but can't put their finger on it.
I can extract and hash frames from the files like so:
$ ffmpeg -i A.mkv -map 0:v -c copy -f md5 A.framemd5
$ ffmpeg -i B.mkv -map 0:v -c copy -f md5 B.framemd5

Then compare them with diff or git diff (I prefer the latter just because I know the options/defaults better) and see that there's 8798 different frames (out of roughly 230555) via wc and some basic arithmetic. However, if I now spend the time to decode these videos and get their framemd5 output, i.e.,
$ ffmpeg -i A.mkv -map 0:v -f md5 A.decoded.framemd5
$ ffmpeg -i B.mkv -map 0:v -f md5 B.decoded.framemd5

These logs are exactly the same, content wise.
Does this imply that visually, the two videos are the same, and that they just happen to be encoded slightly differently?
More interestingly; reading the original diff into a python script and determining where exactly the differences lie, 3198 of them are only off by 1 unit in the presentation timestamp, another 3198 of them are only off by 1 unit in the duration time stamp, and the remaining 2414 actually have differences in their hashes and size.
If this does not imply that visually the two videos are the same, is there any way to extract frames that I wish by their DTS/PTS and compare them using an image filter (or some filter + frame stitching method directly built in to ffmpeg?)
(Before anyone asks, the audio content, both copied and decoded, has no differences in the framemd5 logs nor the md5 hash, and as mentioned in the sample above, I'm only hashing the video stream for the purposes of this question).
Note in case it matters, because I've found conflicting reports about FFmpeg trashing HDR metadata, both files are HDR consisting of the same color space / primaries / bit depth / so on (in case this can cause the result I'm referencing above with the decoded streams).

The difference can be due to packet ordering or possibly codec configuration data attached to some packets. If the pair-wise decoded frames match, then the encodings are functionally identical.

@Gyan is there anyway to extract the data that's different in the case of configuration data (or ordering, but I would doubt that) being the cause?

No, configuration data is consumed by the decoder. You would have to do a framehash compare on the raw data and then do a binary diff on the differing packets.

Relatively unfortunate but at least it's a mystery solved. Feel free to leave your comments as a reply and I'll mark it as accepted @Gyan

If the hashes for the decoded streams are identical, then the streams are essentially identical.
Differences can be due to bitstream encapsulation (Annex B vs length-prefixed in case of H.264/H.265) or packet arrangement or embedded parameter sets (for configuration). As long as the bitstream is valid, these differences won't affect decoding.


text:
How can I make solid colored particles?
Particles always seem to have some opacity or blending applied. Is there a way to make them all a single solid color all of the time?

Oh duh, add a color overlay layer style.


text:
What is this colour blocking/ banding i'm seeing and can it be corrected for?

See the attached image to see the artifact I'm refering too. There appears to be blocks of oversaturated blue in the water. I'm fairly new to video editing, so I'm not sure which terms to use to describe it. I do have reasonable photo editing experience.
The footage is take from a mavic 2 pro, recorded in raw (DLog-M). The artifact is visible in the raw footage, though to a lesser extent, and the application of the LUT and basic correction in Premier Pro makes the artifact more obvious (to me).
Anybody know what terms I should be using to describe this (to help me search for solutions better).
Also any ideas for how to fix or reduce it, either now in post, or in-drone/ in-camera setting for future footage, would be much appreciated.

Welcome! My first guess is that it is a Moiré pattern. If you could share a sample video, that would make me more confident that is the problem. Preventing it is pretty tough. It generally involves changing the appearance of the subject. Fixing it in post really isn't my area.

Are you sure that's raw? It looks a lot like a compression artifact—moiré wouldn't organise itself into blocks like that.

Sorry if the original question was unclear. The screenshot is taken from the edited video (the version I would like to be the final version, except that this artifact bugs me). Playing back the raw file, I believe I can see the effect there too, but it's far more subtle. From the limited research I have managed, I'd agree it looks like a compression artifact, and not much like moiré. I'm going to try applying a de-noise edit before any of the other edits (which for interests sake are only the LUT provided by DJI for DLogM to rec709 and a little contrast and saturation.)

So perhaps raw isn't even the correct term here, but log? Coming from the photography world where the distinction is rarely made.

Log tends to increase the noise and compression artefacts in mid tones, as a tradeoff for more dynamic range.

This is most likely a compression issue from chroma subsampling and 8-bit log footage. Log footage does have very little contrast and saturation so that it does not clip. However, that means that your colors are compressed into a small range of possible values. By applying a LUT (or adding contrast and saturation) afterwards, you basically reverse that but lose the interpolation between the colors and therefore create banding.

You could try averaging / smoothing the colours out in something like Davinci Resolve - you could key using the blue and only apply to certain areas of the image.


text:
How to work with desqueezed anamorphic footage in FCPX
I have footage from an Array Alexa Mini, shot with anamorphic lenses. The footage was desqueezed in camera, so the resulting video resolution is 2944x2160. The codec is Timecode, Apple ProRes 4444, and the color profile is HD(1-1-1)
2944x1260 does not appear to be a standard format and I'm unsure how I should be working with these clips in FCPX.
I also need to sync up audio and video. When I try to synchronise clips, the automatic settings are:

720p HD 1280x720
Rec 709
automatic Audio Properties

Which seems too low a resolution to me. When I look at the options in custom settings, there is no format that matches the resolution of the source video.
So my question is, what setting should I be using for my synchronised clips and project?

Create a new library and then click on 'New Project'. Here you can change the format to any resolution you want.

In the sync dialogue your can also set a custom video format.


text:
Creating transparent video from transparent png files using ffmpeg
I have a set of 300 transparent png files and I would like to create a transparent video file from them. I'm using the ffmpeg command as follows:
ffmpeg -f image2 -i anim.%04d.png -r 30 -vcodec png video.webm

I know webm has an alpha channel according to this answer. The command creates the video but the transparency is completely lost. What am I doing wrong? Is it possible to create a transparent .mp4 with ffmpeg?

You have to specify the pixel format, to force it to include the alpha channel, using the -pix_fmt option. You don't need to use png as your video codec either.
ffmpeg -i anim.%04d.png -r 30  -pix_fmt yuva420p video.webm

What's the complex filter equivalent to -pix_fmt? Would format=yuva420p be enough?

Not sure, that might be a good candidate for a new question

Is it possible to use this for a .mov video file?

-pix_fmt yuva420p not work in hevc and nvenc.

alpha isn't supported by hevc and nvenc


text:
Is it possible to drop some specific frames when comparing SSIM by ffmpeg?
I would like to calculate the SSIM for two videos by ffmpeg: the original video and the distorted video.
The case is the distorted video was generated by some kind of GPU of android devices, and it might miss some frames, for example, the original video has 720 frames, meanwhile the distorted one has 718.
Suppose we know the specific indices of the frames that was drop(For example, by calculating the MSE_U frame by frame), how to calculate the SSIM by ignoring some specific frames of the original video?
For example, we have know that the index 3 and index 717 was not exists in the distorted one, in order to SSIM, we should ignore these frames from the original one.
I've read the post Comparing PSNR/SSIM of two videos with different fps/bit-depth , drop similar frames and FFmpeg - dropping duplicate frames , it seems that they are not applying to my specific case.

Use the select filter to drop unwanted frames.
This is the basic syntax:
ffmpeg -i distorted -i ref -filter_complex "[0]settb=AVTB,setpts=N[ds];[1]settb=AVTB,select='not(eq(n\,3)+eq(n\,717))',setpts=N[rf];[ds][rf]ssim" -f null -


text:
Is there a way to smooth random audio dropouts with ffmpeg or Premiere?
I have large amounts of footage with audio tracks that have random dropouts throughout which last for ~0.5 seconds each (all audio dropouts are consistent in duration).
I need to smooth out the drops, such as quick fade out/fade ins to the audio track.
There are a lot of these drops scattered randomly, so an automated method to detect and fix would be ideal.
If this isn't achievable with ffmpeg, is it possible with Premiere?
Example dropout in an audio track:

Neither Premiere nor ffmpeg support such an operation as far as I know.
But you could edit the audio with another program. Most DAWs (digital audio workstation) have more features to edit audio than video editors.
One such DAW is "Reaper". It comes with a free trial period, so you can test it for yourself if it's a good fit for your workflow. I'm sure other DAWs offer similar features but I don't use them and hence can't tell you more. I also don't know whether Adobe's Audition can do that.
The steps to solve the problem in Reaper are:

create a new track, insert the media file that contains the audio track
use the action "Item: Auto trim/split items (remove silence)" where you select the mode "split and keep silent areas". Play around with the other parameters if the splits are done at the wrong place. When splits are created, Reaper automatically adds a crossfade by default (can be changed in Preferences->Project->Media Items Defaults->"Create automatic fade-in/fade-out for new items").
Render the audio and re-import it into the video editor, if needed.


text:
What Effect is this?
I am new to AMV editing and one of my favorite editors is zneptun. I've been trying to figure out what this effect he uses in his videos is but I've had no luck. If any of you guys know please tell me cause I'd love to use it!! It's not just a simple invert either, the look is completely different which is what confuses me as well.
Here's a link to the video, you can see the effect between 3-4 seconds, and 6 seconds. Pretty much every transition:

Any help is appreciated.

There are dozens of ways to get that kind of colour shift. The way I would do it is by using colour/response curves, and perhaps hue / saturation controls. Most compositing, grading and editing software have these effects.
Here's a two minute attempt in AE, trying to match the leftmost panel to the 2nd from the right. It needs work, but I got bored.

Looks like there's some chromatic aberation or mis-registration effect there as well. You can do that by making a copy of the original layer, altering the curves and using transfer modes (add, overlay, multiply, whichever works) to composite it with the original. Below, I copied the original layer, used overlay transfer mode, Nudged it 20px to the right and mucked around with the curves (mainly just inverting the luma value). You can see the effect control for this layer in this screenie:

Then you can animate all the parameters.


text:
Davinci Resolve does not shows fusion nodes after re-open the project
After working with fusion I have saved my project. When I try to re-open that project I can't see any nodes in Fusion tab. There is only MediaIn1 and MediaOut1 nodes. Below yo can see the screenshot. How I can see my nodes again? OS: MacOSX Big Sur, Davinci Resolve Version 17 Public Beta.

It depends on how you created the Fusion compositions in the first place.
If your Fusion clip exists on your edit timeline, then when you're in the Fusion tab, you'll see it listed if you activate the "Clips" panel (at the top of the screen, or under Workspace->Show Panel in Workspace->Clips)
If your Fusion clip doesn't exist on your edit timeline (there are a few ways to do this), then to find it within the Fusion page, you'll need to navigate to it through Fusion's "Media Pool" tab.  Resolve's Media Pool contains all of the elements you've imported or created within the context of the currently open project.  If you don't see your Fusion Clip there at first, don't panic.  To see absolutely everything in your project, first you need to expose the sidebar of the media pool, then select the "Master" bin and all children of it by shift-clicking the last item in the list of bins.  With all of the bins selected, Resolve shows all of the available content in your project.  Your Fusion composition should be listed there.
The reason you're not seeing the nodes you expect to see in the screenshot above is that whenever you switch to the Fusion Page from the Edit page, Resolve turns whichever clip that currently intersects the Edit timeline playhead into a Fusion clip, and populates the node tree with a MediaIn and MediaOut node.  If you don't make any alterations before returning to the Edit page, Resolve will turn the Fusion clip back into a normal clip (at least, in recent versions of Resolve).
To put it another way, the moment in time you're viewing on the Edit page will be the same one you're viewing when you switch to the Fusion page, complete with any Fusion nodes you've set up previously (if any), or set up for a new composition if you haven't created any yet; the Edit timeline playhead and Fusion timeline playhead are linked.
In Fusion, the "Clips" tab lets you skip from one clip to the next down your edit timeline, and the playbar only scrubs through the length of one clip.  But since all of your Fusion compositions don't necessarily need to be on your Edit timeline, the Media Pool holds all available source material.

I have the same problem now and I found another reason for the Fusion nodes to be disappeared while everything is playing back perfectly. In Edit page you have to set the red cursor above the Fusion clip and the Fusion clip must be selected red too. But nothing should be put on an a layer above. I have put there Text later if the cursor is currently on this higher level layer and the Fusion clip the same time, the Nodes will not be displayed.


text:
Converting h265 video to h264 with ffmpeg results in glitchy visuals with Chromecast
I'm having a lot of trouble casting a specific file on my Chromecast. At first it was because it was encoded with H265, which is not supported by my Chromecast device (2nd gen).
I tried changing its encoding from H265 to H264 and it works great when I play it with VLC directly on my computer, but as soon as I cast it on my TV, there are visual patches of color appearing constantly. The sound is fine.
I am able to cast youtube or my chromium screen with no such problem.
I used the following command to convert it from h265 to h264, as found [here]:
ffmpeg -i input -c:v libx264 -crf 18 -c:a copy output.mkv

Here is the ffprobe from the original video:
Input #0, matroska,webm, from 'original.mkv':
Metadata:
    encoder         : libebml v1.3.4 + libmatroska v1.4.5
    creation_time   : 2017-04-26T08:17:18.000000Z
  Duration: 00:11:24.65, start: 0.000000, bitrate: 1152 kb/s
    Stream #0:0: Video: hevc (Main 10), yuv420p10le(tv), 1920x1080, SAR 1:1 DAR 16:9, 23.98 fps, 23.98 tbr, 1k tbn, 23.98 tbc (default)
    Metadata:
      title           : Encoded by: ImEverlasting
      BPS             : 997219
      BPS-eng         : 997219
      DURATION        : 00:11:24.601000000
      DURATION-eng    : 00:11:24.601000000
      NUMBER_OF_FRAMES: 16414
      NUMBER_OF_FRAMES-eng: 16414
      NUMBER_OF_BYTES : 85337214
      NUMBER_OF_BYTES-eng: 85337214
      _STATISTICS_WRITING_APP: mkvmerge v9.6.0 ('Slave To Your Mind') 64bit
      _STATISTICS_WRITING_APP-eng: mkvmerge v9.6.0 ('Slave To Your Mind') 64bit
      _STATISTICS_WRITING_DATE_UTC: 2017-04-26 08:17:18
      _STATISTICS_WRITING_DATE_UTC-eng: 2017-04-26 08:17:18
      _STATISTICS_TAGS: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
      _STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
    Stream #0:1(eng): Audio: aac (LC), 48000 Hz, stereo, fltp
    Metadata:
      BPS             : 151912
      BPS-eng         : 151912
      DURATION        : 00:11:24.650000000
      DURATION-eng    : 00:11:24.650000000
      NUMBER_OF_FRAMES: 32093
      NUMBER_OF_FRAMES-eng: 32093
      NUMBER_OF_BYTES : 13000851
      NUMBER_OF_BYTES-eng: 13000851
      _STATISTICS_WRITING_APP: mkvmerge v9.6.0 ('Slave To Your Mind') 64bit
      _STATISTICS_WRITING_APP-eng: mkvmerge v9.6.0 ('Slave To Your Mind') 64bit
      _STATISTICS_WRITING_DATE_UTC: 2017-04-26 08:17:18
      _STATISTICS_WRITING_DATE_UTC-eng: 2017-04-26 08:17:18
      _STATISTICS_TAGS: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
      _STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
    Stream #0:2(eng): Subtitle: subrip
    Metadata:
      BPS             : 101
      BPS-eng         : 101
      DURATION        : 00:11:14.239000000
      DURATION-eng    : 00:11:14.239000000
      NUMBER_OF_FRAMES: 243
      NUMBER_OF_FRAMES-eng: 243
      NUMBER_OF_BYTES : 8531
      NUMBER_OF_BYTES-eng: 8531
      _STATISTICS_WRITING_APP: mkvmerge v9.6.0 ('Slave To Your Mind') 64bit
      _STATISTICS_WRITING_APP-eng: mkvmerge v9.6.0 ('Slave To Your Mind') 64bit
      _STATISTICS_WRITING_DATE_UTC: 2017-04-26 08:17:18
      _STATISTICS_WRITING_DATE_UTC-eng: 2017-04-26 08:17:18
      _STATISTICS_TAGS: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
      _STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
    Stream #0:3: Video: mjpeg (Baseline), yuvj444p(pc, bt470bg/unknown/unknown), 600x882, 90k tbr, 90k tbn, 90k tbc (attached pic)
    Metadata:
      filename        : cover.jpg
      mimetype        : image/jpeg
    Stream #0:4: Video: mjpeg (Baseline), yuvj444p(pc, bt470bg/unknown/unknown), 1067x600, 90k tbr, 90k tbn, 90k tbc (attached pic)
    Metadata:
      filename        : cover_land.jpg
      mimetype        : image/jpeg
    Stream #0:5: Video: mjpeg (Baseline), yuvj444p(pc, bt470bg/unknown/unknown), 120x176, 90k tbr, 90k tbn, 90k tbc (attached pic)
    Metadata:
      filename        : small_cover.jpg
      mimetype        : image/jpeg
    Stream #0:6: Video: mjpeg (Baseline), yuvj444p(pc, bt470bg/unknown/unknown), 213x120, 90k tbr, 90k tbn, 90k tbc (attached pic)
    Metadata:
      filename        : small_cover_land.jpg
      mimetype        : image/jpeg

And the ffprobe of the converted file:
Input #0, matroska,webm, from 'converted.mkv':
  Metadata:
    ENCODER         : Lavf58.45.100
  Duration: 00:11:24.65, start: 0.000000, bitrate: 2499 kb/s
    Stream #0:0: Video: h264 (High 10), yuv420p10le(progressive), 1920x1080 [SAR 1:1 DAR 16:9], 23.98 fps, 23.98 tbr, 1k tbn, 47.95 tbc (default)
    Metadata:
      title           : Encoded by: ImEverlasting
      BPS             : 997219
      BPS-eng         : 997219
      DURATION-eng    : 00:11:24.601000000
      NUMBER_OF_FRAMES: 16414
      NUMBER_OF_FRAMES-eng: 16414
      NUMBER_OF_BYTES : 85337214
      NUMBER_OF_BYTES-eng: 85337214
      _STATISTICS_WRITING_APP: mkvmerge v9.6.0 ('Slave To Your Mind') 64bit
      _STATISTICS_WRITING_APP-eng: mkvmerge v9.6.0 ('Slave To Your Mind') 64bit
      _STATISTICS_WRITING_DATE_UTC: 2017-04-26 08:17:18
      _STATISTICS_WRITING_DATE_UTC-eng: 2017-04-26 08:17:18
      _STATISTICS_TAGS: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
      _STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
      ENCODER         : Lavc58.91.100 libx264
    Stream #0:1(eng): Audio: aac (LC), 48000 Hz, stereo, fltp (default)
    Metadata:
      BPS             : 151912
      BPS-eng         : 151912
      DURATION-eng    : 00:11:24.650000000
      NUMBER_OF_FRAMES: 32093
      NUMBER_OF_FRAMES-eng: 32093
      NUMBER_OF_BYTES : 13000851
      NUMBER_OF_BYTES-eng: 13000851
      _STATISTICS_WRITING_APP: mkvmerge v9.6.0 ('Slave To Your Mind') 64bit
      _STATISTICS_WRITING_APP-eng: mkvmerge v9.6.0 ('Slave To Your Mind') 64bit
      _STATISTICS_WRITING_DATE_UTC: 2017-04-26 08:17:18
      _STATISTICS_WRITING_DATE_UTC-eng: 2017-04-26 08:17:18
      _STATISTICS_TAGS: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
      _STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
    Stream #0:2(eng): Subtitle: ass (default)
    Metadata:
      BPS             : 101
      BPS-eng         : 101
      DURATION-eng    : 00:11:14.239000000
      NUMBER_OF_FRAMES: 243
      NUMBER_OF_FRAMES-eng: 243
      NUMBER_OF_BYTES : 8531
      NUMBER_OF_BYTES-eng: 8531
      _STATISTICS_WRITING_APP: mkvmerge v9.6.0 ('Slave To Your Mind') 64bit
      _STATISTICS_WRITING_APP-eng: mkvmerge v9.6.0 ('Slave To Your Mind') 64bit
      _STATISTICS_WRITING_DATE_UTC: 2017-04-26 08:17:18
      _STATISTICS_WRITING_DATE_UTC-eng: 2017-04-26 08:17:18
      _STATISTICS_TAGS: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
      _STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
      ENCODER         : Lavc58.91.100 ssa

Any idea as to what the problem could be?

Almost certainly due to the bit depth of 10 bpc: yuv420p10le.
Encode to a standard pixel format of 8 bpc.
ffmpeg -i input -pix_fmt yuv420p -c:v libx264 -crf 18 -c:a copy output.mkv

That did the trick! Thank you so much


text:
Black fontcolor being transparent in drawtext in ffmpeg
I am using the command below to drawtext with rotation. This works but when set fontcolor=black It becomes transparent color.
I am not understanding the reason.
ffmpeg -i input.mp4 -filter_complex "color=black:100x100[c];[c][0]scale2ref[ct][mv];[ct]setsar=1,drawtext=fontfile='font.ttf':text='Test Text':fontsize=36:line_spacing=3:box=1:boxcolor=red@1:fontcolor=black,split[text][alpha];[text][alpha]alphamerge,rotate=45:ow=rotw(45):oh=roth(45):c=black@0[txta];[mv][txta]overlay=x='min(0,-H*sin(45))+100':y='min(0,W*sin(45))+50':shortest=1" output_video.mp4

The method in my old answer was a workaround due to a limitation in drawtext filter at the time of writing. It's easier now.
You're getting transparent text because the textcolor is used to set both the color as well as its opacity intensity, and since black represents 0, the text disappears.
Anyway, it's simpler after ffmpeg 3.1
ffmpeg -i input.mp4 -filter_complex "color=black@0:100x100,format=yuva420p[c];[c][0]scale2ref[ct][mv];[ct]setsar=1,drawtext=fontfile='font.ttf':text='Test Text':fontsize=36:line_spacing=3:box=1:boxcolor=red@1:fontcolor=black,rotate=45:ow=rotw(45):oh=roth(45):c=black@0[txta];[mv][txta]overlay=x='min(0,-H*sin(45))+100':y='min(0,W*sin(45))+50':shortest=1" output_video.mp4

thanks a lot for your help.