text:
Is there any way to play corrupted .MOV video file
Today I recorded presentation I gave to my development team, part of this recording was screencast. Right after I finished, screen capturing tool that I used collapsed and I was left with corrupted .MOV file (160Mb)
Here is header:
0000000      0000    1400    7466    7079    7471    2020    0000    0000
0000020      7471    2020    0000    0800    6977    6564    0000    0000
0000040      646d    7461    2021    4003    1c68    4e21    3bff    785a
0000060      d8ac    c326    6d06    bf0e    5c5d    0010    0000    2000
0000100      4c45    9987    9691    8948    9b15    dbfd    000e    0000
0000120      c700    c774    7541    a2c6    3fd5    8a92    7880    677d
0000140      ed57    87ff    b783    00ae    7dfc    7e6f    78f0    fbfe
0000160      0678    6839    eefb    230f    8ca7    0100    2387    977e
0000200      a44f    61e5    f5d5    073e    1d2f    88b7    0400    4bd7
0000220      0e3d    ef59    faef    d1f3    808d    6f00    dd67    1d37

Is it corrupted?
Is there any way to play such file?
I can not recapture my talk so I really hope you could help me.

I've had similar things happen with important videos, which I was a rare problem with photobooth. Yes I know, photobooth. But I had no luck fixing the file that was corrupted even even trying many different options. Hope someone knows though.

Found tiny tools called recover_mp4 , emailed it's author who modified it to conform my case. iShowYou suppor has not answer me yet.
There is also cool online tool called mp4repair that is frontend to video repair service.

Trying using a program called VLC, a lot of times it will play corrupt video clips but it may crash/and or stop playing around corrupt portion

I tried it with the file the OP linked to.  No go with VLC v2.0.3.

I thought about giving an answer like this, but with stuff I had recorded from screencapturing or from a webcam, VLC has not worked

@josh I had not seen that he actually linked the file, I will download and play around with it...travis, the problem with a lot and most screen capture software and photobooth is the frame rate is not a standered frame rate, all you have to do is try and open it in a software that only accepts legal frame rates and it could crash and currupt the file, which is why I tell people to stay away from cheap versions of these softwares and use quicktime webcam recording ect.  but if the file does not open with VLC you very well may be out of luck unfortunately


text:
How do you play a clip backwards in Sony Vegas?
While editing some vocals the other day, I accidentally hit a key in Vegas and the scrub head started going backwards, playing my audio in reverse. I wasn't trying to do this at the time and got it playing normal again. Today I was thinking that this could be useful when trying to find a point where the vocalist takes a breath. Rather than guess, split the clip and play from a few seconds earlier to hear if it is gone, then repeat the process, you could just set the play head past the breath, play it backwards and find the exact point that they start their breath.
Does anyone know the key you hit to play the scrub head backwards in Sony Vegas?
(This is not flipping the clip to play in reverse using "Right-click/Reverse", I don't need that, I just need the play head to play in reverse temporarily, like scrubbing it backwards)

I found something that might help clarify what I am looking for: If you drag the "Rate" arrows (bottom left corner of the timeline) to the left a little, it will read "-1.02" or whatever; I am looking for this effect with just a keystroke. thank you!

OK, one more example: Click the "Rate" arrows and then jog your mouse wheel up until it reads "-1.00" this is the EXACT effect I need, but the problem is this, when I move the mouse back into the timeline, it starts playing forward again... I need it to play like that until I specifically tell it to play forward again.

A bit off-topic, but is it possible to make a community wiki where it is explained for each major audio and video editor how to reverse footage?

That would be nice, but I personally have no experience with that sort of thing...

Found it!
You can press the "J" key to play in reverse. Each time you hit the "J" it will jump a full speed up to x4. If you want to jump by speeds of .25x, hold the "K" button and hit "J". While it is play backwards, hitting the spacebar will jump you back to where you started playing, and hitting "K" will stop you where you are.
To adjust playback speeds going forward, you can use the "L" key in the same manor.
To find the exact point where a breath is taken, you place the play head about where the breath starts, then hit "J", it will play backwards for a bit. Hit the spacebar and adjust the playback spot by hitting the left or right arrow, then hit "J" again. Once you are exactly where you want to cut the clip, hit "S" and you will split the clip right there.
(The arrows will jump one "frame" according to the frame rate of your project, even if it is an audio project. If it is set to 24 fps, it will jump 1/24th of a second forward or backward)

source: Stack Exchange

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

sort: votes


text:
Tool to clip segments of a video
newbie here,
I want to remove some segments of an MP4 video I have. Which easy to use tool would you recommend. Preferably free.
I'm using Windows.

Including the OS you are using is always useful information.

@LordNeckbeard: You're right. Just added.

I assume you want to extract sections. You can do this with ffmpeg which is multiplatform, open source, and free. This example will skip the first 12 seconds and create an output that is 10 seconds long. The video and audio will be copied instead of re-encoded, so there will be no quality loss.
ffmpeg -i input.mp4 -ss 12 -t 00:00:10.00 -c copy -map 0 output.mp4

What these options mean:

-ss Offset time, or how much to skip. Value can be in seconds, or hours:minutes:seconds:milliseconds.
-t Output duration. Value can be in seconds, or hours:minutes:seconds:milliseconds.
-c copy -map 0 Copy all input streams to the output.

Windows users can get FFmpeg from Zeranoe FFmpeg Builds. See the FFmpeg download page if you're using Linux or OS X for several options.

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


text:
Is it possible to convert a AVCHD video stored in a MTS file loss-less without recoding into a Blue-Ray video disk?
And if so which application is able to do that? I do not need menus.
Right now I copy the MTS files directly to a BD data disk, which can be played by a PS3. But I would prefer a standard BD video disk. But I do not want to recode the data. Is there any way?

Here you go, here is a list of applications on PC and MAC that open MTS files and can convert them to a more desirable file format.
http://www.fileinfo.com/extension/mts

I can open the files already with VLC. This was not the question.

Yea actually it does, you can use Toast to open the file then burn it to a BluRay Disc...or Roxio Creater on PC...you can also use any of those programs to convert the file as well


text:
Any way to batch stabilize video files?
I have a lot of videos that need stabilization... is there any way to batch stabilize them?
edit: I'm on Windows 7 64-bit. I don't think that what kind of software and footage do I have... I'm just looking for a program that can take a folder full of videos and batch stabilize them. VReveal kinda can do it, but I have to manually add each file to the queue, which is a chore

Could you maybe add more details? What sort of footage (panning, rotating, from a car, etc...)? What platform? What software do you have? How many footage?

Do all your video clips need the same kind of stabilization? E.G. in Sony Vegas Pro (video editor) there is a stabilization feature but has numerous parameters to set depending on if the source material is handheld camera, moving object within frame, pan, tilt, etc. It's hard for me to imagine a one stop process that fixes it all. Generally, stabilization is carefully applied in a trial and error manner to allow for each unstable shot to be stabilized.

I think the quick answer is no, not that there is not software to do it, but every clip is different and will need to be stabilized using different paramaters.
If you take the easy way you may realize that after the fact it took way longer in that it could be a step backwards rather than actually helping.
I would recommend editing the clips as is, then stabilize when you are finished, that way it is only stabilizing what is used which is a) faster, and b) more efficient as you may cut around large camera moves that could cause un needed blown up footage.  At this point you could do each clip using software like premiere, which has a 30 day free trial.  And at worst you would just need to apply it individually to each clip, and unless this is a feature, it cant take that much time.

FYI, Mercalli is a standalone tool for Windows that provides batch video stabilization

Note that this approach does appear to still require choosing some basic settings for each video, but it will run them as a batch operation.


text:
I can't buy a streak filter where I live. How do I go about making myself one for my DSLR?
Generally used to achieve the anamorphic 'streak' effect.

It's not on Youtube, so I can't embed it, but there is a nice tutorial here that looks like a simple, and very inexpensive method to achieve the streak filter.  (link is to vimeo)
Basically, you affix a piece of fishing line across the lens.


text:
What camera to use for classroom/lecture recording?
We want to install HD IP cameras in our classrooms to record lectures and make them available online.
We are having a hard time finding the right one. Most are geared towards surveillance.
Any recommendations?
Room size: large classroom seating about 70 students
Camera specs required: Audio/in for wireless microphone, 1080p, data transfer over ethernet.

What solution did you use? How far does the camera need to be from the teacher? How wide of a scene do you need to record (e.g., width of chalkboard so about 30 feet?) We're building something that might meet your needs, would love to hear what solution you chose.


text:
Video tutorials: how to add labels, comments, arrows etc
I'm planning to make a video tutorial about one application. I would like to make it without speaking, but I would like to add comments to video.
Is there a video software that allows you to add comments, labels, arrows etc.. to clarify and highlight some things in the video.
Wink seemed like one, but it is only available for linux as 32 bit binary.

My solution was to use Youtube's video editing tools to add annotations and comments. Thanks to other comments!


text:
How to make a video from a still image and an audio file?
I have an image file (png) and an audio file (aiff).  How do I combine them to make a video file that shows the still image and plays the audio file?
Target operating system: either OS X Lion or Ubuntu, using only free software, must be command-line driven (no GUI solutions please).  Thanks in advance!

I'm curious why you accepted my answer rather than Josh's more detailed answer that includes a how-to article. I don't mind the reputation points, but it seems like the other answer better addresses your question.

I do actually need the audio added to the video, so although I like the article, it doesn't solve my problem.  Even though your answer doesn't actually offer a ready-made solution, I prefer to accept one so as to boost my accept rating (making it more likely that others will continue to answer my questions).  Sadly this is a feature of StackExchange---it incentivizes askers to accept an answer, even if it doesn't completely answer the question.

I completely agree that you should make a point of accepting good answers, but when you do so is a matter of personal preference. I don't ask a lot of questions, so often like to give a weak answer 5-7 days before I accept it. AVP's traffic is light, and people don't seem shy about adding late answers, so it may not be a big deal.

related: https://superuser.com/questions/1041816/combine-one-image-one-audio-file-to-make-one-video-using-ffmpeg

To expand upon ObscureRobot's answer, use ffmpeg like so:
ffmpeg -loop 1 -f image2 -r 2 -i input1.png -i input2.aiff -c:v libx264 -c:a copy -shortest output.mp4

-loop 1 -f image2 -r 2 -i input1.png tells ffmpeg to loop input1.png forever, at a frame rate of 2fps. -c:v libx264 tells it to use x264 to encode the video, and -c:a copy tells it to simply copy the audio, without encoding. -shortest makes ffmpeg stop when the shortest input ends - input2.aiff in this case.

This article looks like it'll get you close.  Doesn't include the audio, but that honestly sounds easier than converting the images to video.
Excerpt:

ImageMagick and ffmpeg combined can be used to turn still images into
  video. Both ImageMagick and ffmpeg have been around for years, and are
  readily available as packages with most Linux distributions. The tips
  below allow you to convert images on the command line, which for a may
  appear to be time consuming, but once you know how to do it you'll
  find it much faster than using a GUI!

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


text:
Using ffmpeg to batch convert between different video formats, AND image formats
I found this extremely helpful batch script for Powershell (.ps1) file which I listed below:
$originalVids = Get-ChildItem *.ts -Recurse

foreach ($inputVid in $originalVids) {
    $outputVid = [io.path]::ChangeExtension($inputVid.FullName, '.mp4')
    ffmpeg.exe -i $inputVid.FullName -c:v libx264 -crf 18 -c:a aac -map_metadata 0 $outputVid
}

The thing I like the most about this script is that on the top line, you can change the *.ts to any video format you want (I've tested it with .avi, .mkv., .ts, and .wmv). The same is true about the output also, which in the above example is .mp4. Also, the script can be run from any folder, just drop the .ps1 file into the folder, right-click it and select Run With PowerShell.

My first question is how could I change it to specify an output
folder?
Also, how could I do the same for the origin file (specify a folder for the original file after the conversion is completed)?
My last question is, how might this be able to be altered to convert a video file into images?
But more specifically a GIF?

I want it all to be able to be done as a batch, so it can do multiple files at once, preferably keeping it's name.

These are 2 really unrelated questions. One is about powershell scripting: how to give it source and destination folders arguments, and how to modify variables (eg. to keep the file name but change the extension) etc. The other question seems to be about how to convert video to .gif images. You should probably keep only that second question here, with more specific details. And for the PS scripting question, you could try https://superuser.com or https://stackoverflow.com.

Ok, I'll try to get around to it soon, and I apologize for posting things in the incorrect places, I just assumed they were close enough together and tried to kill two birds with one stone. I'm just really bad when it comes to programming, languages, and honestly, screwing things up, sometimes pretty badly.

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


text:
Bulk re-muxing/re-encoding with ffmpeg in multiple folders
I'm quite new to the world of FFmpeg and video editing tools, but I essentially need to change the hash of a large set of videos that are organized in folders and subfolders and the easiest way I've come into is remuxing and/or re-encoding the video. Currently, I am using the program HandBrake to bulk re-encode videos in each folder from a .mp4 to a .mkv and that has done the trick. However, it is practically infeasible to do this for every single subfolder with hundreds of video files in each folder.
I have used FFmpeg briefly before and I'm wondering how I can best automate FFmpeg to search through each folder and its subfolders, find each .mp4 video, re-encode it to a .mkv, and then save it under the same name and path as the original video.
I've been reading through FFmpeg documentation to determine how this can be done, but I'm wondering if anyone here is experienced enough in FFmpeg to lend me a helping hand. Thank you very much

ffmpeg can do rewrapping to mkv. But for telling it which files to rewrap and how to name the new output files, you would use your shell's commands or a small script. Specify your OS, since the available shell's are different in Windows or in Mac/Linux.

Sorry about that. I'm on Windows 10!

On Windows, you have cmd.exe and powershell. In Mac/Linux, it would be something like find . -name "*.mp4" | while read f; do ffmpeg -i "$f" .... "${f%%mp4}mkv"; done. So you have to find the equivalent syntax for one of the Windows shells.

If you are on Windows use WSL (it might be Ubuntu) and then something similar as mivik mentioned.
cd TOP_DIRECTORY; find . -type f -iname "*.mp4" -exec ffmpeg -y -i '{}' -c:a copy -c:v libx264 -preset fast -profile:v baseline -pix_fmt yuv420p '{}.mkv' ;

I ended up using WSL and Ubuntu and used the following command after going to the correct directory:
find . -name ".mp4" -exec sh -c 'ffmpeg -i "$1" -codec copy "${1%.}.mkv" -hide_banner' sh {} ;
I had a problem where I was getting double extensions (filename.mp4.mkv) and found the following code online. It did the trick (I hope!) Thanks so much for your help!


text:
ffmpeg from 5.1 or 7.1 audio in separate mono streams to stereo
I have a file with 7.1 audio, where each channel is in a separate mono stream. How can I convert all these mono streams to plain stereo?
(The documentation suggests to use the -ac 2 option, but that is meant for converting 5.1 in one stream of 6 channels, not 8 separate streams)
The audio I have has the streams labelled, presumably correctly, so that might help:
$ mediainfo "$in" | egrep '^(Audio|Channel)'
Audio #1
Channel(s)                               : 1 channel
Channel layout                           : Lt
Audio #2
Channel(s)                               : 1 channel
Channel layout                           : Rt
Audio #3
Channel(s)                               : 1 channel
Channel layout                           : L
Audio #4
Channel(s)                               : 1 channel
Channel layout                           : R
Audio #5
Channel(s)                               : 1 channel
Channel layout                           : C
Audio #6
Channel(s)                               : 1 channel
Channel layout                           : LFE
Audio #7
Channel(s)                               : 1 channel
Channel layout                           : Ls
Audio #8
Channel(s)                               : 1 channel
Channel layout                           : Rs

Update:
In fact, the file I have is not 7.1, but Stereo + 5.1. So I already have the stereo tracks that I want, correctly labelled "Lt" and "Rt".
But there is still an aspect in the question which I would like to learn: how to convert 7.1 or 5.1 separate mono streams to a single stereo stream?

-ac 2 will work for any number of input channels. The example is just one use-case.


text:
ffmpeg - convert video to iDevice format, replace sound with normalized WAV file, while maintaining the original video quality?
I'm using this command line to extract the audio
$ffmpeg -i video.mkv -c:a pcm_s16le audio.wav

this is its output
ffmpeg version 1.0 Copyright (c) 2000-2012 the FFmpeg developers
  built on Oct  1 2012 10:47:52 with gcc 4.0.1 (GCC) (Apple Inc. build 5493)
  configuration: --prefix=/Volumes/Ramdisk/sw --enable-gpl --enable-pthreads --enable-version3 --enable-libspeex --enable-libvpx --disable-decoder=libvpx --enable-libmp3lame --enable-libtheora --enable-libvorbis --enable-libx264 --enable-avfilter --enable-libopencore_amrwb --enable-libopencore_amrnb --enable-filters --enable-libgsm --arch=x86 --enable-runtime-cpudetect
  libavutil      51. 73.101 / 51. 73.101
  libavcodec     54. 59.100 / 54. 59.100
  libavformat    54. 29.104 / 54. 29.104
  libavdevice    54.  2.101 / 54.  2.101
  libavfilter     3. 17.100 /  3. 17.100
  libswscale      2.  1.101 /  2.  1.101
  libswresample   0. 15.100 /  0. 15.100
  libpostproc    52.  0.100 / 52.  0.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'video.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    creation_time   : 1970-01-01 00:00:00
    encoder         : Lavf52.111.0
  Duration: 01:29:59.83, start: 0.000000, bitrate: 832 kb/s
    Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 720x406, 762 kb/s, 25 fps, 25 tbr, 25 tbn, 50 tbc
    Metadata:
      creation_time   : 1970-01-01 00:00:00
      handler_name    : VideoHandler
    Stream #0:1(eng): Audio: aac (mp4a / 0x6134706D), 48000 Hz, stereo, s16, 64 kb/s
    Metadata:
      creation_time   : 1970-01-01 00:00:00
      handler_name    : SoundHandler
Output #0, wav, to 'audio.wav':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf54.29.104
    Stream #0:0(eng): Audio: pcm_s16le ([1][0][0][0] / 0x0001), 48000 Hz, stereo, s16, 1536 kb/s
    Metadata:
      creation_time   : 1970-01-01 00:00:00
      handler_name    : SoundHandler
Stream mapping:
  Stream #0:1 -> #0:0 (aac -> pcm_s16le)
Press [q] to stop, [?] for help
size= 1012464kB time=01:29:59.82 bitrate=1536.0kbits/s
video:0kB audio:1012464kB subtitle:0 global headers:0kB muxing overhead 0.000004%

Then the audio is normalized and put back into the video file
ffmpeg -i video.mkv -i audio_normalized.wav -map 0:0 -map 1:0 -c:v copy -c:a libmp3lame -b:a 64k video_normalized.mkv

Sometimes the video won't play in my ipod touch, or plays muted
When that happens, I convert the video to AVI, with the same quality, wich gives a bigger file more often than not
ffmpeg -sameq -i video.mp4 video.avi

I just wondered whether there is a way to always change the container file to AVI with the same video quality and replace the sound with the normalized audio in one step

Why do you want AVI? It's dated and modern alternatives exist. Do not use -sameq.

@LordNeckbeard Normally I normalize the audio and play the video using iMediaPlayer on my iPod, but sometimes the video is laggy (MKV) or play muted (MP4), so I convert it to AVI because the convertion is rather fast, and -sameq give aceptable quality. I guess I could use other format suported by iMediaPlayer that can be converted fast by ffmpeg.

@LordNeckbeard I guess I can test several quality options and formats, to do the fastest conversion posible from MKV or MP4, while maintaining "approximately" the same quality.

Please update your question with the complete ffmpeg console output that you get from your first command. Once again, do not use -sameq. It does not mean "same quality" and this option has recently been removed from ffmpeg.

@LordNeckbeard I've added the output, but removed the metadata

The console output is missing stuff. I was interested in the ffmpeg version and the input and output file details. You should include everything except errors that repeat many times.

@LordNeckbeard added the missing stuff, it shows ver 1.0, and there is also the metadata

The video might be laggy because not all iDevices can natively decode High profile H.264, although it does not explain why the video would apparently play fine in MP4 container. Try AAC audio in MP4 and see if that is an improvement: ffmpeg -i video.mkv -i audio_normalized.wav -map 0:0 -map 1:0 -c:v copy -c:a aac -strict experimental -b:a 192k video_normalized.mp4 I increased the audio bitrate because the native ffmpeg AAC encoder, aac, isn't great at lower bitrates.

Thanks a lot... the video plays smoothly, I can accept your suggestion on the comment as the answer.


text:
Certain audio tracks not rendering
I'm not sure the best way to explain the scenario so I'll do my best, please don't hesitate to ask if I'm missing something obvious to help build the picture.
My problem is I've edited a video in Premiere (CS6) and when I export it part of the audio is missing and I cant seem to find any reason why.
The audio that is missing is at the start and end of the video, it's a stereo piece of music. The rest of the audio is mono (and renders out no problem). When I'm playing back the preview everything plays as expected, nothing seems to be muted or turned down. The settings on the export are set to match the quality of the music track that is missing.
Any ideas why I can't get that audio to render? It's really frustrating! Cheers.
EDIT: I've tried rendering in different formats and sample rates. No joy.

I'm not familiar with Premiere, anyway, a couple of things comes to my mind: what happens exporting only the audio, it plays as expected? have you tried exporting the video with mono audio to see how it plays? are the system audio settings configured properly (number channels/volume per channel/ballance)?

The file that isn't rendering out is a .wav with the following details:
 Source Audio Format: 44100 Hz - 24 bit - Stereo
 Project Audio Format: 44100 Hz - 32 bit floating point - Stereo

The rest of the audio that does render is from a quicktime avi.

Managed to dive in to it and root out the problem. Despite all the audio playing in the preview there was actually a channel solo'd in the audio mixer. I only noticed this when I ran an update on Premiere, de-authorised and re-authorised it (because of another issue that happened) the audio in the preview started to play back correctly as per the track solo status.
Thanks for those who looked at the question and tried to help.

In my case, it was lack of space on the drive with the Project (I did not recognize it). It probably could not somehow create the audio peak file. I created more free space and all audio tracks were exported correctly.


text:
How is the audio for a TV broadcasted football match recorded?
I am watching a TV broadcast from UEFA_Euro_2016. What surprises me is that I so a clearly hear the bouncing sound from the football when it is being kicked.
What techniques are used to record the audio from a football match?
Are there special requirements for the microphones that are specific for big sport events? Maybe they should be able to pick up weak sound that is almost drowned by a cheering supporter crowd.

The primary method of getting that "zoomed in" sound is using parabolic microphones. They are manually operated and usually carried by the operator listening just to the output of that microphone. The operator will isolate the specific player or object that they are to focus on.
Shotgun and other directional microphones are used to pick up more ambiance of the play while not picking up too much of the crowd. However, they aren't precise enough to capture a player's foot striking the ball.
Pressure zone microphones (PZM) are often placed on objects, like the goal, to capture the sound of the ball striking that object.
This article reviews mic'ing and mixing techniques for a few different sports, though not (non-US) football.


text:
How do I make a trimmed video show the missing frames from a Zoom recording using ffmpeg?
I have a Zoom video that I "cut" into two videos:
ffmpeg -i 0131.mp4 -ss 55 -t 38:52 -codec copy 0131-1.mp4
ffmpeg -i 0131.mp4 -ss 40:00 -t 1:52 -codec copy 0131-2.mp4

I then merged into one using [concat demuxer][1] in ffmpeg.
The merged video plays, but the first 15 seconds of the merged video is blank (audio plays okay). What do I need to do so that first 15 seconds of the merged video also displays? Is this due to a "keyframe" not appearing for 15 seconds after my cut point?

Stream #0:0(und): Audio: aac (LC) (mp4a / 0x6134706D), 32000 Hz, mono, fltp, 126 kb/s (default)
Metadata:
  creation_time   : 2021-01-31T21:53:20.000000Z
  handler_name    : AAC audio
Stream #0:1(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1280x720, 741 kb/s, 25 fps, 25 tbr, 30k tbn, 60k tbc (default)
Metadata:
  creation_time   : 2021-01-31T21:53:20.000000Z
  handler_name    : H.264/AVC video
  encoder         : AVC Coding
Stream #0:2(und): Data: bin_data (text / 0x74786574), 0 kb/s
Metadata:
  creation_time   : 2021-01-31T21:53:20.000000Z
  handler_name    : Text

Every time I concat, I quickly run it thru this awesome little freeware from Mean beforehand, avidemux, (MP4 Muxer->Move index to the beginning of the file->Save) and it fixes the majority of any concat issues I've run into. Not sure if it will fix your issue, but it can't hurt and somewhere down the line avidemux will come in handy and fix a concat issue if you're having one. Shoutout to Mean for such a helpful piece of freeware!

wonder if this is the same in ffmpeg: ffmpeg -i input.mp4 -codec copy -movflags +faststart output.mp4 (stackoverflow.com/questions/7614635/…) I tried this in ffmpeg and no difference in results. I'll try avidemux and see if its any different.


text:
What ffmpeg/avconv format and container will Adobe Premiere Pro accept, out-of-box?
All of these converted, but Premiere Pro only loads the audio.  I use Ctrl-I to import the videos, and they come up as waveforms, and can only be placed on audio tracks.
These examples use avconv, but I also have ffmpeg, and don't really care which as long as it works  :-)
avconv -i v1raw.AVI  -c:a copy -c:v mpeg2video  v1conv.mpeg
avconv -i v1raw.AVI  -c:a copy -c:v mpeg2video  v1conv.avi
avconv -i v1raw.AVI  -c:a copy -c:v mpeg4  v1conv.m4v
avconv -i v1conv.avi  -c:a copy -c:v copy  v1conv_copy.mpeg

Here's the data for my input file (incase it helps).
Input #0, avi, from 'v1raw.AVI':
  Duration: 00:05:28.53, start: 0.000000, bitrate: 9592 kb/s
    Stream #0.0: Video: h264 (Main), yuv420p, 1920x1080, 30 fps, 30 tbr, 30 tbn, 60 tbc
    Stream #0.1: Audio: adpcm_ms, 44100 Hz, 1 channels, s16, 176 kb/s

And my available video encoding formats from avconv.
a64multi, a64multi5, asv1, asv2, bmp, cljr, dnxhd, dpx,
dvvideo, ffv1, ffvhuff, flashsv, flv, gif, h261, h263, h263p,
huffyuv, jpegls, libdirac, libschroedinger, libtheora, libvpx,
libx264, libxvid, ljpeg, mjpeg, mpeg1video, mpeg2video,
mpeg4, msmpeg4, msmpeg4v2, pam, pbm, pcx, pgm, pgmyuv, png,
ppm, qtrle, rawvideo, roqvideo, rv10, rv20, sgi, snow, svq1

see full codec info
I'd be happy to post anything else that has the slightest chance of helping.

Which version of Premiere Pro? Why not import v1raw.AVI into Premiere?

It's CS5.  The raw (original from camear) doesn't work either.

Premiere Pro CS5 should be able to import H.264 video, IIRC, however it may be having trouble with the audio and/or container format. With ffmpeg try re-muxing the video stream without the audio:
ffmpeg -i input -an -codec:v copy output.mp4 -an -codec:v copy output.avi

If both output.mp4 and output.avi work then we know that the issue lies with the audio (although H.264 with b-frames in AVI probably isn't a great idea). You can re-encode the audio and keep the video:
ffmpeg -i input -codec:v copy -codec:a pcm_s16le output.avi

If the first command does not work with Premiere, then you may need to re-encode. This is a good use case for an editor friendly, lossless intermediate file:
ffmpeg -i input -codec:v utvideo -codec:a pcm_s16le output.avi

Close Premiere, install Ut Video (scroll to the bottom of the page), open Premiere, and import your video. You can do your editing, and then export to your final format using the crappy Adobe Media Encoder, or export to another lossless file, and then use ffmpeg to provide whatever you need. Alternatively, if you're using Windows you can use Debugmode FrameServer and encode directly with ffmpeg from Premiere. See How to encode with ffmpeg from Adobe Premiere Pro for instructions.
If you need a recent ffmpeg for Windows see Zeranoe FFmpeg builds.

Thanks, the MP4 worked for me.  I can just grab one of the audios from the videos that were only giving me audio, and call it a day.  Btw, I had to change -codec:v to -vcodec, and I don't have utvideo; any idea why?

Your ffmpeg is old.

Okay, thanks for all the help.  I'll get the newest ffmpeg.  I assume utvideo comes with the default build?

@FakeRainBrigand Yes, the native utvideo encoder and decoder is included with ffmpeg, but usage of libutvideo is also an option if included with a build.


text:
Duplicate layers X times and move 1 frame each time
I do a lightpainting video on After Effects (CS6 here) where I duplicate my layert to create continuous lines based on a moving light. I have a lot of comps to do and many layers to duplicate, then I search a solution to avoid this boring task…
If you knows a script or something else which duplicates a layer X times and moves it 1 frame everytime (like stairs), it would be very welcomed!
Here is a screenshot of the current (but working) solution, by hand:

Check the Array script on aescripts.com website. It duplicates your layer in desired numbers and has more control for offsetting the properties like position, scale, rotation as well as time. It is really easy to use and has many great built in functions for creating really good looking and creative motion graphics. Especially for your case, playing around with the script might function as a brainstorm tool to create new looks. Just watch the provided tutorial video to see the features.
By default, AEScripts website will set a price but you can "Name your own price" for this particular script. Just register with the website and type zero in the price field and add to cart.
My personal thought on the pricing, if you are using the script in a commercial project, it is always a good thing to pay some amount for it. As this is a great and creative tool, it deserves some donations, think it as a tip. It is not compulsory but a way of showing appreciation.
By the way, check the other scripts on the website, it is a gold mine. There are lots of great tools to speed your workflow.

Thank you for this reply! I already saw aescripts and some plugins like Layer Repeater but I don't know we can set any price! To test it, that's perfect. Thank you ;)

But, with Array, I don't know if I can offset the frame position in the timeline and not with X, Y or Z positions…

In the tutorial video, around 3:07, the script does that as well, isn't that what you are looking for?

That's exa-ct-ly that. Thank you so much for your tips!  'will save a lot of time !

Glad it works for you.

Although you can pay zero money for it, it might be worth slinging the developer a cup of coffee if it helps you out, so that said developer continues to make useful scripts for everyone.

@stib absolutely.

Here's another trick worth knowing that will do the job without any third party software.
To quickly duplicate your layers: first set the label colour to something you haven't used in your comp. duplicate it, and then click on the label and choose Select Layer Group, duplicate the selected layers to create four layers. Repeat and you'll have eight, sixteen, thirty two, sixty four and so on. You'll end up with more layers than is feasible in no time at all.
To offset all your layers by n frames: select them all and align their in-points to the same frame by hitting [ – if they're not already aligned. Now go to the nth frame of the layers (e.g. to offset the layers by one go to the first frame), and hit Alt/Option+] to make all the layers n frames long. Now right-click (or from the Animation menu) choose Keyframe Assistant>Sequence Layers. Don't check the Overlap box. Now all your layers will be offset by n frames. You can then go to the end of the comp and hit Alt/Option+] to trim them all back to the full length again, or select them all and drag out their end points to the desired length.

One other thing to add. On the Layer Repeater plugin you can offset your animation in time as well. So you could do the same thing by animating the opacity of the 1st layer, and that will get offset in time to the rest of the layers.

You could also use the Trapcode Echospace plugin to achieve the same kind of thing


text:
What software can I use to make "stop motion" video from existing video material
I want to make video like this:

While I know they used different technique (stop motion from photos), I would want to make mine from existing video of person walking. So my question is: what software would automatically remove every frame except the ones I mark as important for walk animation (ie.: frames in which left or right leg is in specific position so the walk impression is preserved).
Even better, the video I currently have has pretty systematic walk so I guess it would be nice if I could specify the important frames as x+n and y+n (where x and y are numbers of first important frame for left and for right leg and n is some constant offset) and just adjust the n if and when necessery.
Even better if the software cold actually detect which frames may be important.
So, can this be done and if yes then what software do I need?

I'm afraid your question seems to be self- contradictory. You say you want to make stop motion video from video. Then you say you want to remove yourself from video. UK have some other questions in there which don't seem to make sense in this context either.

I accidently left few words while editing. What I'm trying to achieve is to remove all frames except walk cycle key frames (http://en.wikipedia.org/wiki/Walk_cycle). I want to get something like on that video - impression of fast moving world while person walks slowly.

Have a look at time posterization. It might achieve the effect you want. Premiere Pro and After Effects are supplied with this effect, but other software could have it too. Could you please add in your question which video software you already have and what platform(s) you want it for.


text:
Does ffmpeg have a configuration file?
Using a lot the ffmpeg program, I want to configure ffmpeg on linux so that it always hides banner (option -hide_banner) to reduce text output. I cannot seem to find anything that would tell me where this file should be and how it should be named so that ffmpeg will look at it every time it is run.

Why not create an alias? e,g, alias ffnb="ffmpeg -hide_banner" Search on SU for how to make it permanent.

yes, this seems like a smart workaround. i put my aliases in ~/.bash_aliases - which is by default sourced by ~/.bashrc

No, ffmpeg does not use a configuration file post-install.
lots of ways to build ffmpeg, but generally you have to configure everything before install.
for example, with brew (macOS package manager) you have to edit the following file to supply your --enable or --disable args BEFORE INSTALLING.
/usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/Formula/ffmpeg.rb
if you didn't get your args in on your original install, then you need to uninstall and re-install again with your desired options and args.
also: instead of supplying your options (--with-webp for example) from the CLI during install, you can write them in ffmpeg.rb.


text:
Windows software for recording multiple video/audio sources?
I'm looking into options for recording video game sessions, including multiple different video and audio sources. I'm only at the planning stage of this, but here is basically what I want to set up:

Have PC set up as recording hub for gameplay sessions either on same PC or on nearby game console
Capture game footage, both audio and video, either capturing PC game footage or via capture hardware for console games (PCI or USB connection)
Capture footage of players, probably via webcam attached to PC
Capture both game and players feeds simultaneously

I'm fairly new to a lot of this stuff, so I'm not particularly sure what I'm looking for here. Can anyone provide some recommendations of software/hardware that would work for what I'm trying to do?
UPDATE: I've just discovered Telestream's Wirecast. It seems to be the sort of software I'm looking for, and I can use it to stream or save it to disk. It also has support for some Blackmagic Intensity capture hardware, which I was already looking at. Has anyone had experience with it or seen a similar, possibly cheaper alternative?

If it were me, I would try using a video recording interface with RCA connectors, as most TVs have an RCA audio/video output. Most of these connect via USB and come with some sort of software. For the video of the players, use a second software program and webcam/etc. to capture this. If you had a Mac, this could probably be sync'd in Final Cut Pro. I'm not familiar with all the software for Windows.
The main part I don't think you'll be able to accomplish (without expensive software) is capturing all of this in-sync with each device. This would require some sort of video-switcher software, similar to what TV stations use for live broadcasts. The method above is probably your cheapest route, if you can handle syncing it after the fact.


text:
Why does the color red always appear pixelated on TV and videos on the PC?
I hope this isn't off-topic.  While technically about video production, it's not about a problem I am having.
Have you ever noticed on TV how the color red is always noticeably pixelated?  It's the same why while watching video on the computer, as well, be it a Blu-ray, DVD, a video playing directly from disk, or a video being streamed from the internet.  No other other that I know of looks pixelated like the color red.  I've noticed this since as far back as I can remember starting with DVD.  I haven't watched any VHS tapes for many, many years, so I can't say whether or not this pixelation occurs with tapes, but it'd make sense to think that it wouldn't since those are analog.
BTW, I've searched for this online and found a lot of people asking the same questions, but I have yet to see an actual answer.
Here's an example of red pixelation that I just happened to come across on YouTube, although the same thing occurs even on TV broadcasts.  Although you can still see it at actual size, zooming in lets you see how pixelated the color red is in comparison to the rest of the colors which really aren't pixelated at all.  I strongly doubt that this is merely a visual anomaly.  Instead, I believe it has to do with how the color red is processed during encoding.

Never noticed this with red - however I do notice blue sometimes does something that matches your description.

It's not an illusion - it's called chroma subsampling.
Most video codecs do not represent colour in full resolution. This allows for more efficient "lossy" compression because it takes advantage of the fact that the human eye is more sensitive to brightness ("luma") than colour ("chroma"). Most lossy codecs lower the chroma resolution to half or one quarter of the overall resolution, so you may only get one pixel's worth of colour for every four pixels of brightness. This dramatically decreases the amount of data needed, with only a small loss of apparent quality.
It's slightly more complicated though: the brightness is actually made up of the sum of the three colour components Red, Green and Blue. And they're not encoded as RGB, that would be require more bandwidth, they're encoded as YUV. Y corresponds roughly to the green component, and the U and V are Y minus the red component and Y minus the blue component (a gross approximation, actually - if you want the whole formula look here).
In most codecs the U and V components are sampled at a lower resolution than the Y. this is expressed in the three-way ratio you often see if you hang around video forums too much, e.g. 4:2:2 or 4:2:0. For a two row rectangle of pixels the numbers represent:

"width of sample region (Y samples)":"UV samples in the first
  row":"additional UV samples in the second row"

A common example of this notation is in the codec name "proRes422" the 422 part of the name comes from 4:2:2 meaning for every a 4x2 rectangle there will be 4 Y samples in each row 2 UV samples in the first row (half the horizontal resolution) and 2 UV samples in the second row. So proRes422 has half the chroma resolution of the luma.
On the internet and on telly you're most likely seeing everything in a 4:2:0 codec. In every 4x2 rectangle of picture there are only two UV samples (the 0 means that there are no additional samples on the second row). So the colour part of the image is composed of chunks 2x2 pixels in size, in other words, one quarter the resolution.
This means the red channel on its own has one quarter the resolution of the overall picture.
TL;DR the red looks pixelated - because it actually is.

To add to this, I would consider the pixelation a bug, chroma can be, and should be upscaled using a bilinear or better algorithm, but Windows doesn't seem to do the upscaling correctly, 3rd party apps like Kodi, that implement upscaling in pixel shaders do not show this artifact.
You can see here with bilinear turned on: https://i.imgur.com/ZWjVHdi.png

That's a good point. It would be interesting to see a comparison between different players to see how they upscale the chroma.

While pure red is tough to match, partly due to our visual sensitivity in that region, I've never noticed any tendency for red to 'pixelate' more than any other color. Maybe you're seeing an artifact of compression? Do you also see this in non-electronic displays like backlit signs, etc?
Another answer here claims that manufacturers kept secrets about color signals. That would be odd, since all equipment had to interoperate. In fact, the percentage of each of RGB in white is well documented -- in NTSC analog days it was 59% G, 30% R and 11% B. It's slightly different in digital broadcast.
There were differences in phosphors and matrixing among CRT makers, and other differences between US and EU systems, but all of those are/were well known and standardized.

I think the issue you see here is actually because of bright pixels against a very dark background.
Most lossy compression takes into account that we are far more perceptive to lightness differences than we are color differences.  Depending on the codec used, and encoding options chosen, the blocks used for approximating the video can be fixed size, which appears to be the problem in your video.  As you get to the edges of the light, you find edges which cannot be quantified with the large block alone.
Many codecs support subsampling where the larger blocks are subdivided into smaller ones.  There may not have been enough available bandwidth (especially common with fixed-bitrate streams) to use subsampling, the option may not have been enabled, or it might have not been available on the codec used.
In short, you've found a part of the frame that is difficult to encode with many lossy codecs, and becomes easily visible depending on the configuration of the encoder.

I suspect it may also have to do with the purity of the color. The other colors are also being quantized in the same manner as the red, but each color is treated individually, so the average area has overlap across three colors and they mask each other. The red in the sample frame is fairly pure.

NO. 422 / YUV encoding has a specific problem with highly saturated red, which is why designing a bright red for a broadcast television station is simply ignorance. You have to lower the luma and chroma values of red, particularly graphics down to 90% and then often some of the rest of the collours as well so it is perceptually the same. Technical grading. Tris


text:
Recommendable production codecs for Adobe video products
I'm currently searching for new codecs that are better suited for production than the ones we are currently using. So far we used QuickTime Animation and PhotoJPEG. The latter always proved as something "rocksolid" and never made any problems. Though its lossy and has no alpha, thats when we used Animation but that codec is a dinosaur when it comes to compression and bit-depth.
I generally dislike all the built-in QuickTime codecs as they either dont deliver all the formats options or are just not pracitcal in a multi OS workflow. The whole Pro-Res family is a no go as it can only be encoded on a mac (except for the beta version of the ffdshow ProRes encoder).
So far I'm very happy with JPEG2000 using the j2k plugin from fnordware, the format has all the good things from legacy JPEG and Animation and has even more features but the downside is the fact that its an image sequence which is not so nice to handle as a single container file. The crippled JPEG2000 codec in QuickTime is no option.
So what I'm searching is a codec that can be used with container formats like .avi or .mov (or any other container, it really doesn't matter), with a good compressability in the range of lossless JPEG2000, atleast 16bit per channel and support for an alpha channel. E: And of course lossless if that wasn't clear so far. Otional lossy compression like JPEG2000 has, would be great but not necessary.
I hope someone can suggest me something, its no problem if the format needs a plugin for After Effects, Premiere etc. it just needs to be compatible with CS6 and not be restricted to Windows or Mac.

What is your usual use case for QuickTime Animation and PhotoJPEG? Are these temporary intermediate files, archival, etc? ProRes can be decoded and encoded with any OS that FFmpeg or FFmbc supports (not that I'm recommending ProRes).

I'm aware of that but using FFmpeg with Adobe products wasn't actually a nice experience. Maybe that has changed, I haven't used it in quite a while.
The usecase is like the title said "production", means we do our animations in After Effects, maybe cut some needed footage and toss the files around the network.
Those files will never leave our office and are only meant for use during the actual making of the product.

"production" is a vague description.

See my edit, maybe that clarifies it for you.
Key features are named in the last paragraph. As long as it fullfills this stuff I'm ok with any codec.

Maybe editing is a better word.

Ut Video is an editor friendly lossless video codec and is a good choice for in house production as an intermediary. It is fast, open source, actively developed, supports RGB(A)/ULRA (for your alpha channel requirement) and YUV colorspaces, and is available for Windows, OS X, and Linux. You can install it on Windows and it will show up in Adobe Media Encoder, After Effects, etc. I don't know if it will fit all of your needs, but it is worth a try.

Sounds promising! Though one question, how is the workflow betweens OS's? As far I can see it integrates into the AVI output module on Windows but not the QuickTime module but it looks like its using QuickTime on OSX, will I be able to use a Ut AVI in OSX and a Ut Mov in Windows?
I'm off work for the next weeks and don't have a Mac at home to test this out myself.

@PaulGreen I have not personally tried it in OS X yet.

I did a test in Windows, the compression ratio was ok, the encoding speed was quite good though. If a workflow between OSX and windows works I'll accept this as the answer. Though I'm always open to more suggestions.

Targa (TGA in the format options menu in AE) is a lossless codec that works with video (most people who know it know it from early days of image compression). It has better file compression ratios than Animation, but retains alpha support (32b/p). Its main advantage is that it's faster than animation.
PNG (as used in pictures on the internet) also supports alpha (32b/p) and is lossless with a smaller file size than Animation.
The BBC developed a lossless codec, er a "specification" called Dirac which they want to use for broadcast, so it ought to be pretty fast. The downside is that you need to compile the codec (confusingly called "schrodinger") yourself (there may be binaries out there).
If you're a windows, you can download the open-source lossless codec HuffyUV which is much faster. Or if you want to be able to support 12bit/channel colour (and who wouldn't) there's Lagarith - a variation of huffyuv. But when you talk 12-bit colour you're not talking small file sizes any more.
If you're editing in one of these codecs though, you're just making pain for yourself. Better to do your editing in something fast like proRes or Avid dnxHD and then reconform to your high quality originals.

Well Targa and PNG are out of the game as they dont offer a container for the sequence, the downside I mentioned why I'm hesitating with JPEG2000 (which imo is superior to both Targa and PNG).
That BBC codec sounds interesting, compiling shouldn't be a problem as long as it does a good job, will test that out.
A pure windows codec is unfortunetaly no option as I need a cross-plattform codec like I mentioned already.

targa and png can be used as a video codec in quicktime .movs, that's why I mentioned them. If you're using After effects it's in the format options of the output module dialogue.

Yes but like I said, the QuickTime codec family is very outdated and slow. Neither the PNG nor the Targa QuickTime implentation is using the full format features. Same with the JPEG2000 codec.

lossless x264 -qp 0 -preset ultrafast is going to be a lot faster than dirac.  If you're doing something that would incur h.264 patent royalties, then sure, go with lossless dirac or ffv1 instead.  But these are slower archival codecs that are a waste of time for temporary files you can regenerate from whatever source you're going to keeping for archival purposes.

hang on, that last part about "edit in high bitrate lossy and then xcode to lossless" makes no sense.  Unless you're just trying things with those codecs, and then once you get it right, redo the pipeline from source to output without going through any lossy codecs.  Otherwise you might as well just leave your data in whatever lossy format you put it in.  Xcoding to lossless doesn't recover the information those codecs threw away.

@Peter Cordes, have you never heard of an offline and online edit? Kids these days… I'm not talking about transcoding I'm talking about conforming, where you take the cuts you've done on your compressed files and apply them to your uncompressed files. Most NLEs and all colour grading tools have a workflow for doing exactly this.

Ah I see.  That makes sense.  And no, I don't know much about editting workflows, that why I came to this stackexchange in the first place.  I found a lot of questions here I could answer about encoding and ffmpeg, so I've been bouncing around doing that.

Apple ProRes 422 is very good, however you need a codec on PC to be able to read it and a PC cannot encode it, however it is probably the most widely accepted format within the industry.
Using FFmpeg when working with video editing is pretty much useless, it is designed for web application but not used AT ALL in the professional world.
If you are PC ONLY check out DVCPRO HD codecs, however far inferior to ProRes

A "PC" can encode ProRes as I mentioned in a comment to the question. FFmpeg is used heavily by professionals and is not specific to "web application".

none of these codecs support 16bpc or higher and both are not lossless and have a bad compression ratio
Also agree on FFmpeg, has nothing to do with web, its a project with a wide support of codecs including ProRes.

Name one post house that uses FFmpeg to compress high volumes of proffesional videos.  You do not need 16bpc for editing, and you do not need lossless for editing.  Prores is not bad compression I have no idea where you got that Idea.
And PC can encode on PC with plugins but not always successfully, I have had numerous problems with PC encoded quicktimes not playing on Macs

ProRes doesn't even compress at all. I could compress an 17GB ProRes 4:2:2 to 1.4GB with LZMA2..
The same sequence was 700MB with (lossless) JPEG2000 compression and 16bit bpc. So no, ProRes is really no option. It's an very outdated codec that wasn't properly updated for years.
And yes I do need 16bit if I do color correction.
Please name me a post house that does NOT use 32bit in the color correction workflow...

Right but at no point in your question do you ask about color correction, and to be honest, unless your footage is shot on film and/or alexa to a codex box, ITS NOT 32 BIT...While yes I would recommend offline editing IN PRORES and then doing an online to DPX sequences, however DPX sequences are not ideal to edit with, thus the need for an offline edit...Prores is highly recommended for this, however since you are not on MAC exclusively I recommended the old outdated DVCPRO HD codecs...maybe we write your question to better guide people to exactly what part of "production" you are referring to

Downvoted for the ridiculous statement: " it is designed for web application but not used AT ALL in the professional world".


text:
How to duplicate a generator below connected media?
I have my main story line and then I've added still frames of a presentation throughout. The images are displayed ontop of my video and the images don't cover the entire screen, so I can add a solid black generator under each image and it works great.
The problem is that I have 60+ images and I want to avoid to cut the video or add the generator manually for every image. Is there a way to paste a generator below every image? As you can see in the image, the duration of each image changes, so the brown boxes (solid black background) should match the duration of each connected image on top. Is there a way to automate this?

Simply having a black background for the whole duration of the project isn't an option? Usually you would just have a black background that is visible whenever there is footage that isn't matching the aspect ratio of the project/taking up the whole screen.

Unfortunately, no. I'm switching back and forth between the slides and the video, so I only need a black background when there's a slide showing

Ah I see the video makes it more clear, I thought you had cuts, in that case you need a bit more manual work of course.

How can I explain it better?

I've edited your question a bit in a way that makes the issue a bit more clear. Does that still reflect the issue properly in your opinion?

I got the answer from someone at fcp.co. He made a video: vimeo.com/93836074
Basically:

add the generator to the timeline (don't worry about setting the duration since you're going to delete it)
turn it into a compound clip, delete it from the timeline (since it gets added to the event manager)
copy the image frames and paste them with the playhead at the first image
create a compound clip with all images (the ones in the bottom, so there's an actual image on top)
right click to open it in timeline
select the black compound clip in the event viewer and press x then d (black gets added)
press down arrow and repeat x then d

Pretty slick

If that solved your issue you can accept your own answer as the correct one.

You could do this by altering the order of your layers. If you put the black on the bottom and razor away the main clip video when you want to go to slides it will work off a single generator. You just need to seperate the video and audio tracks.


text:
Cannot capture (HDMI) output of Graphics Card with BlackMagic UltraStudio
I am trying to convert an HDMI video signal (from my computer's graphic card) to SDI using an Ultrastudio 3D from Blackmagic.
I successfully converted an HDMI signal from my Canon 5D camera, but it does not work when I send a signal from my graphics card.
What is the difference between HDMI from a camera and HDMI from my GPU?
Edit
My goal is to send GPU generated content, not a film, so there should be no HDCP problems, am I right? So far I tried to sent my GPU output considering the Ultrastudio 3D as an extended desktop.

Assuming frame rate and size are the same, it's possible that the GPU output is encapsulated in HDCP, where the camera's is not. Did you try using a Bluray player playing copyrighted content as the source? That would have HDCP for sure.

Thanks for the tip, I will try this! I heard that this might be due to HDCP, but I had no clue how to test it.

Now, is there any graphics card without HDCP on the market? Mine is a Geforce GTX 770.

I don't believe there are GFX cards without HCDP. I suspect they all use a combo HDMI/HDCP chip for output.

So there is no solution for my problem? I have seen this kind of things but I am septic, especially since I need 3D HDMI...

@arthur.sw - if you are trying to bypass copy protection, then a GPU without HDCP will not help.  HDCP requires a trusted path from disk to display.  If there isn't a valid encrypted end point, then the file will be unplayable.  A graphics card that doesn't have HDCP on the output would not be able to relay the information from the display, nor would it be able to get a key itself for authorizing playback.  If you are not trying to bypass copy protection, then the HDCP shouldn't be operating.

@AJHenderson I am not reading any file, my goal is to send some GPU generated video (using openGL). For now I just try to display my desktop (as if the blackmagic was a secondary screen) either in copy or extended desktop mode. You are saying that HDCP protection can not interfere in this case, right?

@arthur.sw - it shouldn't since the source shouldn't be encrypted in that case, thus HDCP should be unused and playback on a non-HDCP device should work unless your GPU maker did something funky.

So there is no solution for my problem? << I'm only speculating here. I have no idea whether the issue is HDCP-related, I was commenting to discover if perhaps it is.

What solved the problem:
Check your capture software settings. All settings (your monitor/capture device settings, your hardware settings and the settings in your capture software) should be correct and equal.
What can help track down similar issues:
Very likely a framerate issue. Only the 4K version of the Blackmagic Capture cards supports 60FPS and your monitor is or was probably set to 60Hz or 50Hz, though your capture card probably is only supporting 30FPS @ 1080p (assuming thats your resolution). (Edit: In this case not true, the UltraStudio (4k) does support 60fps even at 4k over SDI but if someone else has this issue, have a look at the specs of your capture card)
Assuming your are using Windows go to the resolution settings and click on advanced settings after selecting the capture card "display" and then go to the "Monitor" tab and select a lower refresh rate like 30FPS or 25FPS. Then set the same refresh rate in your capture settings.
On a Mac you can use a tool called SwitchResX to change your refreshrate or alternatively in your case simply set your capture settings to the output settings shown in the System Informations for the Capture Card "display". So same resolution and refresh rate.
If your really unlucky your Mac doesn't recognize the UltraStudio as a display or the Ultrastudio isn't sending any EDID information, though I somewhat doubt that's the case. I had this issue all the time with the 4K PCI-E capture card from Blackmagic, it always was a settings mismatch.
Also make sure that if you want to capture a video that's playing back, it isn't protected by HDCP like Jim Mack suggested.

I am under os X, I will try something like that, but I think that the Ultrastudio 3D supports 60fps...

Indeed, I didn't know they had this product, its the equvivalent of their PCI-E card that I was talking about, so it's not a support issue. Still the frame rate that your GPU is outputting is probably not the same as you capture settings. I get that all the time when capturing my GPU output, the GPU detects some weird refresh rates like 29,97 or 30i and I always have to manually set it to my desired capture frame rate. Only when the driver settings of your BlackMagic Capture device and the output of your GPU are the same you are able to capture.

I edited the answer with some Mac specific information.

In "system preferences > monitor" my Ultrastudio 3D is recognized as a screen, with decent presets. I can set its resolution and framerate to whatever I want. But nothing seems to be working. I always have a black screen. Do you also have a blackscreen when the problem comes from the framerate?

Yes that means the BlackMagic is simply ignoring the input.
Are you sure you are capturing with the exact same settings on both ends? Differing resolutions will result in the same issue. Also if you are capturing over a Displayport adapter ditch that and try to capture over HDMI or DVI->HDMI. I always had issues using a DisplayPort->HDMI adapter.
Also maybe try a different cable if you have one at your hand. I had issues with some otherwise working HDMI cables for unkown reasons.

I am not sure since I don't know what means "use 1080p not 1080PsF".

1080p is what you want. PsF means Progressive segmented Frame and is only making issues in this context so "p" is always the way to go when working with desktop hardware.
http://en.wikipedia.org/wiki/Progressive_segmented_frame

Let us continue this discussion in chat.

Ok I solved my problem: I did not have the right settings on my capture software (Media Express). Silly problem, I'm sorry :/ I can edit your answer to put the solution, and I accept your answer, ok?

Sure, if you feel something needs to be added.


text:
Making lenses (water and dust) splashproof?
Some lenses are build splashproof, while others aren't.
What is the least expensive method to make a lens splashproof which is not splashproof?

It depends on what you mean by splashproof.
Rain covers are the absolute cheapest form of protection (as little as $5 or as much as $70+), though they generally leave the front element exposed and provide only minimal protection since they are not sealed.  They also are somewhat clunky to use as you generally have to reach under them or through sleeves in order to get to controls and you have to look through a plastic window to see the camera controls.
The next level up is water tight bags.  These cost more than rain covers on average ($60-$300), but they actually form a water tight seal around the camera.  This comes with a down side however.  With no way for water to get in, there is also no way for your hands to get in and you must try to operate the camera through the bag.  The objective is also covered, so it does reduce image quality, though models are available that provide an optical quality windows for the objective (though they cost more).  They are also limited to only a few inches to a few feet of water before the protection breaks down, though if you only care about dust and splash, they should do the job fairly well.
The next level up are sports enclosures ($350 to $1000).  These are similar to underwater enclosures, but without some of the over-engineering that goes in to making it withstand depth.  They are designed to handle similar conditions to the watertight bags, but are far easier to use and almost always have optical grade objective covers.  They are bulky, but they allow easy access to controls and are far more reliable in terms of simply placing the camera in to it and closing and latching the door.
Finally, the absolute best protection is the full blown underwater enclosure.  These units are extremely expensive ($1000 - $7000) and have to be assembled to a configuration specific to the lens and body being used (modular systems allow you to re-purpose it for different lenses by changing out parts of the enclosure).  They offer dedicated physical controls and optical grade objective covers.  They are engineered for even deep underwater and can often go 300 feet down or more.  They are probably overkill on land, but they will withstand just about anything you can throw at them without severely impacting your ability to shoot since they offer dedicated physical controls.  They are, however, not available for longer lenses.
Of course, the list wouldn't be complete without suggesting simply a weather sealed camera body and lens combination which would preclude most of this stuff being necessary.  Note that a weather sealed lens alone is not enough though and weather sealing.  The entire camera system (lens, body and battery grip if applicable) needs to be weather sealed and it is only as well sealed as the weakest component. Also, while professional weather sealing will handle light to moderate rain, it may not hold up to the worst of conditions.  I've done shots with my 5D Mark iii and 70-200 f/2.8 IS II in moderate to heavy rain, but had to promptly deal with some minor moisture issues after.  I suppose the cost of getting a 5D Mark iii and a 70-200 f/2.8 IS II is actually more than getting even a cheaper underwater enclosure, however you also get substantially better image quality from it.

For a super-duper cheap solution, it seems as though a Zip-Loc 2-gallon bag would be akin to a "water tight bag" (as described in paragraph 2).

Slightly less securely closing and less tear resistant, but yeah, effectively.


text:
Add an image overlay in front of video using ffmpeg
I have many videos and I need to put an image in front of them for about 5 seconds, but adding it manually and rendering it each time would take really long, so I am asking if it is possible to do so via ffmpeg and if you could, please, help me out with it since I have no experience with ffmpeg. I've found some commands already but none of them worked.
This one for example.
ffmpeg -itsoffset 5 -i in.mp4 -r 25 -loop 1 -i intro.png -filter_complex "[1:v] fade=out:125:25:alpha=1 [intro]; [0:v][intro] overlay [v]" -map "[v]" -map 0:a -acodec copy out.mp4

Did your just copy that command or wrote that according to your needs? I'm asking because this command involves things like a fade out and all kinds of other stuff not covered in your question. Do you just need to overlay an image or do you need more than that?

I copied it from somewhere, all I need is just to put the image in front of video.

You can do a simple image overlay using the following syntax:
ffmpeg -i input.mp4 -i image.png \
-filter_complex "[0:v][1:v] overlay=25:25:enable='between(t,0,20)'" \
-pix_fmt yuv420p -c:a copy \
output.mp4

overlay=25:25 means we want to position the image 25px to the right and 25px down, originating from the top left corner (0:0).
enable='between(t,0,20)' means we want the image to show between second 0 and 20.
[0:v][1:v] means that we want the first video file we import with -i, in our case input.mp4 or how ffmpeg sees it, video input file number 0, to be under video input file 1, in our case image.png. :v just means we want the video track from these file sources. [0:a] would mean we want the first imported audio track. Which would also come from input.mp4 but would point to the audio track instead of the video track in the mp4 file.
If you want a certain image quality/settings and not the settings ffmpeg chooses, add the image and or audio encoding options you want to use. The default video encoder will be x264. Check the H.264 encoding guide for possible settings.
The -acodec copy / -c:a copy that you have in your command f.e. would simply re-use the audio from the source file. Though you can't do that with the video of course (in this case), that has to be transcoded because we are creating a new video source.
If you want to transcode audio, remove the -c:a copy part. You may have to explicitly specify an encoder, e.g. -c:a aac -strict experimental. See the AAC encoding guide for more info.

The following iteration of the above command worked for me on Android since the original one gives and error like aac is an experimental feature:
ffmpeg -i input.mp4 strict -2 -i image.png -filter_complex [0:v][1:v] overlay=25:25:enable='between(t,0,20)' output.mp4

is there anyway to position at bottom without knowing the height? or far right without knowing the width?

sure, just analyse the video with ffprobe and extract the dimensions of the video from the output. Maybe there is also an option integrated in ffmpeg but I'm not aware of it.

Is there any method or calculation which makes the image appear the the center?

Your command replaces a fragment of the original video file, but a user may want to add (thus increasing the video length) an image before and/or after the video. Please help with this

@porton This is question was about adding an overlay, if you need help with a different issue, feel free to open a new question at the top right of this page with the "Ask Question" button.

Can we use GIF instead of PNG for same purpose?@PTS

Sure, every format supported by FFMPEG. You could also use a video file.

I think the -strict-experimental option is no longer needed.

@PTS In fact, that is exactly the question being asked here, which you did not answer at all. Nowhere did he ask how to overlay an image on top of the video, but how to insert it before the video starts (using the overlay filter). Note the wording of the question, the -itsoffset in his example code, and the undesirable alternative (rendering it separately).

He may have tried it because of the apparently confusing wording. If it wasn't what he wanted then he probably wouldn't have accepted it as an answer to this question. If you have a problem with that you are always free to ask a new question covering the case you are looking for.

And what is the pix_fmt argument for? I see this in most ffmpeg commands out there, but whether I include it or remove it, the result is the same. Is it actually useful to put it in the command?

@laurent that depends on your source file and or output. pix_fmt stands for pixel format. There are a lot of different pixel formats available for different codecs, specifying one ensure you don't end up with something that doesn't work out for you. yuv420p is the most supported pixel format when it comes to h264 but there is also yuv422p and yuv444p for example.

@Deepak if you got a new question please open one. You can try encoding your image into a video of specific length though. Again please open a new question, comments are not the place for this.

wow this worked right out of the box for me! thanks

Is there a way to also resize the image before overlaying it, or does that have to be done beforehand?

@BallpointBen did u find a way to change size?

This is an addition to the excellent answer by PTS and an answer for chovy.  If you want to place the overlay at the lower right corner, FFMPEG can calculate that for you very easily.
Use the modified command:
ffmpeg -i input.mp4 -i image.png \
-filter_complex "[0:v][1:v] overlay=W-w:H-h:enable='between(t,0,20)'" \
-pix_fmt yuv420p -c:a copy \
output.mp4

The W-w means main video width minus overlay width, and the same for H-h.

Thank you for telling the secret answer: what is W-w, it's really unclearly said in documentation about it.

@AlexSham W is an ffmpeg alias for the width of the video you are overlaying on, and w is the alias for the width of the image being overlaid. Same with H and h. These can also be referred to as main_w (or _h) and overlay_w (or _h)

Thanks for this trick. What if w is bigger than W or h is bigger than H. My objective is to center the overlay on the video no matter what their sizes are. I am afraid ffmpeg might throw an exception if there are negative values. Also does filter_complex make the output video the same size as the input video always? Or does it make it the same size as the bigger size of the input video and overlay png?

I'm not sure about the functionality if the overlay is larger, as that is an unusual use case.  Perhaps something like (W-w)/2?

If you wanna resize the image.
ffmpeg -i input.mp4 -i image.png -filter_complex "[1:v]scale=480:854[overlay]; [0:v][overlay]overlay=0:0:enable='between(t,0,20)'" -pix_fmt yuv420p -c:a copy output.mp4

Piece of advice: please don't ever answer in comments. That is not what they are for.


text:
I'm trying to crop the sides of a movie which are unwanted... Online
I am trying to crop my video online, like it's done below. Any ideas? Thanks in advance.

Out of curiosity, why do you specifically want to be able to do it online?  If you are screen casting, why not only capture the area you want?

BEFORE I would say
onetruemedia.com
It HAD a great online video editor, but that was bought out by disney and then shut down. (Disney just wanted the tools in one of their software bundles)
Currently I would say
videotoolbox.com
Not the most intuitive, actually a very poor user interface.
But it has the crop feature you are looking for, not easy to find.
But here is a little video on how to use the online tool


text:
Does version control have a part in the video production workflow?
I'm a software developer and I'm also interested in photography (for four years) and video production (for a few months only).
■ In software development, there is an important rule every developer follows on every project: everything should be under version control: source code, configuration files, database schema, documentation—everything which enables building the project from scratch. This has two pleasant consequences:

In an event of a disaster when you lose everything except the version control repository, you should be able to continue as if nothing happened.
In an event of some stupid change which negatively affects the project, the developer can come back to an earlier revision.

■ In photography, every change I make to photos is stored forever in Lightroom catalog, making it possible to revert to previous state at any moment. With virtual copies feature, Lightroom also enables to do what is called a branch in version control: the ability to test something different, and either keep both results or remove one of them later.
The catalog doesn't store the RAW photos themselves, but they don't change anyway.
■ In video production, things seem different. I work with Premiere Pro, After Effects and Soundbooth.

None seem to store history permanently: if I do an action by mistake and notice it only the next day, there is no way to recover the previous version.
Soundbooth also changes directly the WAV files, which requires an additional effort to keep separate the original recordings from the modified ones.
Version control is rarely mentioned, and I haven't found anyone telling how does he actually use version control in his workflow. Moreover, nobody mentions which version control should be used, and since most version control systems are optimized for text files, not binary ones, this creates an additional challenge.
Video.SE doesn't have version-control or revisions tags.

Thus, I have two questions:

Does version control have a part in the workflow of a person who works with video production? How is it integrated?
Would migrating to Adobe Creative Cloud help? Are there specific features which allow, in Creative Cloud, to track successive revisions of a Premiere Pro or After Effects project?

Remark: to avoid off-topic answers, I highlight that my question is unrelated to the backups, and is specifically about storing successive revisions of my work, not having an on-site/off-site backup of the data.

I had the same confusion. I used ffmpeg and video editing API to edit my video clips. The steps to edit are saved in a script file. Then, I can version control the script file, or the makefile, just like in my C++ project.

Version control in the sense of Git isn't very practical in the video world. You would need to make a specific version control tool for every audio and video tool out there as all work with their own project formats.
But being able to read these formats is just one thing, then you also need the render engine of that tool to show diff's.
Though all of these tools work in a non-destructive way unless you pre-render some stuff (compare that to compiling a dll/lib of a piece of your code and work with that from now on), so you ususally can just go back to an old revision by doing ctrl+z or using the history tool in some programs.
Though saving sub versions is usually the way to go. Like stib described in his answer or by doing it manually.
Something I like to do and works well with every software is putting my project files (no source footage) into Dropbox. If you have a somewhat fast upload speed (~1 Mbit/s) and your project file isn't 100MB+, you can upload your project before you save the next time. An average Premiere/AE/FCP project is around 10-20MB so your recently saved files will be uploaded in 1-2 minutes. Even faster if you have more upload bandwidth.
Then if you have to go back you can access Dropbox's history of your files and download or restore to that revision. Dropbox saves file revisions forever* on a paid account (*atleast when they had the pack rat option, now its a year I think) and for 30 days on a free account. I'm sure that there are other cloud hosters that offer similar features.
It's a bit like using a super limited version of git that handles binary files very well and is headache free.
This has the advantage that you don't clutter the folder with tons of files and have a backup at the same time.
Most cloud hosters also offer Team Memberships so you can work with multiple editors. Or you share the project folder with other team members.

Dropbox stores file revisions forever? Then what if you  had a 5 GB video file with 800 revisions?

I edited the answer a bit. With the old pack rat option it was indeed forever now its a year, and yes you can do what you just described but like I wrote in my answer don't put source (e.g. video/image/audio) files in there, only your project files. Unless you have a gigabit connection that would be very unpractical to keep versions of changing source or render files.

You only need your VCS to understand the formats if you need diffs.  That's a bit much to expect.

So you could easily version control your project files, since 10-20MB of binary data is no problem for git.  You just need to write useful commit messages to describe what state your save file was in when you commited it.  If you're lucky, then small edit changes often don't change most of the bits in the project file, and git's delta compression will use a lot less than the full 10MB for every commit.  And then backups are as easy as git push to your backup server.  (with some other method for keeping track of which video masters go with which project, maybe md5sums of the source files?)

Well thats the ideal case, if your project ends up with a larger project file you just can't upload revisions as often depending on your connection. A cloud storage software scales perfectly, git will eventually run into troubles.
Commit messages are definitely a plus for git though.

Just to add to the previous responses: While there's nothing quite like Git for the video world, there are Digital Asset Management/Media Asset Management tools that can more or less do the same thing - version control and permission/user management (they also do a lot more, as they're really built as libraries for your media). For years, I used Apple's Final Cut Server app (now obsolete) that integrated with the Final Cut Suite (Final Cut Pro 7, Soundtrack Pro, etc) in a small post facility. We used it for version control and branching on project files, which allowed multiple editors to work on a single project relatively seamlessly. Because this was an Apple product, it was designed to be used with Final Cut Pro and therefore could read and work with FCP project files very easily. Even given this, Final Cut Server's version control relied on saving previous versions of the entire project file, it didn't use diffs. I don't know of any DAM that does for the very reason that a previous answer already pointed out - there are way too many proprietary formats (even though, ironically, many of them now rely on XML as the backbone for those project file formats).
FCS was great because it was relatively affordable. There was never really anything analogous for Premiere Pro.
Nowadays, unfortunately, you'll need to hand out a nice chunk of change to get similar capabilities - mostly because these tools are really designed for post facilities, not a single editor. They also require potentially significant integration/setup.
Here are a few options (I have no relationships with any of these companies, this is based purely on my research looking for a similar solution):

Cantemo: http://www.cantemo.com/premiereprocs6.html
CatDV:
http://www.squarebox.com/

Version control doesn't really have as much of a place in video editing because it is by nature non-destructive.  At the core of any NLE(non-linear video editor), the output is actually something known as an Editing Decision List or EDL.  This is extremely analogous to the history in Lightroom as that history is a record of all changes that have been applied in order.
NLEs work from source clips. They take beginning and end points of those clips to place them into a timeline and then effects can be applied to those assets in a given order (based on placement of the effects), however these are all editing decisions and are applied on the fly (or possibly rendered out to temporary preview files).  The final output render is the result of applying the entire EDL to the source clips.
You could save a version of the project in order to be able to go back to a previous version of the EDL if you want, but this isn't generally needed unless you are very intentionally branching to try an alternate approach to editing a sequence (in which case a copy of that timeline is often a better choice anyway.)

What do you mean by "non-destructive" and NLE here?

An NLE is a non-linear editor (technical name for most video editing software.) Non-destructive means that changes don't result in destruction of assets.  It is forming a list of changes to make, which is basically the same thing that version control makes.  When you make changes to code, that is destructive because your new alterations destroy your old.  With an NLE, your assets all remain unaltered and you are just modifying a list of sections to use and filters to apply.

So do you mean that we can tell the video editing program "revert to version 2.5", edit abit, then tell it "revert to version 7" and it is able to do that?

No, he means you always still have your master video.  The assumption is that reproducing the effects/cuts you had earlier isn't hard, or that saving projects files with a VCS would be more work than just re-inputting the edit decisions.  If that's not the case, then sure, version control your project files.  Although without the ability to merge changes from different branches, it's probably more useful to just write down any exact frame numbers that it took you a long time to find out was the right place for a cut, or something.

If you enable it in the preferences After Effects and Premiere automatically make incremental saves of the project files.

These incremental saves could be used to revert to previous versions, which is like a very basic implementation of version control (you might want to increase the number of versions from 5 though). FCP has a "restore from previous version" function built in, which is good for when it mangles your project files. After effects has (but Premiere doesn't have, go figure) the ability to incrementally save a project. I use this all the time when I'm making big changes to a project, and want to be able to revert to the main trunk, so to speak.
For added control, you could I imagine, use version control software to manage the folders where you keep your project files and auto-saves, so editors would checkout the current cut and commit changes, as long as all the media was centrally accessible or copied onto everyone's machines in the same relative path. It wouldn't let you fork and merge other people's edits, like you can with code – that would be an interesting feature (I'd say it could be implemented with Adobe's extendscript scripting, as long as your skills are up to re-writing Git or SVN in Javascript).

yeah, to diff and merge, either your VCS has to understand your NLE's save files, or the NLE has to provide diff / merge.  (e.g. Given a program that can merge changes in a project file, given a common ancestor, I think you could set up git to use it for git mergetool, to be able to merge commits of trees containing modified project files.)

You could possibly use extendscript to 'save' your current project by getting all the properties of all your project items and saving the data to a file. But for even a moderately large project that might take a long time to do. If you did that you could possibly build a version control system.

As a long-term video professional i can attest to the fact that the need for a lightweight, robust, transparent and open form of a VCS is sorely lacking in the majority of media workflows.
The problem however is multi-faceted and is a cultural one as well as a technical one.
Traditionally we have been working in a sausage factory like manner where a project is greenlit from script, moves to production, once wrapped it goes to post-production and then a final output is delivered to the distribution arm who then spin off device/platform outputs.
Nowadays this factory-like approach is an illusion where the hand off between post-production and distribution specifically is never clear. There is a lot of back and forth with cuts/edits for different languages/markets nevermind going back and doing re-mastering for the latest format for example. Then there is the need to access final versions for marketing purposes...
As a result the need for not only remote parties but people who may never meet to have a catalogued, definitive understanding of what version they need to work on is key. This extends not only to master encodes but all versions of that master for different markets as well as the versions of the assets that were used to create each master.
Only now are the media tech community engaging on what a version truly is and it is regularly debated due to the myriad of different workflows and concerns. I break it down as a working version and a distribution version.
There are efforts to remedy this within distribution by creating an archive file format that tracks versions within itself (to combat the fact that there are multiple tools, platforms etc) - this is called the Interoperable Master Format (IMF - not to be confused with the bank) and is being steered through SMPTE. The good thing about this is that it is moving to provide interoperability between the myriad of digital asset management systems (those that want to support it) that are out there - some studios i know have asset management systems that number in the hundreds - this would help them internally let alone for external handoffs. Of course it has not been used within a production environment yet seeing as it is designed as an archive level format (Netflix now utilise it). It is also a very hefty file with no easy way of creating it unless you have the necessary capital to invest in the tools. Netflix did release an open source tool set that provides reading ability which is nice.
Working version or production level wise i feel that there is a need to provide a VCS (such as a modified form of git perhaps) that anyone can utilise no matter how large or small in order to facilitate remote working. Media files are of course a lot larger than swapping code or libraries but the decisions made on those files are the key component. I for one would like to test working remotely via git commits if only to avoid the naming conventions of 'file_Final_FINAL_MASTER_version3.mxf' naming conventions that get swapped back and forth.

I had the same question, also being a software engineer by trade, thinking of photoshop work.

we can tell the video editing program "revert to version 2.5", edit a bit, then tell it "revert to version 7" and it is able to do that?

I found that Photoshop it lets me set a named version in the history, and I think that's saved in the file...?  For revisions (entries in the history list) that are not named, the nodes are lost from the display when an edit is made to a previous place (branching) and there is no reflog exposed.
New versions of Premiere seem to have a similar history log and I'm guessing is evolving toward the same internal architecture, where each change is another copy of the project that shares most of the statenwithmthe previous. If the history has checkpoints that are saved, it is very much like a git store: each version contains (shared) references to underlying elements on down to the Segment definitions. As the video itself is not in the file, it lends itself well to growing more and more versions with little increase in size.
I saw a seminar where someone on the Photoshop development team explained the architecture. It looks like the history entries you see are analogous to git versions, like gitk displays.  Naming the version is the same as a git tag. You can reset to any visible revision by pointing to it, and reset back too. But making any change that is itself put in history is like doing a full refresh (shift or ctrl F5)— you lose whatever is not chained down to from the current branch head or named tag (but I think things like clone-source references still point to the now-unseen version).
But that's not what I'm writing to suggest. I set the NAS volume where my project resides to make a snapshot every 3 hours.  Windows has a checkpoint mechanism but I think it's not configurable; Mac Time Machine does something similar.
In general, you can archive all saved versions of the file, and in Premiere that is not containing all the imported (constant) assets, so it is reasonable to save them all, even without being able to use deltas to save only what changed.
Just re-learning Premiere and getting more agressive with trying things, I'm confidant that I can revert if next time I work on it I regret what I did, or found a better way and want to do it again.  That is an effective revision versioning system.  Doing it on the NAS, I'm also protected against a BSOD trashing the entire project when saving. :)
update the history is a short length, defaults to 32 entries. It is empty when the project is loaded.  However, the auto-save doesn't just save over the same file like we see in most programs; rather it numbers them and keeps them.  So, I can see the file timestamps and load an older copy, which gives me a version history of 15-minute checkpoints.  In my case, each file is 44K, which is nothing compared to the asset size— it's the size of 76 milliseconds of audio, or 1/7th of a frame of class 10 SD card footage.
If you have the presence on mind to keep a checkpoint with a meaningful name, just Save copy As. But the autosave, set to a high frequency, can be used to revisit any state (to that time granulatity) without advance planning, with little effort.
A note to those non-engineers who are not familiar with version control: Besides the ability to backtrack your work in the obvious way, I also often use it to check what I just changed, or compare with the state of before beginning the current task, or compare with the last verson that's been shared with the group.
Since Premeire now supports opening multiple projects in the workspace, it would be feasible to have a window arrangement workspace setting for comparing two timelines.  That is, make more effective use of having those versions, not just for backup.  I often tell programmers who don't use git how it becomes a general purpose tool, like a text editor.
I wonder how professional filmmakers handle version control, if anything more than ad-hoc? The autosave design seemsmquite purposful, and the integrated script-writing groupware tool does have explicit visible revision tracking.

Having version control for video files themselves is impractical because first, they are huge, second they are moving (are you going to preserve every frame?), third, they are immutable. That is, the original files do not ever change when editing.
But version control for project files makes a lot of sense. Presently, after every significant change I create a new project file and give it some descriptive name - what did I do, what did I add and what did I remove. In essence, I have to maintain the history manually by means of file names. Having project files under version control is a great idea, why I haven't thought of this before!