text:
Drop 1 subtitle, insert another, preserve another with ffmpeg
Here is my scenario:

MKV file has 2 audio tracks (fr, eng)
File needs the audio tracks switched
File needs to make eng the default audio track
File also has 2 subtitle tracks (fr-forced, fr)
Need to drop fr-forced subtitle track
Need to add in eng subtitles and make it the default

I know how to flip audio tracks so it was just a matter of importing a new subtitle track while preserving only one of the existing subtitle tracks.
So, based on this page, this command should do the trick:
ffmpeg -i "in.mkv" -i "captions.srt" -map 0:v:0 -map 0:a:1 -map 0:a:0 \
  -disposition:a:0 default -disposition:a:1 none -map 1 -c:s:0 srt -map 0:s:1 \
  -metadata:s:s:0 language=eng -metadata:s:s:1 language=fr -disposition:s:0 default \
  -disposition:s:1 none -c:v copy -c:a copy "out.mkv"

And when I go to run this command, the output would seem to imply that I have it setup correctly:
Stream mapping:
  Stream #0:0 -> #0:0 (copy)
  Stream #0:2 -> #0:1 (copy)
  Stream #0:1 -> #0:2 (copy)
  Stream #1:0 -> #0:3 (subrip (srt) -> subrip (srt))
  Stream #0:4 -> #0:4 (subrip (srt) -> ass (ssa))

However, when I load the file in VLC, the audio tracks are as I would expect, the first 2 subtitle tracks are as I would expect, but there is a 3rd subtitle track, a duplicate of the English track I loaded in, unlabeled and the default.

When I open the codec information window:

I updated from ffmpeg 4.3.1 to 4.3.2 just to see if this was a bug that was patched and the behavior is the same.
So my question is: is my command correct? I can certainly do this in 2 commands to clean out the third subtitle track, but I prefer to do it in one go.
I was asked for full logs, so here they are:
PS C:\Users\sarah\Videos> ffmpeg -i "OG-S02E01.mkv" -i "S02E01.srt" -map 0:v:0 -map 0:a:1 -map 0:a:0 -disposition:a:0 default -disposition:a:1 none -map 1 -c:s:0 srt -map 0:s:1 -metadata:s:s:0 language=eng -metadata:s:s:1 language=fr -disposition:s:0 default -disposition:s:1 none -c:v copy -c:a copy "S02E01.mkv"
ffmpeg version 4.3.2-2021-02-20-essentials_build-www.gyan.dev Copyright (c) 2000-2021 the FFmpeg developers
  built with gcc 10.2.0 (Rev6, Built by MSYS2 project)
  configuration: --enable-gpl --enable-version3 --enable-static --disable-w32threads --disable-autodetect --enable-fontconfig --enable-iconv --enable-gnutls --enable-libxml2 --enable-gmp --enable-lzma --enable-zlib --enable-libsrt --enable-libssh --enable-libzmq --enable-avisynth --enable-sdl2 --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxvid --enable-libaom --enable-libopenjpeg --enable-libvpx --enable-libass --enable-libfreetype --enable-libfribidi --enable-libvidstab --enable-libvmaf --enable-libzimg --enable-amf --enable-cuda-llvm --enable-cuvid --enable-ffnvcodec --enable-nvdec --enable-nvenc --enable-d3d11va --enable-dxva2 --enable-libmfx --enable-libgme --enable-libopenmpt --enable-libopencore-amrwb --enable-libmp3lame --enable-libtheora --enable-libvo-amrwbenc --enable-libgsm --enable-libopencore-amrnb --enable-libopus --enable-libspeex --enable-libvorbis --enable-librubberband
  libavutil      56. 51.100 / 56. 51.100
  libavcodec     58. 91.100 / 58. 91.100
  libavformat    58. 45.100 / 58. 45.100
  libavdevice    58. 10.100 / 58. 10.100
  libavfilter     7. 85.100 /  7. 85.100
  libswscale      5.  7.100 /  5.  7.100
  libswresample   3.  7.100 /  3.  7.100
  libpostproc    55.  7.100 / 55.  7.100
Guessed Channel Layout for Input Stream #0.1 : 5.1
Guessed Channel Layout for Input Stream #0.2 : 5.1
Input #0, matroska,webm, from 'OG-S02E01.mkv':
  Metadata:
    encoder         : libebml v1.3.7 + libmatroska v1.5.0
    creation_time   : 2019-04-26T14:08:09.000000Z
  Duration: 00:24:08.86, start: 0.000000, bitrate: 5360 kb/s
    Stream #0:0: Video: h264 (Main), yuv420p(progressive), 1920x1080 [SAR 1:1 DAR 16:9], 23.98 fps, 23.98 tbr, 1k tbn, 47.95 tbc (default)
    Metadata:
      BPS-eng         : 4078918
      DURATION-eng    : 00:24:08.489000000
      NUMBER_OF_FRAMES-eng: 34729
      NUMBER_OF_BYTES-eng: 738533535
      _STATISTICS_WRITING_APP-eng: mkvmerge v33.0.0 ('A Little Bit of Madness') 64-bit
      _STATISTICS_WRITING_DATE_UTC-eng: 2019-04-26 14:08:09
      _STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
    Stream #0:1(fre): Audio: eac3, 48000 Hz, 5.1, fltp (default)
    Metadata:
      BPS-eng         : 640000
      DURATION-eng    : 00:24:08.864000000
      NUMBER_OF_FRAMES-eng: 45277
      NUMBER_OF_BYTES-eng: 115909120
      _STATISTICS_WRITING_APP-eng: mkvmerge v33.0.0 ('A Little Bit of Madness') 64-bit
      _STATISTICS_WRITING_DATE_UTC-eng: 2019-04-26 14:08:09
      _STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
    Stream #0:2(eng): Audio: eac3, 48000 Hz, 5.1, fltp
    Metadata:
      BPS-eng         : 640000
      DURATION-eng    : 00:24:08.864000000
      NUMBER_OF_FRAMES-eng: 45277
      NUMBER_OF_BYTES-eng: 115909120
      _STATISTICS_WRITING_APP-eng: mkvmerge v33.0.0 ('A Little Bit of Madness') 64-bit
      _STATISTICS_WRITING_DATE_UTC-eng: 2019-04-26 14:08:09
      _STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
    Stream #0:3(fre): Subtitle: subrip (default) (forced)
    Metadata:
      title           : Forced
      BPS-eng         : 0
      DURATION-eng    : 00:23:04.049000000
      NUMBER_OF_FRAMES-eng: 2
      NUMBER_OF_BYTES-eng: 58
      _STATISTICS_WRITING_APP-eng: mkvmerge v33.0.0 ('A Little Bit of Madness') 64-bit
      _STATISTICS_WRITING_DATE_UTC-eng: 2019-04-26 14:08:09
      _STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
    Stream #0:4(fre): Subtitle: subrip
    Metadata:
      BPS-eng         : 53
      DURATION-eng    : 00:23:04.050000000
      NUMBER_OF_FRAMES-eng: 258
      NUMBER_OF_BYTES-eng: 9316
      _STATISTICS_WRITING_APP-eng: mkvmerge v33.0.0 ('A Little Bit of Madness') 64-bit
      _STATISTICS_WRITING_DATE_UTC-eng: 2019-04-26 14:08:09
      _STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
Input #1, srt, from 'S02E01.srt':
  Duration: N/A, bitrate: N/A
    Stream #1:0: Subtitle: subrip
Output #0, matroska, to 'S02E01.mkv':
  Metadata:
    encoder         : Lavf58.45.100
    Stream #0:0: Video: h264 (Main) (H264 / 0x34363248), yuv420p(progressive), 1920x1080 [SAR 1:1 DAR 16:9], q=2-31, 23.98 fps, 23.98 tbr, 1k tbn, 1k tbc (default)
    Metadata:
      BPS-eng         : 4078918
      DURATION-eng    : 00:24:08.489000000
      NUMBER_OF_FRAMES-eng: 34729
      NUMBER_OF_BYTES-eng: 738533535
      _STATISTICS_WRITING_APP-eng: mkvmerge v33.0.0 ('A Little Bit of Madness') 64-bit
      _STATISTICS_WRITING_DATE_UTC-eng: 2019-04-26 14:08:09
      _STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
    Stream #0:1(eng): Audio: eac3 ([0] [0][0] / 0x2000), 48000 Hz, 5.1, fltp (default)
    Metadata:
      BPS-eng         : 640000
      DURATION-eng    : 00:24:08.864000000
      NUMBER_OF_FRAMES-eng: 45277
      NUMBER_OF_BYTES-eng: 115909120
      _STATISTICS_WRITING_APP-eng: mkvmerge v33.0.0 ('A Little Bit of Madness') 64-bit
      _STATISTICS_WRITING_DATE_UTC-eng: 2019-04-26 14:08:09
      _STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
    Stream #0:2(fre): Audio: eac3 ([0] [0][0] / 0x2000), 48000 Hz, 5.1, fltp
    Metadata:
      BPS-eng         : 640000
      DURATION-eng    : 00:24:08.864000000
      NUMBER_OF_FRAMES-eng: 45277
      NUMBER_OF_BYTES-eng: 115909120
      _STATISTICS_WRITING_APP-eng: mkvmerge v33.0.0 ('A Little Bit of Madness') 64-bit
      _STATISTICS_WRITING_DATE_UTC-eng: 2019-04-26 14:08:09
      _STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
    Stream #0:3(eng): Subtitle: subrip (srt) (default)
    Metadata:
      encoder         : Lavc58.91.100 srt
    Stream #0:4(fr): Subtitle: ass (ssa)
    Metadata:
      _STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
      BPS-eng         : 53
      DURATION-eng    : 00:23:04.050000000
      NUMBER_OF_FRAMES-eng: 258
      NUMBER_OF_BYTES-eng: 9316
      _STATISTICS_WRITING_APP-eng: mkvmerge v33.0.0 ('A Little Bit of Madness') 64-bit
      _STATISTICS_WRITING_DATE_UTC-eng: 2019-04-26 14:08:09
      encoder         : Lavc58.91.100 ssa
Stream mapping:
  Stream #0:0 -> #0:0 (copy)
  Stream #0:2 -> #0:1 (copy)
  Stream #0:1 -> #0:2 (copy)
  Stream #1:0 -> #0:3 (subrip (srt) -> subrip (srt))
  Stream #0:4 -> #0:4 (subrip (srt) -> ass (ssa))
Press [q] to stop, [?] for help
frame=34729 fps=11733 q=-1.0 Lsize=  948552kB time=00:24:08.83 bitrate=5363.3kbits/s speed= 489x
video:721224kB audio:226385kB subtitle:26kB other streams:0kB global headers:1kB muxing overhead: 0.096739%
PS C:\Users\sarah\Videos>

Share full logs of command and of ffmpeg -i output

I edited the post with full logs

To me it does appear to be a bug. I would try to fix this with mkv-tools

By mkv-tools, are you referring to MKVToolNix or something else? (I have found MKVToolNix to be quite helpful, but if there are better tools, I'm all ears)


text:
Framerate dilemma
I'm having a hard time deciding what framerate I should use. I live in the PAL region (50Hz), and when I use 25 fps, I can use any shutter speed and never have light flickering. This is convienent when shooting in the evening with my dslr when there isn't too much movement. For example, I set 25 fps with 1/30, which allows me to lower the noise. However, I've noticed that most screems are at 60Hz, and after some testing, I'm not sure that 25fps on 60Hz looks as good as 30fps on 60Hz.
If I shoot at 30fps with a shutter of 1/50, I don't get flickering but a little more noise than at 1/30. I'd also like to mix that footage with my phone that can shoot 24fps, 25fps, 30fps, 60fps. My dslr can also shoot at 50fps with the advantage of no flickering at any shutter speed. For 60fps, a shutter of 1/100 doesn't give me flickering, but I wonder if slowed down, there's going to be too much blur. Unfortunaltely, my dslr down't have a shutter of 1/150 but 1/125 and after that it's 1/160, which have flickering. Or is it better to shoot 50fps at 1/100 for smoother motion even though it's not exactly half the speed of 30fps?
My phone seems to handle light flickering much better at normal framerates.
I also like the realistic look of 60 fps on a 60Hz display.
My questions are:

Should I shoot at a normal speed at 25 fps even though it doesn't look as good on a 60Hz screen?
Should I shoot at 30 fps 1/50 which looks better on 60Hz? Then should slow motion be 60fps 1/100?
Can I shoot normal motion at 60fps 1/60 and slow motion at 60fps 1/125 and slow it down? How is it going to look like?
Can I mix 25fps, 50fps and 60fps and export at 60fps assuming there's going to a pull down for the 25fps and 50fps clips on 60Hz screens?

I think the frame rate that you plan to deliver your final video at should inform all the shutter/frame rate decisions when you are shooting.
If you're delivering at 25 fps, shoot at 25fps, or multiples of 25.
If you mix frame rates in your project that aren't multiples of the deliverable frame rate, you will end up doing frame rate conversion - either throwing away or generating extra frames, which will usually look bad (especially if there is a lot of movement in your footage).
You can change the frame rate of your footage after you've shot it by conforming it. This doesn't add or throw away frames, but will just play the footage slightly faster or slower to get to the frame rate you need.  It's surprising how often you can get away with this trick, but again it depends on what you are filming, and how much of a change you are conforming to (e.g. 24 to 25fps is hard to spot, 60 to 25 is very obvious).
The choice about shutter speeds is trickier - because you might be able to get away with 1/50 shutter at 30fps, but if you're shooting smooth movement it might look weird.  In general I would always try to shoot at "1 over double the frame rate", so 1/50 = 25 fps.  If you're shooting for slow mo, I would try to use 1/120 at 60fps, etc.
It's tricky to answer more without knowing what you're actually shooting.  If you're filming a lot of screens, you might be better off capturing the screen directly with screen recording software, and compositing it back in afterwards?  That way you wouldn't get any flickering, and you would have more control (but it would take much longer to produce).

source: Stack Exchange

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

sort: votes


text:
What kind of animation is when real toys are played during filmed real time?
What kind of animation is when real toys are played during filmed real time?
Look at this video:

It is similar to "stop motion" but I guess it is some other genre.
How is this style called?

Since you see a person's hands moving the dolls, I don't think this can be called animation. I think the term which fits best is puppetry.

(Jim Henson is slowly rotating)

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


text:
What are some animation techniques that help lower animation cost as much as possible?

I think this is a good example, but there's no animation to speak, but I am wondering if there are other animation techniques that can yield similar cost per minutes as the "animation" in the video. I am thinking of doing a music video that's cheaply animated.

The most common shortcut I know of is to animate “on twos” which basically means to show each frame twice.  So if the video standard calls for 24 frames per second, the animation will only consist of 12 unique frames, effectively cutting the cost per unit of runtime in half.  Since the technique cultivated a wide viewership with hand-drawn animation, it is also used on computer animated shows which seek to reduce the costs of render time.  Combining this technique with motion “tweening” can further reduce the associated costs.  Tweening software (Twixtor, e.g.)  calculates intermittent frames synthetically, usually through optical flow analysis of pixel motion, but increasingly also through machine learning techniques.


text:
How to choose a bitrate when converting between formats?
I have a number of video files I need to convert to "regular" .mp4 format to view on my computer. The format they are in is not supported by my device (the driver has not been backported to 18.04). I have a VM running a later edition of Ubuntu that can convert them, but this raised a question about the bitrate.
I don't want to "worsen" the quality any more than the conversion would already do, so how do I choose an output bitrate that will contain all the information of the input file (especially as I'd imagine that the bitrate is also a function of the compression efficiency rather than the "raw" datarate)?
Am I correct that the bitrate is not the same measure when the formats are different, and if so, how do I ensure that my output quality contains the same information without increasing the file size too much? Is there a tool for that (for Ubuntu, of course)?
Also, VLC seems to automatically pick a bitrate which is larger than the input value and appears to vary between files (with a corresponding size increase after conversion). Would you know if it is doing this calculation automatically, or is it just padding my files?

Bitrate is not equal when formats differ. Some codecs are more effecient and thus less 'lossy' in terms of how they compress the data.
Secondly, the software you use is a factor in terms of output quality when the source codec and bitrate rates are equal. Simply put, h.264 1080p29.97 at 25mbps CBR (constant bitrate) may look better when encoded using one software over another. VBR (Variable Bit Rate) is another factor. It's more effecient, but it's more susuptible to issues if the software you use doesn't handle the temporal analysis between side by side frames.
Regarding you last comment on padding; yes you can certainly bloat your file size for no good reason, and adding that additional data will be all but un-noticable to even the best trained eye. Even on a scope the file which has more padding may be a near identical match.
So it's a matter of trial and error.
If you're starting with 444 Raw Source, you can certainly compress down to H.265 at 100 mbps CBR for 1080, or 200mbps for 4k, and you'd have a hard time, if even possible, to see the difference.
But your new file would lose a lot of bit depth data in terms of the RGB values and the way that data is stored. Your source file would allow for a high lattude of color correction, exposure correction, etc.
Your output, while visually indistinguishable from the source... would not allow much color correction at all.

The input is an AV1 encoded mp4, which is unreadable on my current OS (which I can't upgrade for compatibility reasons). It's not a lossless format as far as I'm aware. I'm trying to figure out how to reduce the quality as little as possible without inflating the file size on conversion to a "normal" mp4. I can't currently tell if the quality is worse visually, but I'd hate for that to be my only benchmark.


text:
C4D R20 Movie Render Channel render Issue
I use C4D R20, when I render a movie of any format, the alpha channel renders as a separate movie file. This did not happen with R19, R17, 13, it use to render the alpha channel embedded in the same movie file so when I import that file in any movie editing software, the movie came with a transparent background. When I render a Static Tiff file it saves the alpha channel in the PSD or Tiff file no problem, and yes I know there is a check button to render alpha channel, I have tried everything and not sure if I'm the only one with this issue or it is supposed to be this way.

You should go to video production SE with this question. But then why anyone would render movie files directly from a 3D software is the question to as oneself. Why would a folder be less manageable than a file? And why would you want to sacrafice random lookup speed for a intermediate asset anyway?

Video editing is off-topic here. Sorry about that.  Try Video Production Stack Exchange.

This is not about video editing at all, my question is why cinema 4d R20 rendering a separate channel on movie render. I'm wondering how i can fix the setting so the alpha channel is imbedded in the movie render instead of a separate file.

Sorry but it kind of is. You are asking about video formats and how to get alpha transparency in those formats.  This is not graphic design question. I've flagged it for migration to Video Production SE.

I’m not around my laptop or I’d open up C4D and give you a step-by-step, but off the top of my head, I’d say the codecs are your main culprit. Try exporting prores 4444, and make sure the alpha channel checkbox is ticked.  Also be sure the player you’re using to review the output supports transparency.


text:
Whenever I draw a shape, the transparency is 14%, how do I reset it to 100%?
Whenever I draw a shape, the transparency is 14%, how do I reset it to 100%?

It happens sometimes make opacity 100%  than make another shape, that should do it.  But don't delete the current shape before make another one or problem will continue. Then you can delete both, enjoy your 100% opacity :)


text:
How to convert SWF movie to MP4?
I animate in Adobe Flash Professional CS5.5 on Windows 7. All my work exists in that version. The problem is that once I export an SWF Movie I can't convert it to MP4 with tools such as Swivel or other kind of online convert sites. (I know Adobe canceled Flash...) Is there any alternative way out there?
I would be grateful for any help.

Can you play the movie?  Could you use screen recording software to capture it? Are you sure you can't export as video from Flash?  It's really hard to offer advice here on very old software,  Also, video questions are technically off-topic here. Perhaps you'd get a better answer on Video Production Stack Exchange.

Thank you for the comment. (I will try on Video Production aswell.) The only option for export as a moving picture on CS5.5 is currently "Export Movie". Atleast on my version. The "Export Video is missing". The movie plays in SWF Movie format. I havent't yet tried screen recording, no. I will try. Thank you for the help Billy!


text:
How do you blend smoothly between frames of video with ffmpeg?
I have a 10 frame timelapse video (@ 1 fps = 10 seconds long). I would like to add additional frames between these 10 frames that blend between them (so the transitions aren't so jarring) and still keep the video to 10 seconds long.

See http://www.ffmpeg.org/ffmpeg-filters.html#framerate and http://www.ffmpeg.org/ffmpeg-filters.html#minterpolate


text:
Why do I get a r_frame_rate of 1000/1 in ffmpeg for videos when using MediaRecorder to record getDisplayMedia?
Each time I download a video from a jsfiddle that I created the r_frame_rate is reported as 1000/1. However, I set the frameRate constraint to: { ideal: 30, max: 60}. When the stream object is logged in the console, the frame rate is 30.
When I process the downloaded video with ffmpeg the output shows the r_frame_rate as 1000/1 when recorded on an M1 Macbook.
This is the ffmpeg command that I am using:
ffprobe -i <video input source here> -show_streams -of json


text:
ffmpeg "end mismatch" warning, jpeg2000 to video
Trying to convert a directory of jpeg2000 grayscale images to a video with ffmpeg, I get warnings
[0;36m[jpeg2000 @ 0x55d8fa1b68c0] [0m[0;33mEnd mismatch 1

(and lots of
Last message repeated <N> times

)
The command was
ffmpeg -y -r 10 -start_number 1 -i <PATH>/surface_30///img_000%01d.jp2 -vcodec msmpeg4 -vf scale=1920:-1 -q:v 8 <PATH>//surface_30///surface_30.avi

The output is
ffmpeg version 4.2.2 Copyright (c) 2000-2019 the FFmpeg developers
  built with gcc 7.3.0 (crosstool-NG 1.23.0.449-a04d0)
  configuration: --prefix=/home/jklebes001/miniconda3 --cc=/tmp/build/80754af9/ffmpeg_1587154242452/_build_env/bin/x86_64-conda_cos6-linux-gnu-cc --disable-doc --enable-avresample --enable-gmp --enable-hardcoded-tables --enable-libfreetype --enable-libvpx --enable-pthreads --enable-libopus --enable-postproc --enable-pic --enable-pthreads --enable-shared --enable-static --enable-version3 --enable-zlib --enable-libmp3lame --disable-nonfree --enable-gpl --enable-gnutls --disable-openssl --enable-libopenh264 --enable-libx264
  libavutil      56. 31.100 / 56. 31.100
  libavcodec     58. 54.100 / 58. 54.100
  libavformat    58. 29.100 / 58. 29.100
  libavdevice    58.  8.100 / 58.  8.100
  libavfilter     7. 57.100 /  7. 57.100
  libavresample   4.  0.  0 /  4.  0.  0
  libswscale      5.  5.100 /  5.  5.100
  libswresample   3.  5.100 /  3.  5.100
  libpostproc    55.  5.100 / 55.  5.100
[0;36m[jpeg2000 @ 0x55cb44144480] [0m[0;33mEnd mismatch 1

[0m    Last message repeated 1 times
    Last message repeated 2 times
    Last message repeated 3 times

...
Last message repeated 73 times

Input #0, image2, from '<PATH>//surface_30///img_000%01d.jp2':

  Duration: 00:00:00.20, start: 0.000000, bitrate: N/A

    Stream #0:0: Video: jpeg2000, gray, 6737x4869, 25 tbr, 25 tbn, 25 tbc

Stream mapping:

  Stream #0:0 -> #0:0 (jpeg2000 (native) -> msmpeg4v3 (msmpeg4))

Press [q] to stop, [?] for help

[0;36m[jpeg2000 @ 0x55cb4418e200] [0m[0;33mEnd mismatch 1

[0m[0;36m[jpeg2000 @ 0x55cb441900c0] [0m[0;33mEnd mismatch 1

...
(about 600 lines of "end mismatch" and "last message repeated" cut)
...
[0m[0;36m[jpeg2000 @ 0x55cb4418e8c0] [0m[0;33mEnd mismatch 1

[0mOutput #0, avi, to '<PATH>/surface_30///surface_30.avi':

  Metadata:

    ISFT            : Lavf58.29.100

    Stream #0:0: Video: msmpeg4v3 (msmpeg4) (MP43 / 0x3334504D), yuv420p, 1920x1388, q=2-31, 200 kb/s, 10 fps, 10 tbn, 10 tbc

    Metadata:

      encoder         : Lavc58.54.100 msmpeg4

    Side data:

      cpb: bitrate max/min/avg: 0/0/200000 buffer size: 0 vbv_delay: -1

frame=    2 fps=0.8 q=8.0 size=       6kB time=00:00:00.20 bitrate= 227.1kbits/s speed=0.0844x
frame=    5 fps=1.7 q=8.0 size=       6kB time=00:00:00.50 bitrate=  90.8kbits/s speed=0.172x
frame=    5 fps=1.7 q=8.0 Lsize=     213kB time=00:00:00.50 bitrate=3494.7kbits/s speed=0.172x
video:208kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 2.732246%

What is the meaning of characters like [0;33m here?
I thought it might have something to do with bit depth and color format.  Setting -pix_fmt gray had no effect, and indeed the format of the jp2 images is already detected as 8-bit gray.
The output .avi exists and seems fine.
The line was previously used on jpeg files and works fine on jpeg.  With jpeg, the output has the line
Input #0, image2, from '<PATH>/surface_30///img_000%01d.jpeg':

  Duration: 00:00:00.16, start: 0.000000, bitrate: N/A

    Stream #0:0: Video: mjpeg (Baseline), gray(bt470bg/unknown/unknown), 6737x4869 [SAR 1:1 DAR 6737:4869], 25 tbr, 25 tbn, 25 tbc

Stream mapping:

  Stream #0:0 -> #0:0 (mjpeg (native) -> msmpeg4v3 (msmpeg4))

Press [q] to stop, [?] for help

Output #0, avi, to '<PATH>/surface_30///surface_30.avi':

  Metadata:

    ISFT            : Lavf58.29.100

    Stream #0:0: Video: msmpeg4v3 (msmpeg4) (MP43 / 0x3334504D), yuv420p, 6737x4869 [SAR 1:1 DAR 6737:4869], q=2-31, 200 kb/s, 10 fps, 10 tbn, 10 tbc

    Metadata:

      encoder         : Lavc58.54.100 msmpeg4

    Side data:

      cpb: bitrate max/min/avg: 0/0/200000 buffer size: 0 vbv_delay: -1

frame=    2 fps=0.0 q=8.0 size=    6662kB time=00:00:00.20 bitrate=272859.9kbits/s speed=0.334x
frame=    3 fps=2.2 q=10.0 size=   10502kB time=00:00:00.30 bitrate=286764.2kbits/s speed=0.22x
frame=    4 fps=1.9 q=12.3 size=   13574kB time=00:00:00.40 bitrate=277987.7kbits/s speed=0.19x
frame=    4 fps=1.4 q=12.3 size=   13574kB time=00:00:00.40 bitrate=277987.7kbits/s speed=0.145x
frame=    4 fps=1.4 q=12.3 Lsize=   13657kB time=00:00:00.40 bitrate=279702.3kbits/s speed=0.145x
video:13652kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.041926%

detecting mjpeg format and similar, but more detailed format gray(bt470bg/unknown/unknown), 6737x4869 [SAR 1:1 DAR 6737:4869].
What is the difference when switching input from jpeg to jp2?


text:
Using masks and transparency
I am new to video editing. I am trying to use layers, transparency and masks in order to achieve the following:
I want to have a opaque background with a shape, say a circle, that would be transparent and show some video in it, e.g. someone presenting a given topic.
I am not sure how to go about implementing this with iMovie. Is it possible at all? If not, what other software could achieve this? Also, what is the appropriate vocabulary/lingo that corresponds to what I am describing?


text:
I've already recorded my iphone video at a non-ideal zoom - anything I can do to make the best of the situation?
Sorry I know nothing about cameras/recording. I'd like to maximize the video-quality given my current situation, and also appreciate any basic tips for next time!
I have an iPhone 14, and I recorded some overhead footage of piano-playing, at 0.5x zoom. The problem at the time was that 1x zoom was slightly too zoomed in, so I made it 0.5x zoom when recording. In hindsight, I feel I should have manually zoomed in to about 0.9x or something (am I right about this, or does it not even matter?).
So now I have a 0.5x zoom HDR video, and I want to edit it in a video-editor, and I would like to know what's the best I can do to improve the situation. Should I edit the video's zoom on my iPhone before giving it to my video-editor? Or is that the same effect as zooming it in my video-editor?


text:
Can I create an LUT which provides solid lines?
I understand that a LUT is roughly a structure which converts every pixel of an image from RGB(r1,g1,b1) to RGB(r2,g2,b2) which means that it executes a color transformation.
I have a field monitor which can use external LUTs but provides only a few build in grids. I would like to use my own grids like user defined aspect ratio borders, dynamic symmetry lines etc.
I wonder if there is a way to provide these grid lines via a LUT, like merge some lines drawn on an alpha channel layer and merge it to an image or something like that.
Any suggestions would be appreciated.


text:
Fast pass-through Trimming/Cutting of Videos without re-encoding
I'm searching for a way to very quickly and efficiently trim and Cut my raw video material without the need to re-encode.
My raw material mostly consists of a big number of clips from my Drone for example. The purpose is to throw away all really trashy parts, e.g. when trying to setup the correct angle / shot or purely flying the Drone around --> Just to save storage, directly while viewing the material after coming home from a shoot.
Doing it in Premiere is quick and easy, has very nice shortcuts, very straight forward, but requires lengthy encoding times while exporting to a new .mp4 file. Maybe I'm missing something and this can be done easily to just pass-through the original videostream in trimmed version? If no, the other option I know of, is the software "LosslessCut". It is great and convenient - but rather for single video files. It's a bit time consuming to open up each and every video file on its own, ending up with strangely named splitfiles etc etc...
Do you know another better way doing so?


text:
OBS studio - missing video parts after recording
I captured a video with dual screen.
In File->Settings->Video there is Base (Canvas) Resolution 3840x1080 and Output (Scaled) Resolution 3840x1080.
In the Sources there is Display Capture 1920x1080 and Display Capture 2 1920x1080.
After recording before saving it has written something with ... overloaded ... and the resulting video is missing some information (like every second, or third frame is dropped), so I can't see parts of a video.
Can I fix this?


text:
How to convert SD-BD Video to DVD Video?
this is my first post here:
I have several homemade, simple Bluray PAL SD Video iso files without menus. They are converted from PAL DV to mpeg2video and PCM audio to .mts and with tsMuxer to Bluray.iso. Duration playtime on each BD-R DL 50 GB disc is about 3.0 - 3.5 hours.
Instead of making DVD video options also from scratch, I wonder if it easier/possible to convert the SD-BD M2TS files to compliant target DVD video?
I would be thankful for suggestions on using ffmpeg procedures for this.
Inspecting a typical SD-BD-video.m2ts by mounting the iso:
mount SD-BD_DV58_09+DV59+DV60.iso /mnt2
mount: /mnt2: WARNING: source write-protected, mounted read-only.

ls -lh /mnt2/BDMV/STREAM
total 36G
-r--r--r-- 1 nobody nobody 36G Apr 16 18:58 00000.m2ts

ffprobe -hide_banner /mnt2/BDMV/STREAM/00000.m2ts
Input #0, mpegts, from '/mnt2/BDMV/STREAM/00000.m2ts':
  Duration: 03:00:12.12, start: 4200.000000, bitrate: 28013 kb/s
  Program 1
  Stream #0:0[0x1011]: Video: mpeg2video (Main) (HDMV / 0x564D4448), yuv420p(tv, bottom first), 720x576 [SAR 16:15 DAR 4:3], 25 fps, 25 tbr, 90k tbn, 50 tbc
    Side data:
      cpb: bitrate max/min/avg: 25000000/0/0 buffer size: 28000256 vbv_delay: N/A
  Stream #0:1[0x1100]: Audio: pcm_bluray (HDMV / 0x564D4448), 48000 Hz, stereo, s16, 1536 kb/s

Thanks
Terje J. Hanssen


text:
How to make the effect of gradually appearing video in FFmpeg
Good afternoon.
Can you please tell me how to make slow video appear
So that the video appears gradually from top to bottom or bottom to top? And from right to left.
Thank you!
https://youtube.com/shorts/EzhuvJg8WsQ?feature=share
Why doesn't the script work?
@Echo Off
cd input1
dir /b *.mp4 > ..\temp.txt
cd ..
(FOR /F "tokens=*" %%G IN (temp.txt) DO (
xffmpeg\FFmpeg-x86_64-N-74566-g531b0a3\ffmpeg.exe -y -i "input1\%%G" -c:v libx264 -crf 18 -preset slow -pix_fmt yuv420p -an ^
-filter_complex "crop=in_w:in_h/2:0:0, drawbox=x=0:y=h/2-w/2:w=in_w:h=in_h/2:t=30:color=black, crop=in_w:in_h/2:0:h/2, curtain=vertical:0.4:0.2:0.05, setpts=PTS-STARTPTS" -c:a copy -vf hflip "output\%%~nG_1.mp4"
))

blend http://ffmpeg.org/ffmpeg-all.html#blend-1 Apply uncover down effect example

authors: Баяр Гончикжапов


text:
Using a Behringer BCF2000 control surface with Adobe Premiere
I have a Behringer BCF2000 which I recently purchased on eBay.
Video example of the problem:

It's an older device with motorised faders which can function as a MIDI controller or as a Mackie control surface.
I want to use it as a control surface inside Adobe Premiere CC 2023 and Audition, mainly to adjust levels on projects.
I have connected the Behringer to my M1 MacBook Pro via USB.  I'm running MacOS Ventura.
I have followed this video precisely, and tried rebooting the Behringer into modes 2 and 4, which are supposed to be:

Mode 2 = Mackie Control (Cubase and Nuendo)
Mode 4 = Mackie Control (Sonar)

I can write volume moves from the Behringer into Premiere / Audition.
I cannot get those moves to play back on the motorised faders in any way.
When I set the faders to Read mode in Premiere, and play back my project, all the faders on the Behringer jump to zero and do not move.
In the video he says to use Mode 4.  I have tried Modes 2 and 4 without success.
After powering up the Behringer with the 4th button held down, I then press the Exit button.  This isn't mentioned in the video, but without doing it, the Behringer never appears as an interface to the Mac.
When my Behringer powers up, it appears to be using Firmware 1.10. In the video he is using 1.07.

Seems it might be an M1 issue - see this Reddit thread: https://www.reddit.com/r/LogicPro/comments/mfc2t5/using_a_behringer_bcf2000_with_logic_on_a_2020_m1/


text:
Color management for editing iphone 14 pro max in Da Vicci resolve 18.4
Could anyone suggest the colour-management settings in da Vinci resolve for editing 14 pro max footage?
Here is the metadata for my footage

and here is the resolve  Thanks a lot.


text:
Is there a method to isolate moving entity using "reverse exposure" instead of using green screen?
Background
I am looking into ways to isolate moving entities, such as person, or objects on a relatively static background without using green screen, due to cost and location restriction.
What it's used for?
Isolating moving objects, but particularly choreography, or at least a concept of it, where a single person takes multiple takes and act like a group dance.
What I've looked into
I have "some" knowledge regarding photography, and it is to my understanding that Long Exposure is used by some photographers to capture a static object in a relatively dynamic environment by blurring or out-right "ignoring" the non-static entities in the image.
What I think would fit well for the scenario I need is something like Long Exposure, but inverse, some kind of Inverse Exposure. That way I won't need to consider green screen or post-production much, and slice and arrange footages in a way that it becomes good and seamless enough.
Additional Info
The camera will always be static on recording, so some method where it take the initial sceen image and remove any background from that image is welcome, and if it exist, I would like to know the application.


text:
FFmpeg is dropping a lot of frames but I can't see why
I have very little experience with FFmpeg but a process that worked flawlessly on one video (60fps @1920x1080) is dropping frames like crazy on another (58.56fps @1920x1080).
I believe I have my offsets right (1/60= 0.0166 and 1/58.56 = 0.01707) but the proessr said drop=0 on the first one but drop=[greater than framecount] onthe second Can't see what element in the code is telling it to do that, or how to change it.
Here's my code for the first 60Hz file which worked nicely:
ffmpeg -i G:\PropFlicker.mp4 -itsoffset 0.01666 -i G:\PropFlicker.mp4 -filter_complex color=0x202020:r=60:s=1920x1080:d=24[mask];[mask][0][1]maskedmax=[out] -map [out] -crf 10 G:\PropNoFlicker.mp4

And here's the report with no frames dropping:

Here's my code for the second file at 58.56Hz:
ffmpeg -i C:\20150104_164428.mp4 -itsoffset 0.01707 -i C:\20150104_164428.mp4 -filter_complex color=0x202020:r=58.56:s=1920x1080:d=60[mask];[mask][0][1]maskedmax=[out] -map [out] -crf 8 -r 58.56 G:\Output.mp4

And here is the report where you can see frames dropping like crazy

I don't know what -crf does and if it has anything to do with it, and I also tried changing the d=60 to other values, makes no apparent difference.  No idea what duration that is changing either
I tried with and without the last -r 58.56 and it made no difference.
Any help will be appreciated!


text:
ffmpeg not adding correct timestamps in recorded files
I am using ffmpeg to record a camera stream using rtsp protocol. Camera stream is being consumed via rtsp-simple-server. I am creating 10 second files by setting output_ts_offset to epoch realtime.
ffmpeg command:
ffmpeg -hide_banner -loglevel warning -rtsp_transport tcp -i rtsp://rtsp_simple_server_ip:rtsp_simple_server_port/stream_url -muxpreload 0 -muxdelay 0 -c:v copy -an -f segment -strftime 1 -segment_time 10 -output_ts_offset $EPOCHREALTIME -segment_atclocktime 1 -segment_clocktime_offset 30 -segment_format mp4 file_%s.mp4
Each file is saved with offset - start_time as epoch timestamp(current timestamp when ffmpeg pipeline starts and keep on adding 10 seconds as it creates 10 second files) and adding the same timestamp in file name also. eg file_1669903600.mp4.
FPS is 15.
ffprobe output:
start_time=1669903599.93233
duration=10.106771
[/STREAM]
[FORMAT]
filename=file_1669903600.mp4
[/FORMAT]

[STREAM]
start_time=1669903605.53452
duration=10.106771
[/STREAM]
[FORMAT]
filename=file_1669903610.mp4
[/FORMAT]

In second example, there is difference of 5 seconds in start_time and filename which is incorrect.
Similarily sometimes there are differences upto 50000 seconds in timestamps.
Files are being saved with start_time metadata either in past or future. Anyone faced the same issue with ffmpeg?
Suddenly I am getting files with 76ms duration and framerate increases to 1986 from 15 and then this timestamp diff(start_time - filename timestamp) starts increasing negatively by 10 and goes up to -47270(in past) or sometimes it goes in future.
[STREAM]
r_frame_rate=25/1
avg_frame_rate=778240/51953  <-- framerate = 15
time_base=1/15360
start_pts=25872908239503
start_time=1684434130.175977
duration=10.147070
nb_frames=152
[/STREAM]
[FORMAT]
filename=file_1684434130.mp4
[/FORMAT]
[STREAM]
r_frame_rate=25/1
avg_frame_rate=2334720/155849  <-- framerate = 15
time_base=1/15360
start_pts=25872908394947
start_time=1684434140.296029
duration=10.146419
nb_frames=152
[/STREAM]
[FORMAT]
filename=file_1684434140.mp4
[/FORMAT]
[STREAM]
r_frame_rate=25/1
avg_frame_rate=389120/16871  <-- framerate = 23
time_base=1/15360
start_pts=25872908551004
start_time=1684434150.455990
duration=6.590234
nb_frames=152
[/STREAM]
[FORMAT]
filename=file_1684434150.mp4
[/FORMAT]
[STREAM]
r_frame_rate=15360/1
avg_frame_rate=466944/235  <-- framerate = 1986
time_base=1/15360
start_pts=25872908651213
start_time=1684434156.980013 <-- behind 4 seconds than filename timestamp
duration=0.076497
nb_frames=152
[/STREAM]
[FORMAT]
filename=file_1684434160.mp4
[/FORMAT]
[STREAM]
r_frame_rate=15360/1
avg_frame_rate=466944/235  <-- framerate = 1986
time_base=1/15360
start_pts=25872908651366
start_time=1684434156.989974  <-- behind 14 seconds than filename timestamp
duration=0.076497
nb_frames=152
[/STREAM]
[FORMAT]
filename=file_1684434170.mp4
[/FORMAT]
...
...
...
[STREAM]
r_frame_rate=15360/1
avg_frame_rate=466944/235 <-- framerate = 1986
time_base=1/15360
start_pts=25872908681733
start_time=1684434158.966992 <-- behind 2042 seconds than filename
duration=0.076497
nb_frames=152
[/STREAM]
[FORMAT]
filename=file_1684436200.mp4
[/FORMAT]

Why framerate is jumping to 1986 suddenly and why ffmpeg is adding 10 seconds to timestamp metadata?
Expected output:
Timestamps should match(start_time timestamp should be equal to filename timestamp)

@gyan, can you please help here?


text:
FFMPEG RTMP stream Non-monotonous DTS in output stream 0:1
Running into a wee issue here.
I'm trying to use an rtmp stream as an input and then outputting it to twitch.
ffmpeg -re -i rtmp://localhost:1935/live/ -f flv -c:v libx264 -c:a aac rtmp://mad01.contribute.live-video.net/app//stream_key
The only issue with this, is that the rtmp sometimes restarts (whenever the video being sent to it ends), and after it restarts, it causes this script to output
Non-monotonous DTS in output stream 0:1; previous: 10006, current: timestamp; changing to 10006
This plays the first video fine, but anything after that just stops working.
I believe this would be a fine fix, if it wasn't for the fact that previous and current were ALWAYS the same value (the length of the video sent to the rtmp stream in ms). This should be the reason as of why it just stops outputting, because the current timestamp isn't incrementing at all.
The example I gave was for a 10 second video sent to the rtmp stream.
This issue disappears if the first video was like 10 seconds, and the second one is 20, and it reaches the 10s mark on the second video.
I've tried searching quite literally everywhere but couldn't even find someone with the same issue I have. Appreciate any kind of help


text:
extracting/exporting images from a video at every scenechange
How can I extract images from a video at each scene change (i.e. the 1st image from each new scene in a video) ?
FFmpeg is said to be able to detect scene changes but I don't know how to adapt the FFmpeg parameters used there to this question.
I'd like to use a command line tool (like FFmpeg) for Windows.

ffmpeg -i "input.mp4" -filter_complex select='gt(scene,0.4)' -vsync vfr %03d.png

authors: Баяр Гончикжапов


text:
Place logo + change its opacity and scale + add text at random position
I have 3 complex filters and can't figure how do i make it in one command to work:

Random text position
ffmpeg -i video.mp4 -vf drawtext=\"fontsize=40:fontfile=FreeSerif.ttf:fontcolor={color}:text='{watermarkText}':x=if(eq(mod(n\\,20)\\,0)\\,rand(0\\,(w-text_w))\\,x):y=if(eq(mod(n\\,20)\\,0)\\,rand(0\\,(h-text_h))\\,y)\" -c:a copy {outputFile}

Logo opacity
ffmpeg -i video.mp4 -i pog.png -filter_complex "[1:v]format=argb,geq=r='r(X,Y)':a='0.1*alpha(X,Y)'[zork]; [0:v][zork]overlay" {outputFile}

Logo scaling
ffmpeg -i video.mp4 -i pog.png -filter_complex "[1][0]scale2ref=w='iw*10/100':h='ow/mdar'[wm][vid];[vid][wm]overlay=10:10" video1.mp4

Is it even possible to make it as one working command?


text:
Reuse clip of a sequence as a new sequence in Kdenlive?
I have the following use case: I have two videos from different sources (two different cameras) observing the same event. These two obviously do not start at the same absolute time point, so one of them has to be offset in time relative to the other so both video streams appear in sync.
For this, in Kdenlive, I'd import the two videos as clips in the project bin; and then I'd create a new sequence in the project bin, and place and offset/align the two videos in the sequence. In order to see both videos at the same time, I'd probably have to setup a "picture-in-picture" as in https://userbase.kde.org/Kdenlive/Manual/Tutorials/Split_Screen_How_To ; and that means that the video tracks within my sequence would look like in the screenshot of that tutorial:

... except I'd have only two tracks, and one of them would be offset at the start.
So here is the problem: let's say, from two video clip tracks synchronized like this in a sequence, I'd like to cut a clip of the sequence, let's say between 31m:10s:10f to 32m:02s:05f - that in itself is trivial and not a problem. But then, I'd like to rearrange the tracks inside this cut clip of a sequence (so I change the final output of the effects) - without changing the original sequence! (so it remains as a master record of the time offset required to sync the two original long video files).
Right now, in kdenlive-23.04.0-x86_64.AppImage, if you cut a clip in the middle of a sequence, and then double-click that click to edit it, you're just taken to the original sequence (and as mentioned, I would not like to change it in any way).
What I would like, then, is that when I've cut a clip from a sequence, to have an extra (say) right-click menu, "recreate clip sequence" or something - so that once chosen, a new sequence gets created, which contains only the cut regions of interest (and correctly offset, as in master sequence), of the original long video files! Then I could rearrange tracks and change effects in this sequence, without changing the original sequence.
Is there any way to achieve this in kdenlive?


text:
What output to feed
My question offloading video to composite video for Video 8 (in shot)to view on plane, if my hdmi > SD converter output is 576i50 should I set my source output as high as poss (2160p60 or 50) or should I output 576p50 so there is less for the converter to do? Appreciate any advice.


text:
Why would ffmpeg run slower on a GPU than a CPU when doing mp4 compression?
I'm running it on modern equipment with latest drivers. I use it to compress video files, like so:
ffmpeg -i 20230502_200913.mp4 -vcodec libx265 -crf 28 -vf "scale=trunc(iw/10)*2:trunc(ih/10)*2" output.mp4

that command runs in 160 seconds on the CPU. but if I use the GPU, like so:
ffmpeg -hwaccel cuda -i 20230502_200913.mp4 -vcodec libx265 -crf 28 -vf "scale=trunc(iw/10)*2:trunc(ih/10)*2" output.mp4

it actually takes 280 seconds. And again, these are same era CPU and GPU. I can see it uses 100% of the GPU when running on the GPU but only 50% of the CPU when running on the CPU. I expected it to run much faster on the GPU than the CPU.
Am I missing something?

You're only decoding on the GPU. The scaling and encoding still occurs on the CPU and the decoded frame has to be transferred to system RAM from GPU RAM. Switch to scale_cuda and hevc_nvenc to keep everything on GPU.


text:
Why the DSLR camera audio was set at -12 db?
From the online youtube videos

It was mentioned that the professional audio equipment was usually set at -18 dbfs while the home studio was usually set at -16 dbfs. However, the "momentary transient" could be as loud as 20 db fs than the rms level. Doesn't that mean the -18 dbfs or the -16 dbfs were almost certain to have the issue of clipping?
There's many videos online stated that the autio for DSLR camera should be set at -12 db(headroom).This does not seem to make much sense from the above introduction, and, also, how was the -12 db being calculated? since this only allow the range of the sound to be 10 times more powerful. Is there a specific calculation for that value?
Especially, in the music and the human sound can range from 20 dbpsl to 80 dbpsl. That's a lot of range than the (-10)-(-20) dbfs head room. In videoing opera, this needed to be considered since the singers can sing from very quite whisper to very loud high frequency vocal. How to calculate the optimal gain on the DSLR camera? (The usual "-12 db rule" probably would suffer from the clipping, rather, a range from 10 dbpsl to 90 dbpsl may be needed?)


text:
Burn metadata onto a picture
I have a lot of JPEG photos taken by GoPro. All the photos have metadata on them, but I want that metadata to be displayed on the picture. I can view metadata in the properties of photo, but I want to see it in the photo as well.
Please guide me if there is any way to do this.
Thanks

Maybe you will consider to use viewer which will display the image meta info w/o changing the original photos?


text:
ffmpeg - pause video after 1 second
How can I use ffmpeg to create a video such that it pauses after 1 second but retains the full duration of the video? i.e. I am not looking to trim it. For example
ffmpeg -i "input.mp4" pause=00:01:00 "output.mp4

I tried this from but it did not work. https://superuser.com/questions/1071369/ffmpeg-pause-video-every-10-seconds-for-3-seconds Any suggestions?
ffmpeg -i "test.mp4" -filter_complex \
       "[0:v]split=2[v0][v1]; \
        [v0]trim=start_frame=0:end_frame=1,loop=90:1:0,setpts=N/FRAME_RATE/TB[0v]; \
        [v1]trim=start_frame=1:end_frame=301,loop=90:1:299,setpts=N/FRAME_RATE/TB[1v]" \
       -map "[v]" "test.mp4"

if input has audio, you can overlay by this way: ffmpeg -i input.mp4 -filter_complex "[0:v]trim=0:1[0v];[0:v][0v]overlay" out.mp4

authors: Баяр Гончикжапов


text:
ffMpeg recording one input into 2 files with one encoder process
need some help after trying days on this. I'm able to process one input to two outputs with two encodings:
ffmpeg -f dshow -i video="Integrated Camera" -c:v mpeg2video -b:v 50000k -vf "scale=1920:1080" -an -flags +global_header -f segment -segment_time 60 -segment_format mxf -strftime 1 -reset_timestamps 1 -minrate 50000k -maxrate 50000k -bufsize 50000k "C:\ffmpeg\Master\Master_%Y-%m-%d_%H-%M-%S.mxf" -b:v 50000k -vf "scale=1920:1080" -an -flags +global_header -f segment -segment_time 60 -segment_wrap 3 -segment_format mxf -reset_timestamps 1 -minrate 50000k -maxrate 50000k -bufsize 50000k "C:\ffmpeg\Backup\backup_%02d.mxf"

But when i try to do something to get rid of the second encoding and working with "tee" filter, i run into the problem that the other filters will not work anymore. If i run this without the extra filters:
ffmpeg -f dshow -i video="Integrated Camera" -c:v mpeg2video -an -f tee -map 0:v -an "Main.mxf|[f=mxf]Backup.mxf"

This works but trying to add this filters after the -f tee filter will lead into an error. As well to define this before the tee filter will not work due to different filter settings in segmentation.
I think the way how it could work is to split the output and use afterwards the tee filter. But i wasn't able to do. Maybe someone could help me here.
Best
Francois

How did you add the extra filters in tee.


text:
FFprobe not showing frames data
As a beginner I don't know much about ffprobe and other video editing command line tools. Please guide me here.
I am trying to download a video with yt-dlp and trim it to the nearest key-frame of my starting interval.
That is, lets say, I want "https://www.youtube.com/watch?v=mZqWloHCjyY" this video from 00:04:30 to 00:04:40.
yt-dlp -o "output.%(ext)s" -S "res,asr,+abr,+size" --external-downloader ffmpeg --external-downloader-args "ffmpeg_i:-ss 00:4:30.00 -to 00:4:40.00 -avoid_negative_ts make_zero" https://www.youtube.com/watch?v=mZqWloHCjyY //to download the video
After download I am trying to get some information about 'only the first frame',
ffprobe -read_intervals "%+#1" -select_streams v -show_frames "output.mp4"

But there is no output.
Now if I remove -read_intervals "%+#1" I am getting information of all the frames.(But I want only first frame info)
Also I noticed if I use hard coded URL of video which I get with this command,
yt-dlp -S "res,asr,+abr,+size" --get-url https://www.youtube.com/watch?v=mZqWloHCjyY

Then after I can get 'only the first frame data' with previous -read_intervals "%+#1".
ie now ffprobe -read_intervals "%+#1" -select_streams v -show_frames "URL from previous command" works


text:
ffmpeg: possible to encode zerolatency stream with only P frames?
I'm experimenting with extracting motion vectors from h.264 videos for some vision task and I was wondering whether it's possible with ffmpeg to encode a h.264 stream so that it consists only of P-Frames with all macroblocks being temporally predicted (so that all blocks contain motion vectors)?
If so, how?

Initial frame will be IDR. For the rest, set scenecut to 0 and keyint to a very high number.


text:
Why is my rendered video output larger than imported files?
I have imported multiple video files (roughly 3h30min / roughly 11GB).  I have stripped out the Audio and reduced my total cuts to roughly 2m12sec.  I have tried multiple render video output formats, ideally .mp4.
Note:  I understand the Re-scale and Customer Quality options.
My question is:
Why is my default output for a 2 Minute file 12.4GB for a 2min12sec file?  This is larger that the 3h30 min RAW footage I started with.  Can someone confirm this is correct or way off.  If way off, please provide some options for correction?
Thank you very much,


text:
Use of FFMPEG (compiled exe, not linked DLLs) on a commercial closed-source Windows program
I would like to use FFMPEG compiled .exe files in my commercial Windows OS application and I am wondering if it can be used commercially mainly if:
a) The compiled ffmpeg.exe is distributed with the application
I will include ffmpeg.exe binary (got from official Windows builds URL) in the application setup file and it will be copied in the same application folder when installed, so the application will run it to perform video conversion tasks.
Or:
b) The compiled ffmpeg.exe is downloaded from the official Windows builds URL
In this case the setup file of the application will automatically download ffmpeg.exe while the program is being installed (or I can show a window with like "Downloading FFMPEG .exe file...") and then it will be copied in the application folder, so the application will run it to perform video conversion tasks.
I will not use the static linked libraries (dlls) and with option b) I can even not directly distribute ffmpeg.exe file but it will be downloaded from the official URL for Windows builds during installation of the application. In both cases I will write "This application uses FFMPEG" in the application's footer and it will link to FFMPEG website.
Will a) and/or b) case be fine?
Additionally, will I need to buy x254 and x265 licenses also for the above cases?
Thank you everyone.


text:
Project: Use smartphone as webcam, add AR-filters to videostream, send output as feed to smartphone for further usage within mobile app
If the title is leaving you with a big "!!?!" then... my bad... I am lacking the needed vocabulary I guess. lol PLUS... I don't know if what I am trying is even feasible.
Here's what I want:
I am using an app on my mobilephone, within which I can create a live stream - just like twitch, yt, ig, ... you name it. Since I am using the phone for the video, I am basically setting it up like a webcam, which makes it kinda hard to still take part in the chat. Additionally I want to add AR-effects to my video, which this app doesn't provide by itself.
✅ Goal 1: I wanted to remote control my smartphone from my Laptop to be able to use the chat, while my phone was setup for the stream. I am using an open source tool (scrcpy) to mirror my android phone to my laptop. So this step is covered.
⏳ Goal 2: Unfortunately said app offers very limited filters and no AR to make the streaming experience more entertaining. Which is why I came up with the idea of using tools on my laptop that use my smartphone as webcam, pimp the videostream with AR effects, which then is sent to my mobile as kind of default camera output(?), in order for said streaming app to recognize that incoming stream as default video source.
Here's what I've tried:

OBS Studio allows me to use my smartphone as videosource as if it was a webcam.
I am using a 2nd tool that recognizes the video output from OBS studio (virtual camera) and adds effects to it.
Now I want to use this video output as video source for my app on my smartphone when I start a stream.

OR...
Is there maybe a different and simpler solution to this?


text:
Video (generated with FFMPEG) scrambled in Chrome after upload to YouTube
I am generating short videos from screenshots (e.g. 900 screenshots for a 30 seconds clip) with ffmpeg.
It works great and I can play the videos in different video players on Windows without a problem. When I upload the video to my YouTube channel it still works fine in the small preview under studio.youtube.com. But as soon as I preview the video on YouTube the whole video is "scrambled" (see attached image).
Other YouTube videos uploaded by other users play fine in my Chrome.
I am using Chrome and if I deactivate Hardware Acceleration in Chrome settings the video plays fine on YouTube. But that obviously is not a viable solution. Users should be able to watch the videos on YouTube without changing settings.
The video also plays fine in the Android YouTube app and in Firefox on Windows.
I have tried a lot of settings for ffmpeg - no success.
This is one of the commands I have tried. The parameters are supposed to be according to YouTube's best practice requirements:
ffmpeg -r 30 -s 1080x1920 -i storage/screenshot-%03d.jpg -pix_fmt yuv420p -c:v libx264 -profile:v high -preset slow -crf 18 -g 30 -bf 2 storage/testvideo.mp4

Has anybody experienced this problem with ffmpeg generated YouTube videos on Chrome and solved the problem? Any idea appreciated.


text:
Annotating files with ffmpeg and concatenating problem
I annotate a bunch of files with:
ffmpeg -i migrant.mp4 -vf "drawtext=text='Migrant':fontcolor=white:x=100:y=100:font=Arial:fontsize=50" -codec:a copy migrant_test.mp4

I then concatenate them with:
ffmpeg -f concat -safe 0 -i list.txt -c copy output.mp4

I get errors during concatenating and the output has lots of problems.
If I concatenate the original files, there is no problem in the output


text:
ffmpeg Output file #0 does not contain any stream during the extraction of audio from a .webm file
my objective is to extract frames and corresponding audio from a .webm file. Then crop the faces shown in those frames and resize the cropped images to 256x256 and concatenate them back to a video with that specific audio.
To make it more clear,

Extract the required frames from the video and their corresponding audio.
Crop the faces of those frames and resize them to 256x256.
Concatenate the faces back to a video with the corresponding audio.

The problems come at stage 1 and 3.
For instance, I am extracting the frames using the following command:
ffmpeg -loglevel error -i /download_youtube/_5rNOD1nsDg.webm -vf "select=between(n\,576\,768),setpts=PTS-STARTPTS" -qscale:v 1 -qmin 1 -qmax 1 -vsync 0 extracted_hq_results/_5rNOD1nsDg/Clip+_5rNOD1nsDg+P0+C0+F575-769/%08d.jpg
It will give me the images of the video from the frames.
When I try to extract the audio from the .webm.   ffmpeg -i _5rNOD1nsDg.webm -vn -y -ar 44100 -ac 2 output.wav
I get something like below and there is not any .wav file generated.
 Input #0, matroska,webm, from '_5rNOD1nsDg.webm': Metadata: encoder         : google/video-file Duration: 00:10:08.96, start: 0.000000, bitrate: 18219 kb/s Stream #0:0(eng): Video: vp9 (Profile 0), yuv420p(tv, bt709), 3840x2160, SAR 1:1 DAR 16:9, 25 fps, 25 tbr, 1k tbn, 1k tbc (default) Output #0, wav, to 'output.wav': Output file #0 does not contain any stream
My question is how can I use ffmpeg to extract audio given a range of time or frames I want from a .webm file.


text:
FFMPEG Encoding to prores 4444 with alpha doesn't retain original alpha
I'm trying to convert an rgba png to prores 4444 with an alpha. When I run the following command it will create prores file with an alpha. But, the alpha is full white, it doesn't retain the values I put in.
ffmpeg -start_number 1001 -r 24.000 - "pngWithAlpha_%06d.png" -c:v prores_ks -profile:v 4 -alpha_bits 16 -y "proresWithAlpha.mov"

I've tried this with both FFMPEG 4.2.2 and 6.0.0 on a linux system, I'm not sure if I'm doing it wrong or if it is a bug.
Looking at this post it seems it should be possible (they're complaining about quality not a fully missing transfer of the alpha).
I would expect it to pass the alpha straight through but it doesn't. I used alpha_extract to copy the alpha in to the rgb to confirm I'm able to read the alpha from the png, which worked. But the alpha was still full white.


text:
I found this old video on my computer and there's some sort of corruption? Please tell me what this is
The video format is .avi. It was recorded with an unregistered copy of Hypercam 1. I don't know exactly what kind of effect this is.
Video

Video appears to be unavailable.


text:
How to mount Sony FR7 to Wall
I'm trying to mount this PTZ camera to the side of the wall not the ceiling or on a pole.
On the side of the wall is there a good way of doing this?
I've looked at Sony's Documentation and they only offer a guide on Upright in a High location or a Ceiling mount solution


text:
What video editor should I use for this or what style of video is this called?
I really like this explainer video put together on Bukowskis:

It's simple with a lot of still images and minimal animations.
Does anyone know what video editing program I can use to make this kind of video? And does this style of video have a name - so I can look for tutorials on making some of these?

Almost certainly After Effects.  Start by playing with https://www.videocopilot.net/basic/ and go on from there. Just because it looks simple doesn't mean it was made with simple software!


text:
Video converted with FFMPEG cannot be played
I am developing a function that converts RTSP files to HLS and displays them in a web browser (chrome). Development is node.js, I am using ffmpeg.
The part that is converted to HLS and displayed on the screen plays well without any problems. Video cannot be played the moment the folder is changed for file management.
This is the existing working ffmpeg code and m3u8 code.
ffmpeg -rtsp_transport tcp -i rtsp://210.99.70.120:1935/live/cctv001.stream -c:v copy -f hls -hls_time 1 -hls_segment_type mpegts -hls_flags delete_segments+independent_segments+omit_endlist -hls_list_size 0 -master_pl_name playlist.m3u8 -hls_segment_filename /Users/name/Movies/cam/1/hls/1684560902700_%06d.ts -var_stream_map v:0 /Users/name/Movies/cam/1/hls/1684560902700_playlist.m3u8

Local Path : /Users/name/Movies/cam/1/hls/1684560902700_playlist.m3u8
EndPoint : http://localhost:3000/video/cam/1/hls/1684560902700_playlist.m3u8
 #EXTM3U
#EXT-X-VERSION:6
#EXT-X-TARGETDURATION:2
#EXT-X-MEDIA-SEQUENCE:0
#EXT-X-INDEPENDENT-SEGMENTS
#EXTINF:2.000000,
1684560902700_000000.ts
#EXTINF:1.969000,
1684560902700_000001.ts
#EXTINF:2.000000,
1684560902700_000002.ts
#EXTINF:2.015000,
1684560902700_000003.ts

This is the ffmpeg code and the m3u8 code with the path added.(Video not played)
ffmpeg -rtsp_transport tcp -i rtsp://210.99.70.120:1935/live/cctv001.stream -c:v copy -f hls -hls_time 1 -hls_segment_type mpegts -hls_flags delete_segments+independent_segments+omit_endlist -hls_list_size 0 -master_pl_name playlist.m3u8 -hls_segment_filename /Users/name/Movies/cam/1/hls/1684561736286/cam_%06d.ts -var_stream_map v:0 /Users/name/Movies/cam/1/hls/1684561736286/playlist.m3u8

Local Path : /Users/name/Movies/cam/1/hls/1684561736286/playlist.m3u8
EndPoint : http://localhost:3000/video/cam/1/hls/1684561736286/playlist.m3u8
#EXTM3U
#EXT-X-VERSION:6
#EXT-X-TARGETDURATION:2
#EXT-X-MEDIA-SEQUENCE:0
#EXT-X-INDEPENDENT-SEGMENTS
#EXTINF:1.986000,
cam_000000.ts
#EXTINF:1.984000,
cam_000001.ts
#EXTINF:2.000000,
cam_000002.ts
#EXTINF:2.000000,
cam_000003.ts

The difference is the file name and the folder created one step further.
If you change POSIX from file name to folder name, you will not know the problem of not playing the video. Can someone please explain this?


text:
How to with single ffmpeg command (= single seek through the input file) cut into segments and concatenate some of them into several output files?
Starting with a single input video (with no audio), suppose I'm interested in time segments [a,b], [b,c], [d, e], [f,g], [h,i], ... where the letters are some timestamps. I am looking for an ffmpeg command that will create output files where each one is a concatenation of specified time segments, say 1.mp4 is [a,b]+[b,c], 2.mp4 is [d, e]+[f,g]+[h,i], ... such that the input video is seeked through only once; that is, seeking is O(1) w.r.t. the number of segments and/or output files and so seeking time is solely dependent on the length of the input video, not how it's cut. Thanks.


text:
Command to get only one audio track in output specified by language code with ffmpeg
Ffmpeg Command to get video with only English audio or only one language audio
I tried running ffmpeg -i input_video.ext -map 0:v -map 0:a:language=eng -c:v copy -c:a copy -map_metadata -1 -sn output.mp4
But the output file I got is 0 byte. So can anyone tell me the write command.
I want to get video with only one language audio, I specify with code like eng, hin etc. With subtitles removed and x264 and .mp4 format! I tried getting .mkv which seem to be successful I don't know whats problem in getting .mp4


text:
Horrendous performance in After Effects
Some 20 years ago I used BSPlayer and some other audio players. They came with visualizations that displayed audio histogram in a variety of shapes and forms. It all worked in real time, for stereo, simultaneously with the audio playback, and only used a small fraction of the CPU cycles (about 5%).
Fast forward 20 years, I am rendering the same thing in After Effects. It is a very simplistic audio histogram visualization, in mono, in monochrome, about 300x300 pixels. And this renders at 1/5 real time, using 100% of only 1 CPU core (because Adobe did not bother to implement SMP).
Over the 20 year that've passed, the CPUs have allegedly grown in performance about 100-1000 times, let's say 500 on average, depending on what you consider. So, what factors limit After Effects to 1/50,000 of the performance of the olden days' BSPlayer visualization?


text:
How to Stabliize Video when foreground and background are similar?
I have a video of a lizard. The lizard matches its environment very well making it difficult for predators and algorithms to distinguish it from the background. I've tried using 3 different online video stabilizers and none of them work. I have no access to any commercial video processing software. I do have MacOs (Sierra) and Linux (Ubuntu). What can you suggest?


text:
GoPro 11 video colour fades after export
I recently bought a GoPro Hero 11 Black Camera. It records 5.3K quality videos, which is crips and rich in colour. But whenever I try to edit and export using any known video editor, it simply fades a little and lose its punchy colour. I tried using Filmora X and Powerdirector 19. Both are producing exactly same result and both are capped at maximum 4K resolution. Could anyone tell me how to keep the colour from getting faded? I'm new to GoPro and video editing. Please !


text:
FFPLAY, video shouldn't play automatically
I have a few seconds of videos. I want one that loads the first cube and waits. Immediately issuing the pause command from the keyboard, it no longer shows that. What parameters should I use for this?


text:
Problems with rendering in davinci resolve
After rendering the movie, strange frames periodically appear, as in the picture


text:
Resolve continuous computer freezing with Nvidia RTX 2080 and "Nvidia Studio Driver"
I am experiencing continuous computer freezes when using Resolve. Normally it happens when I am playing the video or moving the cursor over the timeline, and the computer stops working - it is not a crash, it freezes the whole computer, so I hear the uncomfortable robotic sound of the video stuck, playing the same millisecond.
I have upgraded to the latest v18.1.4 and I have upgraded my Nvidia Studio Driver but the problem is still there. It makes editing very tedious, as at any time my computer might freeze and I have to reset it to start again, sometimes losing work progress.
My computer is not bad to not be able to cope with the load of the videos. I have M.2 drives, 32 GB RAM and a Nvidia RTX 2080. And the error seems to happen even with a few videos, nothing really demanding.
I am getting out of options for a solution.

I assume this is unrelated, but when I start Resolve, I often see this screen:

Then I have to go to the menu option:

Change it:

And then close and start again Resolve.
This time works. But the next time I use it, Resolve complains again of the very same thing. Like if it was not able to save the configuration.


text:
mp4 videos not supported by powerpoint
I have used ffmpeg-2022-05-26 to convert simple .avi to .mp4 and these videos get supported on almost all platforms, including PowerPoint. When I updated ffmpeg to the version released around 2023-05-31, using the same conversion code, the mp4 videos are not supported by PowerPoint. Any suggestions will be helpful.


text:
Replace MP4 I-Frames with a placeholder
I have an MP4 file which I want to manipulate on a hex basis, without re-encoding. More specifically I want to replace the I-Frames of the MP4 file with a kind of placeholder code.
What I want to do with the MP4 file:
The video.mp4 is basically a hex file which I want to manipulate as the following.
-video.mp4 viewed as hex-
I-Frame-Code
....
P-Frame-Code
....
I-Frame-Code
....
What I want to accomplish is:
-video.mp4 viewed as hex-
Placeholder-Code
....
P-Frame-Code
....
Placeholder-Code
....


text:
File format and player for synchronized dual video tracks?
I often need to take a desktop capture video, and then simultaneously capture something else with a video camera; and then I want to watch the two synchronized recordings simultaneously.
For simplicity's sake, let's assume that both videos have been processed, so they have the same resolution (say 1280x720 pixels) and same framerate (say 25 fps) - and they have been synchronized, in the sense of being clipped, so they both start at the same "absolute" (or "calendar") time.
Is there a video file format, that would allow me to store these two videos as two independent streams - and is there a video player that could play this kind of format, that would allow for the following:

At start, the player would show the two video streams side-by-side playing simultaneously - it might look like this in a 640x480 player window size (images generated from https://vioso.com/testpattern-generator/):

Then, if I click a button or otherwise issue a command to the player, I can choose that I look only at the first stream, while playback time continues - so it would look like this in a 640x480 player window size:

... and, if I again click a button or otherwise issue a command to the player, I can choose that I look only at the second stream, while playback time continues - so it would look like this in a 640x480 player window size:

... and of course, I should be able to go back to the "side-by-side" view again (while playback time continues) by issuing a command (clicking a button) to the player.
Is there any video file format and video player (hopefully, cross-platform; JavaScript/web based would be fine too) that would support something like this?


text:
Live Streaming a Live Event
TLDR: What do I need to do to set up a decent quality live stream of a live event? I'm talking gear, setup, the whole thing.
I'm no stranger to video production but I'm getting an increased amount of requests for live streaming events (both within the company I work for and externally) and I'm not 100% sure of the best way to go about setting this up. I'm going to try and break down a few of the assumptions and questions I've got in the hopes that someone will be able to answer them for me.
The most common request I have is:

"Can we Live Stream this event that we're hosting for people who can't attend?"

Obviously the answer is "Yes - how much do you want to spend?" so let's assume that they don't want to spend much and I've not got a huge pot of money to buy new kit.
AFAIK I'll need: a camera to film the event (could be as simple as a webcam but I've got a DSLR that I'd like to use), some way of capturing sound (events typically have presenters that are miked up so perhaps I can pull audio off the mixer?), a laptop to run the A/V feed through (possibly a capture card or some sort of switcher, too?), streaming software (I'm thinking OBS or similar) and finally the stream provider (Zoom, for example).
Here're the questions:

What else do I need to consider?
Do I need a capture card or can I just run HDMI from the camera?
How do I get live sound from the mixer without compromising the live event?
Do I run the sound via the camera or via a recorder to the laptop?
Do I need an external switcher or will OBS software solution do the job just fine?

Thank you in advance, sorry this is a bit of a beast of a question!


text:
How to convert/tag my video file so YouTube correctly identifies and displays it as 360 video
I have the following videofile (uploaded as is):

Which is a static timelapse of panorama photo's that spans a horizontal 360 degree field of view(and about a 40 degree vertical one), where the far left side of the frame would wrap to the far right side. I would like to convert/tag it to a proper 360 format to be recognized by YouTube and other applications.
I have tried importing it into Premiere Pro and creating a Equirectangular Monoscopic VR sequence and exporting it as a VR file which failed processing on Youtube after uploading. I have also tried passing it through ffmpeg first using the 360 filters, but I honestly don't know which format/projection I currently have(if any?) and what I should convert to.

How can I correctly convert my file, ideally using the tools I own/know (ffmpeg, Premiere Pro, Davinci Resolve)?


text:
unable to record desktop using latest gstreamer in ubuntu 22.04
I can broadcast my desktop to a rtmp server successfully using
gst-launch-1.0 ximagesrc use-damage=0 show-pointer=false ! video/x-raw,framerate=30/1 ! videoconvert ! queue ! x264enc ! queue ! flvmux name=mux ! queue ! progressreport ! queue ! rtmpsink sync=false async=true location="rtmp://xxxxxx" pulsesrc do-timestamp=true device="alsa_output.pci-0000_00_1b.0.analog-stereo.monitor" ! queue ! audioconvert ! queue ! voaacenc bitrate=128000 ! queue ! mux.

But If I try to do same using hw acceleration vaapi then it does not work !!
gst-launch-1.0 ximagesrc use-damage=0 show-pointer=false ! video/x-raw,framerate=30/1 ! videoconvert ! queue ! vaapih264enc dct8x8=true cabac=true rate-control=cbr bitrate=1000 keyframe-period=30 max-bframes=1 ! queue ! flvmux name=mux ! queue ! progressreport ! queue ! rtmpsink sync=false async=true location="rtmp://xxxx" pulsesrc do-timestamp=true device="alsa_output.pci-0000_00_1b.0.analog-stereo.monitor" ! queue ! audioconvert ! queue ! voaacenc bitrate=128000 ! queue ! mux.

It is just stuck at below if i use hw acceleration:

letting pipeline to PAUSED ... Pipeline is live and does not need
PREROLL ... Got context from element 'vaapiencodeh264-0':
gst.vaapi.Display=context,
gst.vaapi.Display=(GstVaapiDisplay)"(GstVaapiDisplayGLX)
vaapidisplayglx0"; Pipeline is PREROLLED ... Setting pipeline to
PLAYING ... Redistribute latency... New clock: GstPulseSrcClock


text:
Producing 3D video for Apple’s Vision Pro headset
What format will 3D video on Apple’s new Vision Pro headset take? What are the recommended specs and processes for creating 3D video for the headset?

Sign up for the devkit in July & you'll have all the info you need - https://developer.apple.com/visionos/


text:
Use ffmpeg to record from RTSP stream to two outputs at different resolutions while segmenting the video based on time
I need to record from an RTSP at two different resolutions (original and something lower). I also need to have the files broken up according to clock time on every even 30 minutes, ex. 1:00, 1:30, 2:00, etc.
I imagine the command would look like this.
ffmpeg -rtsp_transport tcp -i rtsp://<rtsp url> \
  -filter_complex "[0:v]split=2[v1][v2];[v1]scale=1920:1080[out1];[v2]scale=448:252[out2]" \
  -map "[out1]" \
  -c:v -an -vcodec libx264 \
  -f segment -segment_format mp4 -segment_time 00:30:00 -strftime 1 \
  /mnt/data/original-%Y-%m-%d-%H.%M.%S.mp4 \
  -map "[out2]" \
  -c:v -an -vcodec libx264 \
  -f segment -segment_format mp4 -segment_time 00:30:00 -strftime 1 \
  /mnt/data/low-reso-%Y-%m-%d-%H.%M.%S.mp4 \

Of course, this doesn't work. The command above gives me this error.
[NULL @ 0x556c999c2140] Unable to find a suitable output format for 'segment'
segment: Invalid argument

I've tried so many perturbations of this command to get it to work without any luck. Does anyone know how to do this?


text:
Why is ffmpeg modifying my 5.1 channel layout?
I have an AC3 sound file in 5.1 surround, and an MOV file with no sound. I am using FFMPEG to add the sound to the MOV file, and although it works succesfully, for some reason it is modifying the layout of the sound channels, and looking at the audio waveforms it even looks as though it may be mixing them, which is very worrying.
The layout of audio channels in the AC3 file is: L, R, C, LFE, Ls, Rs.
Here is the command I am using to combine them:
ffmpeg -i [path to MOV] -i [path to AC3] -c:v copy -c:a copy -map 0:v:0 -map 1:a:0 [path to output MOV]

When I look at the final MOV (with sound added) in Mediainfo, the layout of audio channels has changed to: L, C, R, Ls, Rs, LFE. And again, as I shared above when I look at the waveform of the 6 audio channels in the new MOV not only are they out of order, but one of them looks unfamilliar compared to the original AC3 file, which leads me to believe it may even be doing some mixing?
What am I doing wrong? Do I need to add more specificity to my command to preserve the audio's integrity?


text:
How identify whether HDR video is HDR10(+) or Dolby Vision?
There has been questions like this in the past, but as the topic states, can one diffrentiate a HDR video whether it is HDR10-compatible or Dolby Vision compatible, or both, with tools such as ffprobe and or mediainfo.


text:
hevc transcoded video not playing in safari
I transcoded a video with ffmpeg to hevc using the below command.
ffmpeg -i input.mp4 -c:v libx265 -crf 23 -preset medium -x265-params keyint=60 -c:a aac -b:a 128k -f hls -hls_time 10 -hls_segment_type fmp4 -hls_playlist_type vod -tag:v hvc1  -single_file 1 playlist.m3u8

ffmpeg version: 5.0.1
The output is playing fine in chrome but not in safari.
I found from apple support community that fmp4 should work fine in safari. I tried with different tags, presets and x265 params but I can't make it work.
I want the output to be hevc hls and it should be playable in safari and chrome. Any help is really appreciated.


text:
ffmpeg: how to encoded video using AMD VCE h265 + encoded the 2nd audio stream as AAC + burn-in the 2nd subtitle stream?
As above. Thanks in advance!
PS. I'm on Windows.

This is the stream information as retrieved by ffprobe.
Program 1
Stream #0:0[0x1011]: Video: h264 (High) (HDMV / 0x564D4448), yuv420p(tv, bt709, progressive), 1920x1080 [SAR 1:1 DAR 16:9], 23.98 fps, 23.98 tbr, 90k tbn
Stream #0:1[0x1100]: Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, stereo, fltp, 192 kb/s
Stream #0:2[0x1101]: Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, stereo, fltp, 192 kb/s
Stream #0:3[0x1200]: Subtitle: hdmv_pgs_subtitle ([144][0][0][0] / 0x0090)
Stream #0:4[0x1201]: Subtitle: hdmv_pgs_subtitle ([144][0][0][0] / 0x0090)

I tried these commands as a start (got them by putting together various info from various guides and ffmpeg documentation)
//works but selects all audio and no subtitle (no warnings or error)
.\ffmpeg.exe -i my-video.m2ts -c:v hevc_amf -rc cqp -c:a libfdk_aac -map 0:a:1 my-video.mkv

//trying to select audio stream but getting warnings (see below)
.\ffmpeg.exe -i my-video.m2ts -c:v hevc_amf -rc cqp -qp_i 25 -qp_p 25 -c:a libfdk_aac -map 0:a:1 my-video.mkv

This is the warning for the 2nd command.
[out#0/matroska @ 0000011e505deec0] Codec AVOption rc (Bit rate control mode) has not been used for any stream. The most likely reason is either wrong type (e.g. a video option with no video streams) or that it is a private option of some encoder which was not actually used for any stream.
[out#0/matroska @ 0000011e505deec0] Codec AVOption qp_i (quantization parameter for I-frame) has not been used for any stream. The most likely reason is either wrong type (e.g. a video option with no video streams) or that it is a private option of some encoder which was not actually used for any stream.
[out#0/matroska @ 0000011e505deec0] Codec AVOption qp_p (quantization parameter for P-frame) has not been used for any stream. The most likely reason is either wrong type (e.g. a video option with no video streams) or that it is a private option of some encoder which was not actually used for any stream.


text:
In Fusion, how can I add a different coloured border around a shape?
I want to create a shape that has a border that is different from the shape's fill.
Here is an example of what I want to achieve in the end:

Please note that the image in the background is only an example to better demonstrate the transparency of the ellipse and its border. Also yes in this case it is not different colours, but I figure if I can do different colours, different opacities will be basically the same.
Now here is where I thought I was smart:

I have the same shape node feeding into a merge node and an outline node respectively, the latter of which also feeding into the merge node. I thought the outline node would allow me to pick a colour but sadly it doesnt. Now my next idea was to add some different node after the outline node that allows me to change the colour of the outline, however I am unable to find any ...
My current output is just an ellipse because the outline has the same colour (and in this case opacity) as the ellipse ...


text:
Trimming ffmpeg
I used this command to trim the video:
"ffmpeg -i input.mp4 -to 00:06:49 -c copy out1.ts ffmpeg -ss 00:07:13 -i input.mp4 -c copy out2.ts ffmpeg -i 'concat:out1.ts|out2.ts' -c copy output3.mp4"
This command works, but it causes the video to freeze for about 1 second wherever I trim it. I have attached a video below to provide an example of the freeze frame issue.
example : https://jumpshare.com/v/r510dpNflKUFJEFXQXlP


text:
How to print filenames when using MPV's EDL mode
I have an EDL file, which contains a bunch of different media files, along with timestamps in each file of when to start playback and playback duration, formatted for use by mpv.
As I understand it, mpv creates a virtual file of sorts from all these little segments and then plays that file. What I would like to know is if there is some way to get mpv to print each filename as it switches to a different file. I would like to see the filename from each segment as it plays.
At the moment when I run mpv playlist.edl, it prints the name of the first file in playlist.edl, but that filename stays as the segments in subsequent files are played.
Where should I be looking? A custom plugin? Should this be posted on an entirely different SE site? I'm a bit lost here.


text:
What does the FFMpeg afreqshift filter do precisely?
I was working to change the pitch of several audio files by a factor of 0.981818... and was trying to use FFMpeg, but now I have no idea what the afreqshift filter does or how it works. It seems to always reduce any frequency by a constant amount somehow, which basically makes music sound like that Mr. Incredible horrified meme music. I'm working on a potential different way to solve the pitch changing, but for now what IS this filter supposed to do, and how to properly use it?


text:
How do I pipe the output of mpv into FFmpeg on Linux?
I want to get the mpv output into FFmpeg, to utilize some mpv-exclusive shaders.
I am not sure if directly piping into FFmpeg is possible, or maybe an extra step in-between is needed.


text:
Compare 2 videos at different frames with ffmpeg
There is this nice ffmpeg command:
ffmpeg -i video1.mp4 -i video2.mp4 -filter_complex "[0:v][1:v]blend=difference,blackframe=1:10" -f null -

This command compares 2 videos but always at the same frame. Imagine I want to compare those 2 with 5 frames offset...like frame 0 of video1 with frame 5 of video2, is this possible with ffmpeg ?
I already tried:
ffmpeg -i video1.mp4 -i video2.mp4 -filter_complex "[0:v]select=gte(n\,0)[video1]; [1:v]select=gte(n\,5)[video2]; [video1][video2]blend=difference,blackframe=1:10" -f null -

but this command just starts the compare at frame 5 for both...
I had success with image compare of every frame (create image from frame - compare - go next frame) but that was taking forever if i have a longer clip due to creating and checking single images. cutting and reencoding is also no option due to quality loss and time.
I really appreciate any help, didnt find more on google and ai was useless :(


text:
Adding Subtitles to a VAAPI/QSV 10bit Accelerated Transcode
I've been converting some of my BluRays to watch on a streaming machine elsewhere in the house but I'm having trouble when it comes to burning subtitles, or more specifically, I'm having trouble figuring out what FFMPEG wants from me to make the process actually work.
It's easy enough to do this in software, but I'm using hardware decoding and encoding and that's where the complexity seems to come from (VAAPI/QSV for decoding, QSV AV1 for encoding).
I can use the following when dealing with SDR content:
-vf "scale_vaapi=w='min(1920,iw)':h=-8:mode=nl_anamorphic:format=p010le:extra_hw_frames=120,hwmap=derive_device=qsv,format=qsv"

And the following when dealing with HDR content:
-vf "scale_vaapi=w='min(1920,iw)':h=-8:mode=nl_anamorphic:format=p010le,tonemap_vaapi=format=p010le:t=bt709:m=bt709:p=bt709:extra_hw_frames=120,hwmap=derive_device=qsv,format=qsv"

But I cannot, in the hundreds of permutations I've tried now, find a single way to shoehorn subtitle baking into the process. I'm using SRT files for simplicity, so I just need to add subtitles=blah.srt somewhere to get it to work, but the crux of the issue is knowing where in the chain it needs to go and more importantly, what supporting arguments it needs with it (e.g. hwupload, hwdownload, and their associated switches, etc).
Pretty much every single attempt just results in:

Impossible to convert between the formats supported by the filter 'graph 0 input from stream 0:0' and the filter 'auto_scale_0'
Error reinitializing filters!
Failed to inject frame into filter network: Function not implemented

So, what am I missing?


text:
ffmpeg streaming via rtp reorders streams
I'm streaming a video using ffmpeg -i bbb.mp4 -c:v copy -c:a copy -f rtp_mpegts "rtp://239.1.1.1:8000". The command line output is:
ffmpeg version 4.3.6-0+deb11u1 Copyright (c) 2000-2023 the FFmpeg developers
  built with gcc 10 (Debian 10.2.1-6)
  configuration: --prefix=/usr --extra-version=0+deb11u1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --enable-avresample --disable-filter=resample --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libdav1d --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librabbitmq --enable-librsvg --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opencl --enable-opengl --enable-sdl2 --enable-pocketsphinx --enable-libmfx --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libx264 --enable-shared
  WARNING: library configuration mismatch
  avcodec     configuration: --prefix=/usr --extra-version=0+deb11u1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --enable-avresample --disable-filter=resample --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libdav1d --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librabbitmq --enable-librsvg --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opencl --enable-opengl --enable-sdl2 --enable-pocketsphinx --enable-libmfx --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libx264 --enable-shared --enable-version3 --disable-doc --disable-programs --enable-libaribb24 --enable-liblensfun --enable-libopencore_amrnb --enable-libopencore_amrwb --enable-libtesseract --enable-libvo_amrwbenc
  libavutil      56. 51.100 / 56. 51.100
  libavcodec     58. 91.100 / 58. 91.100
  libavformat    58. 45.100 / 58. 45.100
  libavdevice    58. 10.100 / 58. 10.100
  libavfilter     7. 85.100 /  7. 85.100
  libavresample   4.  0.  0 /  4.  0.  0
  libswscale      5.  7.100 /  5.  7.100
  libswresample   3.  7.100 /  3.  7.100
  libpostproc    55.  7.100 / 55.  7.100
Guessed Channel Layout for Input Stream #0.1 : 5.1
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'bbb.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    title           : Big Buck Bunny, Sunflower version
    artist          : Blender Foundation 2008, Janus Bager Kristensen 2013
    composer        : Sacha Goedegebure
    encoder         : Lavf58.45.100
    comment         : Creative Commons Attribution 3.0 - http://bbb3d.renderfarming.net
    genre           : Animation
  Duration: 00:10:34.64, start: 0.000000, bitrate: 4195 kb/s
    Stream #0:0(und): Video: h264 (Constrained Baseline) (avc1 / 0x31637661), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], 4094 kb/s, 25 fps, 25 tbr, 12800 tbn, 50 tbc (default)
    Metadata:
      handler_name    : GPAC ISO Video Handler
    Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, 5.1, fltp, 96 kb/s (default)
    Metadata:
      handler_name    : GPAC ISO Audio Handler
Output #0, rtp_mpegts, to 'rtp://239.1.1.1:8000':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    title           : Big Buck Bunny, Sunflower version
    artist          : Blender Foundation 2008, Janus Bager Kristensen 2013
    composer        : Sacha Goedegebure
    genre           : Animation
    comment         : Creative Commons Attribution 3.0 - http://bbb3d.renderfarming.net
    encoder         : Lavf58.45.100
    Stream #0:0(und): Video: h264 (Constrained Baseline) (avc1 / 0x31637661), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], q=2-31, 4094 kb/s, 25 fps, 25 tbr, 90k tbn, 25 tbc (default)
    Metadata:
      handler_name    : GPAC ISO Video Handler
    Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, 5.1, fltp, 96 kb/s (default)
    Metadata:
      handler_name    : GPAC ISO Audio Handler
Stream mapping:
  Stream #0:0 -> #0:0 (copy)
  Stream #0:1 -> #0:1 (copy)
Press [q] to stop, [?] for help

When I run ffprobe rtp://239.1.1.1:8000 (without restarting the stream), around one in ten times I get
Input #0, rtp, from 'rtp://239.1.1.1:8000':
  Duration: N/A, start: 411.533978, bitrate: N/A
  Program 1
    Metadata:
      service_name    : Service01
      service_provider: FFmpeg
    Stream #0:1: Video: h264 (High) ([27][0][0][0] / 0x001B), yuv420p(progressive), 1920x1080 [SAR 1:1 DAR 16:9], 25 fps, 25 tbr, 90k tbn, 50 tbc
    Stream #0:0: Audio: mp2 ([3][0][0][0] / 0x0003), 48000 Hz, stereo, s16p, 384 kb/s

Meaning that the video and audio streams swapped indices. I'm writing a program which uses libav where I rely on this to not happen. What is the reason for this and can it be fixed?


text:
using ffmpeg in linux, with vaapi, using filters, yuv420p colorspace is not correctly applied, green line, without hardware acceleration, no problem
I try to convert gopro videos applying software filters using hwaccel capabilities.
Using only cpu, I used to encode color space with this option -pix-fmt  yuv420p, otherwise a black&white video is produced with a vertical green line.
Now, using ffmpeg to decode video using hardware acceleration vaapi (hwaccel_output_format), then download video (hwdownload) to CPU to apply software filters (-vf ....), then upload to GPU (hwupload) to apply hardware encoding (hevc_vaapi).
ffmpeg   -hwaccel_output_format vaapi  -vaapi_device /dev/dri/renderD128 -f concat -safe 0 -i "./vids.txt"   -vf "hwdownload,format=yuv420p,eq=brightness=0.2:contrast=0.7:saturation=1:gamma=1,setpts=2*PTS,hwupload" -c:v hevc_vaapi  -rc_mode CQP -global_quality 21   video.mp4
video is produced as black and white with a vertical green line. It appears that yuv420p is not applied at all. I have tried a lot of things, I failed to produce a properly video with these software filters. What i am doing wrong? Is there any other parameter that i must use? or vaapi dont support yuv420p color space at all?
sample unconverted video from wetransfer for 7 days: here
(please add vaapi as tags)
ffmpeg version 5.1.3-1 Copyright (c) 2000-2022 the FFmpeg developers
   built with gcc 12 (Debian 12.2.0-14)
   configuration: --prefix=/usr --extra-version=1 --toolchain=hardened
 --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu
 --arch=amd64 --enable-gpl --disable-stripping --enable-gnutls --enable-
 ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b
 --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libdav1d
 --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-
 libfribidi --enable-libglslang --enable-libgme --enable-libgsm --enable-
 libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg
 --enable-libopenmpt --enable-libopus --enable-libpulse --enable-
 librabbitmq --enable-librist --enable-librubberband --enable-libshine
 --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libsrt
 --enable-libssh --enable-libsvtav1 --enable-libtheora --enable-libtwolame
 --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp
 --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzimg
 --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal
 --enable-opencl --enable-opengl --enable-sdl2 --disable-sndio --enable-
 libjxl --enable-pocketsphinx --enable-librsvg --enable-libmfx --enable-
 libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint
 --enable-frei0r --enable-libx264 --enable-libplacebo --enable-librav1e
 --enable-shared
   libavutil      57. 28.100 / 57. 28.100
   libavcodec     59. 37.100 / 59. 37.100
   libavformat    59. 27.100 / 59. 27.100
   libavdevice    59.  7.100 / 59.  7.100
   libavfilter     8. 44.100 /  8. 44.100
   libswscale      6.  7.100 /  6.  7.100
   libswresample   4.  7.100 /  4.  7.100
   libpostproc    56.  6.100 / 56.  6.100


text:
Software (Nuke 11.0.v1) quits unexpectedly Mac Pro 1.1 running macOS v10.11.6 (El Capitan)
I have tried several times to open the Foundry Nuke (11.v01). Nuke closes unexpectedly just after starting it. My MacPro meets the system requirements for that version of Nuke. Does it have something to do with the 32-bit EFI of MacPro Pro 1.1? With previous versions I don't have any problems.
When I’ve tried to launch Nuke in verbose or safe mode from the terminal, "Illegal instruction: 4" appears in both cases.
Process:               Nuke11.0v1 [47687]
Path:                  /Applications/Nuke11.0v1/NukeX11.0v1.app/NukeX11.0v1
Identifier:            uk.co.thefoundry.NukeX11.0v1
Version:               11.0.1.21 (11.0.1.21)
Code Type:             X86-64 (Native)
Parent Process:        ??? [1]
Responsible:           Nuke11.0v1 [47687]
User ID:               501
Date/Time:             2023-06-25 18:11:05.656 +0200
OS Version:            Mac OS X 10.11.6 (15G31)
Report Version:        11
Anonymous UUID:        17E24410-AF6D-B965-58B7-C01AF443E8F0
Sleep/Wake UUID:       F76F3A0D-82BB-429A-8A10-5579EF4A93F2
Time Awake Since Boot: 31000 seconds
Time Since Wake:       5300 seconds
System Integrity Protection: enabled
Crashed Thread:        0  Dispatch queue: com.apple.main-thread
Exception Type:        EXC_BAD_INSTRUCTION (SIGILL)
Exception Codes:       0x0000000000000001, 0x0000000000000000
Exception Note:        EXC_CORPSE_NOTIFY
Application Specific Information:
/Applications/Nuke11.0v1/Nuke11.0v1.app/Contents/MacOS//libcom-api.dylib
Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0   libcom-api.dylib                0x0000000111f78dc4 AAFObjectModel::SortDefinitions() + 276
1   libcom-api.dylib                0x0000000111f79fb9 AAFObjectModel::InitializeDefinitions() + 25
2   dyld                            0x00007fff665f810b ImageLoaderMachO::doModInitFunctions(ImageLoader::LinkContext const&) + 265
3   dyld                            0x00007fff665f8284 ImageLoaderMachO::doInitialization(ImageLoader::LinkContext const&) + 40
4   dyld                            0x00007fff665f48bd ImageLoader::recursiveInitialization(ImageLoader::LinkContext const&, unsigned int, ImageLoader::InitializerTimingList&, ImageLoader::UninitedUpwards&) + 305
5   dyld                            0x00007fff665f4852 ImageLoader::recursiveInitialization(ImageLoader::LinkContext const&, unsigned int, ImageLoader::InitializerTimingList&, ImageLoader::UninitedUpwards&) + 198
6   dyld                            0x00007fff665f4743 ImageLoader::processInitializers(ImageLoader::LinkContext const&, unsigned int, ImageLoader::InitializerTimingList&, ImageLoader::UninitedUpwards&) + 127
7   dyld                            0x00007fff665f49b3 ImageLoader::runInitializers(ImageLoader::LinkContext const&, ImageLoader::InitializerTimingList&) + 75
8   dyld                            0x00007fff665e9eb0 dyld::runInitializers(ImageLoader*) + 89
9   dyld                            0x00007fff665f1308 dlopen + 555
10  libdyld.dylib                   0x00007fff9c2de79c dlopen + 59
11  uk.co.thefoundry.NukeX11.0v1    0x000000010f851b54 mainLinux(int, char**, char const*, char const*) + 324
12  uk.co.thefoundry.NukeX11.0v1    0x000000010f851957 main + 23
13  libdyld.dylib                   0x00007fff9c2df5ad start + 1
Thread 0 crashed with X86 Thread State (64-bit):
rax: 0x0000000112216060  rbx: 0x0000000111f861b0  rcx: 0x0000000000000000  rdx: 0x0000000112216060
rdi: 0x00000001122070a0  rsi: 0x0000000112206fe0  rbp: 0x00007fff503abde0  rsp: 0x00007fff503abdb0
r8: 0x0000000112206fe0   r9: 0x0000000112216060  r10: 0x000000010f8a4a18  r11: 0x0000000000000000
r12: 0x00000001121b4a60  r13: 0x000000011220f610  r14: 0x0000000112219eb0  r15: 0x0000000000000001
rip: 0x0000000111f78dc4  rfl: 0x0000000000010206  cr2: 0x000000011215b050
Logical CPU:     0
Error Code:      0x00000000
Trap Number:     6
Heading
Heading