Canon T3i with Blackmagic Design Intensity to record plays? My school's drama department wants to record their shows. As the school only has really old cameras, the recordings look like garbage. I have a Canon T3i but the recordings stop at 30 minutes. This is where the Blackmagic Design Intensity products come in. The Intensity products can record from an HDMI input. So, in theory, I can connect my T3i's HDMI out to this and record the show on the computer. My only concern is the time. Our shows are about 2 hours. Would this cause the camera to overheat? Would this even work at all?

The problem is that the HDMI output on your T3i is not clean.  You would still have all the UI from the camera interface placed on it.  Higher end cameras (like the 5D mark iii) and some other makes have a clean output option, but I don't believe the T3i does.

You can use the third party MagicLantern firmware to force the interface clean, but at that point you can also have it automatically start a second recording after the first ends and bypass the 30 minute limit altogether.

As far as sensor overheating, it really depends on the camera model and the temperature in the environment you are shooting and how fast it dissipates waste heat.  MagicLantern generally displays an indicator of the temperature of the sensor with some color coding as to how hot it actually is.  You could try using ML and see how your camera handles it, but it may very well run too hot when trying to do two hours at a time.  You won't know for sure until you try though.

As others have noted, ML may or may not void your warantee.  It technically isn't a full third party firmware, but rather just runs on top of the underlying OS that is built in, but it can tweak settings that aren't normally tweaked internally.  There are plenty of cases of people getting warranty replacements on cameras that had had ML installed, but you should be aware that it is not a completely risk free process and in rare cases ML has caused cameras to become unresponsive (or even brick in exceptionally rare cases).


Live desktop feed on green screen: thesis presentation Next week I'm doing my final presentation on my thesis about Android development. Because I go to school in the Netherlands, and my internship is in New York City, I'm going to do my presentation through the likes of something like Skype or Google Hangouts.

For this presentation I was hoping I could use a green screen and project my presentation on the background, like this presentation by Reto Meier on Android 4.4. The difference here is that I think the video has been edited in after the video recording, and I would like to be able to control my presentation live.

Would anyone know of a way to accomplish this? In short, I'm looking for software that can display what's happening on my Mac monitor on a green screen background. I would then like to be able to use that combined view of me and the presentation as a background as a webcam view for Hangouts or Skype.

Thanks in advance,
Dennis Altena

If you have a Mac, download "Cam Twist." It offers reasonable live keying, and it can even put you as picture in picture.

If you use the right browser, I.e. Firefox with the Google Hangouts plugin necessary for hangouts, "Camtwist" will just be an option in the list of cameras.

Download it here.


Creating a stop motion vieo? I love this short 15 second video. I'm a beginner (have mercy), but how did they do this?

One frame at a time. Many film cameras (as opposed to video cameras) will allow the creator to shoot a single frame of film. The camera is set up on a tripod, pointing at countertop with the Quest Bar, strawberries, and peanuts on it. The filmmaker shoots one frame of film. Then he/she moves the Quest Bar a couple millimeters to the right. Then shoots another frame. Moves the Quest Bar a couple more millimeters. Shoots another frame. And so on, until the Quest Bar is in the middle of the shot. Then he/she opens the end of the wrapper a bit, and shoots another frame of film. Opens the wrapper a little more, shoots another frame. Slides the wrapper a couple millimeters to the left, shoots another frame.  And so on.

This is standard "clay animation" or "Claymation". You can read more about it here.


Premiere Pro CC won't import exported image from Lightroom I have a timelapse I shot on my Camera and developed the raw-images in Lightroom. Now I've exported them to a folder called, each file called like file_1.jpg, file_2.jpg, etc.

Whenever I import one or more (as an image sequence) files into Premiere, I get a bad picture. It has a lot of viewable pixels and red stripes all over it. Only when I move forward in a sequence, I can see the original (how I want it to be), but after that the image is replaced with something that looks like this:

Here is the good image:

Chances are very good that you are presently running the initial version of El Capitan (OSX 10.11).  The work-around suggested by Adobe is to change Premiere's Mercury Rendering engine from GPU to CPU (software-only).  That really wrecks rendering performance, but it does solve the problem.

Chances are also very good that if you install the update (OSX 10.11.1) the red-and-yellow pixel stripes will go away, even with the Mercury Rendering engine set to GPU (OpenCL).


Audio/Video Out of Sync with Samsung NX1000 Camera - Why? I'm a total digital video beginner, having a weird (to me) issue in the music videos I've shot with my Samsung NX1000, which is that the video and audio are out of sync with each other, but not in a consistent way (to be clear, I'm talking about video/audio both captured by the camera itself - I'm not using any external mic for the audio). Here's the rundown:

Slightly out of sync when played back in the camera
More out of sync in VLC
Very out of sync in:
Finder windows (when quick-look previewed by hitting space bar)
QuickTime Player 10
Final Cut Pro X

First I imported the movies from my camera to my Mac over USB cable, using the Image Capture app. The files are in .mp4 format, and the related codecs are H.264 and AAC.

Then I tried importing movies directly into FCPX (ticking Optimize and choosing to convert the camera native format into ProRes 422.

Both methods result in un-synced audio/video. However, the amount of delay differs depending on how a given clip was imported. I opened several clips in VLC and was finally able to sync things by adding an audio delay: 200ms for a clip imported with Image Capture, 300ms for a clip imported with FCPX.

Does anyone know what's going on here? I'm sure there are apps I could use to sync the video and audio, but if anyone can help me solve this problem in the camera in the first place, that would really speed up my workflow.

Thanks!

MacBook Pro 5,3
Intel Core 2 Duo 2.8 GHz
8GB RAM
NVIDIA GeForce 9400M

I have a similar problem and that's how I found your question online today... The Mp4 file from my nx1000 was imported as it is on adobe premiere cs3.

The audio and video seem to have same starting and ending point, but the video alone is faster than the original as if it was stretched, and the audio has the normal speed but ends in the middle of the original sound track.

Knowing that I imported the file to a project with the same settings as video, 1080i 29.9fps... I tried again with 25fps and with a video card and without a video card... In vain

The only way I got it right, is unfortunately by decoding it on a software called procoder, to a different format (i chose *.mov), and it worked like a charm on my editing software. But of course I lost resolution... I did not buy the nx1000 so i can decode it and lose resolution for editing!

There should be an answer, I hope you found yours!


How to change every black pixel to a special color? I want to extract all video frames as images and change every black (pure black) pixel of the images to a special color. (R=3,G=3,B=3)

I used this command to extract video frames :

ffmpeg -I myVideo.avi -f image2 -vf yadif -vcodec png image%d

Please tell me how to change every black pixel of the images to color that I want? (I want R=3,G=3,B=3)

Thanks.

You can use the LUT or GEQ filters for this.

e.g. with LUT

ffmpeg -i myVideo.avi
       -vf
       "yadif,format=rgb24,
        lutrgb=r='if(eq(val,0),3,val)':g='if(eq(val,0),3,val)':b='if(eq(val,0),3,val)'"
image%d.png


what is the best digital output format for miniDV tapes I have many tapes that I want to encode with some current, compact codec. this is the output from ffprobe:

[dv @ 0x5642a174c5a0] Estimating duration from bitrate, this may be inaccurate
Input #0, dv, from 'dvgrab-001.dv':
  Metadata:
    timecode        : 00:15:14;26
  Duration: 00:00:46.88, start: 0.000000, bitrate: 28771 kb/s
    Stream #0:0: Video: dvvideo, yuv411p, 720x480 [SAR 8:9 DAR 4:3], 25000 kb/s, 29.97 fps, 29.97 tbr, 29.97 tbn, 29.97 tbc
    Stream #0:1: Audio: pcm_s16le, 32000 Hz, stereo, s16, 1024 kb/s
    Stream #0:2: Audio: pcm_s16le, 32000 Hz, stereo, s16, 1024 kb/s

which video codec from ffmpeg is recommended? output should be watched on a smart TV with 16:9 physical, but I do not expect result will be wide.

h.264.

For DV the default settings will probably be fine:

ffmpeg -i 'dvgrab-001.dv' output.mp4

If the footage is interlaced (the ffprobe says it isn't, but if you see combing artefacts then use this):

ffmpeg -i 'dvgrab-001.dv' -vf yadif output.mp4

The original video is anamorphic NTSC 4:3, meaning that it's stretched slightly out when played back, this should be fine with the TV, but if not you can re-sample to make square pixels:

ffmpeg -i 'dvgrab-001.dv' -vf scale=728:540,setsar=1:1 output.mp4

If the video is supposed to be 16:9 but is playing back squashed you can set the Display Aspect Ratio thus:

ffmpeg -i 'dvgrab-001.dv' -vf setdar=16:9 output.mp4

Or resample for square pixels thus:

ffmpeg -i 'dvgrab-001.dv' -vf scale=960:540,setsar=1:1 output.mp4


In Windows, how do I find the geotags for videos shot in iOS? I have footage shot with the stock iPhone Camera app (5S running iOS 8.x).  Inside iOS Photos, I can see the geo coordinates where each video was shot.  However, I don't know how to get at that information once I'm in Windows and looking at the same .mov file.  I'm on Windows 10, for what it's worth.

Use exiftool, a command-line tool. GUI available from here.

Relevant feature:

  Reads EXIF, GPS, IPTC, XMP, JFIF, MakerNotes, GeoTIFF, ICC Profile,
  Photoshop IRB, FlashPix, AFCP, ID3 and more.

Should look like this, in readout:

  GPSCoordinates                  : 20.884100° N, 21.319300° E, 17 m
  Above Sea Level


Concatenate videos by pipng to ffplay I would like to dynamically generate infinite video stream from video clips, so that choose next one on the fly.
I was inspired by ffplayout project which runs ffplay and make it read from stdin,
and then runs ffmpeg and stdout is redirected to ffplay. It works nice when streaming to rtmp server (probably because there is some buffering applied on the way), but when using ffplay you can notice some glitches on video transition.

Video is converted to mpegts for transport through pipe.

I was testing on this video which is made for looping.

In order to eliminate ffmpeg startup, file read delay, I did what follows:

# saved raw output
ffmpeg -i tunnel.mp4 -f mpegts tunnel.mpegts
# made fifo.ts
mkfifo fifo
# run ffplay to read from stdin
ffplay -an -f mpegts -i pipe:0 <fifo.ts
# write video to fifo
cat tunnel.mpegts tunnel.mpegts tunnel.mpegts tunnel.mpegts >> fifo.ts

still glitches on transition.
I even tried to read video to memory and write to fifo to eliminate disk io

def main():
    with open('tunnel.mpegts', 'rb') as fd:
        tunnel = fd.read()

    with open('fifo.ts', 'wb') as fd:
        for _ in range(5):
            fd.write(tunnel)

still glitches.

Any idea how to make it work? Maybe another ffmpeg on the way that would buffer/delay/join/transcode?

I think the problem is not the caching, but the fact that ffplay don't get a clean encoded stream.
With your yellow tunnel clip you can try this:
while true; do
    ffmpeg -i tunnel.mp4 -c:v mpeg2video -b:v 50M -c:a s302m -strict -2 -ar 48k -f mpegts -;
done | ffmpeg -re -i - -c:v mpeg2video -b:v 50M -c:a s302m -strict -2 -ar 48k -f mpegts - | ffplay -

And you see, that there is almost no glitches anymore. This is not a really nice solution, but the second ffmpeg instance would recompress the hole stream.
When is just about playing on desktop I would try more somthing like python-mpv.


Record for an hour using mobile phone I want to record someone speaking for about an hour without any gaps. To do this i'm using a Samsung Galaxy s8.

The default video application splits the video into 4gb files when recording longer videos; which would be ok,  but when I take them into a video editor to join them,  they don't fully match up.

Is there a way round this without rooting my phone.

I've tried a few video applications and recorded to the internal and sd memories.

Open Camera is an open source app that let's you do this. You can configure it for various times including unlimited.

Android has typically a 4GB limit on video size. Your one hour video will most likely exceed this limit
. Open Camera let's you restart the video automatically after the 4 GB limit is reached which can be joined in a video editor


How to film theatre performances? I am working with a small amateur theatre group, and they would like to record their performances. We tried with a consumer-grade camcorder. positioned behind the audience, but image quality and sound quality were poor.

For the sound quality, I guess the problem was that the camcorder's built-in microphone is not meant to record people on a stage ~10meters away, with ~100 people audience in between.

For the image quality, well, we had some problems with the auto-focus, also the changing light conditions on stage caused trouble. e.g. sometimes the light goes off, the stage is modified in the dark and then light goes back on. In those situations, the camcorder usually tried to get a picture in the dark, which led to overexposure when the light went back on. Also, there was a situation with one actor in a spot on the left side of the stage and the rest of the stage in the dark. In this situation, the camcorder's autofocus went crazy. Apparently, it could not decide what to focus on, and tried to focus on something else every other second.

What kind of equipment/setup do you suggest for this?

PS: It would be a nice plus to have a live monitor, such that actors backstage can see what happens on the stage.

Most cameras have a mode where you can manually control all the settings.. I would set the camera to manual mode, do some tests during a rehearsal.  Adjust the exposure so that nothing is over or underexposed when the stage is normally lit, and manually set the focus such that anyone on the stage is in focus at all times.

Ideally for audio, you would use radio mics on the actors, and record the output from these, as well as a couple of ambient mics to capture the audience, but this requires a sound mixer... If the actors are being amplified already, take a feed from the sound mixer's desk into your camera.  If not, then a stereo pair of mics placed as close to the actors as possible (but not picking up feet noise) might be the next best option.

With more budget, multiple cameras, with multiple operators, long lenses, etc etc... but the points about auto exposure and auto focus would still hold true.

Monitors in the other room depend on the video output options from your camera - what model are you using?


Lighting for "no-shadow" effect I'm really impressed by this video.

How to produce this no-shadow effect?

How many lights do you think are required? What kind of light? Would some classical bulbs that I have at home work?

How to produce this no-shadow effect?

Some examples will explain this best.

Lighting with a soft box makes the shadow soft and unobtrusive.

When close to a subject, the light rays from a large light source strike the subject from many angles. The closer the light is, the softer its shadows are.

Results of the lighting setup. A fill card was used to lighten the front of the gourd by reflecting some light from the overhead soft box.

Images and captions from Light – Science & Magic: An Introduction to Photographic Lighting.

  How many lights do you think are required?

This could be done with one light, but it should be a large light source relative to the object. This doesn't mean the light itself was large, but the area the the light is being emitted from was large enough to cause scattered, soft light.

This is often done by placing diffuse material between the light source and the subject such as a soft box attached to the light, a diffusion panel from a cheap collapsible reflector, a light shed/tent that you can make yourself, or even some tissue paper (make sure it doesn't catch on fire). This results in a light quality similar to an overcast sky.

  Would some classical bulbs that I have at home work?

I don't know what a classical bulb is, but sure, you could possibly use typical household bulbs if they provide enough light for your camera and if you properly setup the scene. Don't forget to set the white balance. Use the same type of bulbs; don't mix types due to the potential differences in color temperature.


Having trouble with an screen recording saved as AVI from Rylstim Screen Recorder When I save the recording it produces an AVI. The AVI play perfectly on my computer. When I bring it into Premier though it gets extremely choppy.

The AVI file also won't process on YouTube, I was going to post it for you all to compare.

I'm not sure what could be causing the issue. The Screen Recorder is set to Frame rate of 30. It does have a Codec. I left it on the default Xvid MPEG-4 Codec. Here's a screenshot of the options.

Would changing to one of the other Codec be a possible solution? Or what other options can I try?

The video may look choppy because of the codec you're using. For fun, I recommend trying out your h.264 variant, x264vfw. I know that h.264 is almost ubiquitously used for internet content.

Playback in premiere is extremely variable when it comes to sequence settings, video preview settings, system preferences (such as scratch discs, and optimizing for memory consumption/performance) and also what type of hardware you have (Nvidia GPUs mercury playback v.s. AMDs OpenCL). I recommend checking out this guide on optimizing your premiere experience: http://blogs.adobe.com/aftereffects/2011/02/optimizing-for-performance-adobe-premiere-pro-and-after-effects.html


Adobe After effects watch folder render all composition I am saving an After effects file in a watch folder which is being watched by Adobe media encoder using extendscript , the problem is all the compositions are rendered to a video by adobe media encoder, I want to instruct the AME to export only one composition(the main comp) from the project, Is there any way around to achieve this?

Make sure that only the comps you want rendered are in the top level of the project. If there are compositions that you don't want rendered, such as subcomps, put them in a folder in your project window


How do I set up and use ffmpeg in Windows? I understand that ffmpeg is a powerful tool for video file conversions. I see online in many places people suggesting it for solutions or getting help in how to use it. The problem is I don't even know how to set it up or use it at all. These posts I'm talking about usually take the form "Use ffmpeg [complicated and unreadable line of code]." I'm not really a programmer, but I can do few things, so I think I can figure it out, if I just had a bit of direction.

How do I set up and use ffmpeg in Windows?

FFmpeg is indeed a powerful video encoder/decoder tool¹. It operates in the command line, as opposed to using a GUI. Command line is that black window you find by clicking [windows+r] and typing cmd then hitting enter. This is also called "command prompt". Once setup you enter ffmpeg commands in one of these windows to use it.
Here are the basic steps to "install" and use it:
Installation

Go to the ffmpeg download site and download the zip file that best fits your computer's specs. Choose the "static" linking and the "nightly git" version for the most current usability.
Create a folder on your computer to unpack the zip file. This folder will be your "installation" folder. I chose C:\Program Files\ffmpeg\. This is a good idea because you will treat this like a regular program. Unpack the zip file into this folder.
The folder should now contain a number of other folders, including one titled bin where ffmpeg.exe is saved. We're not done yet. Double clicking that file does nothing. Remember, this is a command line program. It runs in cmd.
Before you can use ffmpeg.exe in cmd you have to tell your computer where it can find it. You need to add a new system path. First, right click This PC (Windows 10) or Computer (Windows 7) then click Properties > Advanced System Settings > Advanced tab > Environment Variables.
In the Environment Variables window, click the "Path" row under the "Variable" column, then click Edit

The "Edit environment variable" window looks different for Windows 10 and 7. In Windows 10 click New then paste the path to the folder that you created earlier where ffmpeg.exe is saved. For this example, that is C:\Program Files\ffmpeg\bin\
![Add new system path Windows 10]]3
In Windows 7 all the variables are listed in a single string, separated by a semicolon. Simply go the the end of the string, type a semicolon (;), then paste in the path.

Click Ok on all the windows we just opened up.

ffmpeg is now "installed". The Command Prompt will now recognize ffmpeg commands and will attempt to run them. (If you are still having issues with Command Prompt not recognizing ffmpeg try running CMD as an admin. Alternatively, you can use windows powershell instead of cmd. If it still does not work double check to make sure each step was followed to completion.)
Updating ffmpeg
To update ffmpeg, just revisit the download page in step 1 above and download the zip file. Unpack the files and copy them over the old files in the folder you created in step 2.
Using ffmpeg
Using ffmpeg requires that you open a command prompt window, then type ffmpeg specific commands. Here is a typical ffmpeg command:
 ffmpeg -i video.mp4 -vn -ar 44100 -ac 1 -b:a 32k -f mp3 audio.mp3

This command has four parts:

ffmpeg - This command tells cmd that we want to run ffmpeg commands. cmd will first look for ffmpeg.exe in one of the folders from step 6 in the Installation section. If it is found, it will attempt to run the command.
-i video.mp4 - This is an input file. We are going to be doing work on this file.
-vn -ar 44100 -ac 1 -b:a 32k -f mp3 - These are the "arguments". These characters are like mini commands that specify exactly what we want to do. In this case, it is saying create an mp3 file from the input source.

-vn - Leave out the video stream
-ar 44100 - Specifies audio resolution in hertz.
-ac 1 - Audio channels, only 1. This is effectively "make mono".
-b:a 32k - Audio bitrate, set to 32 kbps.
-f mp3 - Force to MP3 conversion. Without this command, ffmpeg attempts to interpret what you want based on the extension you use in the output file name.

audio.mp3- This is the output file.

As you can probably guess, this short command makes an MP3 audio file from an MP4 file.
To run this command, assuming you have an MP4 file to try this on, follow these steps:

Hit the Windows key + r.
Type cmd then enter.
Change the path to where the file is that you want to work on. Type cd [path]. It should look something like cd C:\Users\name\Desktop\.
Now type the ffmpeg command with the name of your input file. The command will run with some feedback. When it's done, cmd will be available for more commands.

This is the basic way to use ffmpeg. The commands can get far more complicated, but that's only because the program has so much power. Using the ffmpeg documentation, you can learn all the commands and create some very powerful scripts. After that, you can save these scripts into a .bat file so that you just have to double click a file instead of type out the whole command each time. For example, this answer contains a script that will create MP3's from all the MP4's in a folder. Then we would be combining the power of ffmpeg with the power of cmd, and that's a nice place to be when you have to do professional quality video/audio encoding on mountains of files.

As a point if technical accuracy, ffmpeg is itself not an encoder or decoder. It is a program that can be compiled with a large variety of encoders, decoders, muxers, and demuxers, based on user preference. All of these encoders etc, can be used without ffmpeg.


Convert 29.970030 fps .mp4 to 29.970000 I'm working on web project where the position of the user's mouse triggers a video to play forward and backwards.

Here's my problem: The code I'm using to achieve this requires the video file to be exactly 29.97000 fps, but exporting my work from Photoshop/Premiere gives me 29.970030 fps. Re-encoding the video with Handbrake gave me the same result. Currently using OSX 10.11.6.

Is there a way to "force" Adobe Suite Applications/Handbrake to export video @ exactly 29.97000 fps, or do I need to use a more barebones method (VirtualDubMod, AviSynth, ffmpeg, etc) to achieve this?

Any help/advice is much appreciated!

The definition of "29.97" is correctly 30 * (1000 / 1001), which is 29.97002997. That's what you have. I don't know why do you think you need exactly 29.97000, but it's probably a misunderstanding.


Is it possible to create a continuously looping video? Is is possible to create a continuously looping video? Maybe by editing the container it's in so that it restarts automatically?

I have a demonstration video that is playing on a TV in the lobby of our offices. The video is being played by the the smart functionality of the TV. The TV unfortunately doesn't include any kind of looping capability. My current solution has been to concat the video so it is one longer video but it would be nice to not have to go and restart the video every hour.

The file format that can be played is fairly flexible.

I make similar videos for our corporate reception, interstate and overseas offices, events, conferences and presentations etc. The answer is to look outside the video file itself and focus on the application that is playing the file - you want the application to loop the video file playback.

An alternative approach that works on some devices is to embed the single instance of the video file in a PDF and set the playback preferences of the PDF viewer to loop.


Why is after effects turning my Prores audio into white noise I have some footage that I converted from red to prores444. I am able to view the converted mov in quicktime and the audio sounds fine. However, I when import it to Efter Effects, the audio previews and exports as white noise, I can see the waveform in the audiotrack, but it won't play. Any ideas what might be causing this?

My guess would be that AfterEffects is assuming something about the audio format which Quicktime is handling correctly but AE is not.  Check your format settings; you might need to specify a different byte ordering (also called "byte swapping") or tell it to be explicitly 16-bit instead of, say, 24-bit.  In Quicktime you can see what the audio format is via the movie inspector.


8bit vs 10bit vs 12bit I do a lot of HEVC encoding and what I've read is 10bit is always better than 8bit, even from an 8bit source, because it avoids rounding errors. Is that true?

Also, then is 12bit better than 10bit or are the rounding errors insignificant at that point?

I can answer your first question. At the same bitrate and transcoding from an 8-bit source 10-bit HEVC is better than 8-bit HEVC, because it hardcodes dither. https://gist.github.com/l4n9th4n9/4459997
I am still unsure, whether that makes 12-bit HEVC transcodes superior  to 10-bit, thats why I ended up here.


How to produce assemble effect in software product videos I have seen in different software product videos that the UI is assembling during the video. How is such an effect produced?

Here are a couple of examples:

Lumiar:

Salesforce:

How are these sequences produced? Which tools are getting used?

These sequences are produced using Animation™. Animation™ is the technique of manipulating objects or images to create the appearance of motion. If you look closely at the sequences, maybe slowing them down so you can step through them frame by frame you'll be able to see what's going on, and then you just have to work out how to do it with whatever tools you use.

I'd say screen shots of the UI elements have been chopped up with an image editor (e.g. , CinePaint, Darktable, DigiKam, F-Spot, G'MIC, GIMP, GimPhoto, GIMPshop, GNU Paint, GrafX2, GraphicsMagick, gThumb, Hugin, ImageJ, ImageMagick, Inkscape, KolourPaint, Krita, LazPaint, LightZone, MyPaint, Panorama Tools, Pencil2D, Phatch, Pinta, Rawstudio, RawTherapee, Seashore, Shotwell, Tile Studio, Tux Paint, UFRaw, XPaint, Brush Strokes Image Editor, Chasys Draw IES, FastStone Image Viewer, Fatpaint, Fire Alpaca, Fotografix, IrfanView, MediBang Paint Pro, Moai[1], Paint.NET, PhotoScape, PixBuilder Photo Editor, Pixia, Project Dogwaffle 1.2 Free Version, XnView, Ability Photopaint, ACD Canvas X (formerly Deneba Canvas), ACDSee, Acorn Image Editor, Adobe Photoshop, Adobe Photoshop Lightroom, Adobe Photoshop Elements, Affinity Photo, ArcSoft PhotoImpression, Artipic, ArtRage, Autodesk SketchBook Pro, Bloom Image Editor, Capture One, CodedColor PhotoStudio Pro, Corel Painter, Corel Painter Essentials, Corel PaintShop Pro, Corel Photo-Paint, Erdas Imagine, GraphicConverter, Helicon Filter, Iridient Developer, LView Pro, Manga Studio, Microsoft Paint, NeoPaint, OpenCanvas, Paint Tool SAI, Photogenics, PhotoLine, Photo Mechanic, Photos (Apple app), Photo Raster, PicMaster, Pixelmator, Pixen, PMview, Portrait Professional, Project Dogwaffle, QFX, Serif PhotoPlus, TVPaint, Xara Photo & Graphic Designer, Zoner Photo Studio, Mara, Pixlr, PicMonkey, PicsArt).

Then the separate elements were then moved around in an animation / compositing app, e.g. Blender, Cinelerra, Kdenlive, Natron, OpenShot, Shotcut, Adobe After Effects, Apple Motion, Autodesk 3ds Max, Autodesk Inferno, Flame and Flint, Autodesk Maya, Autodesk Smoke, CompTime, FXhome HitFilm, Saber, Houdini, Blackmagic Fusion, Mistika, Nuke, Piranha, SilhouetteFX, Autodesk Combustion, Autodesk Softimage, Autodesk Toxik, Aviary, Peacock, Avid DS, Avid Elastic Reality, Avid Matador, Avid Media Illusion, Kodak Cineon, FXhome Lab, Range, Pinnacle Commotion, Silicon Grail's RAYZ and Chalice or Shake.


How to shoot a party scene with few people? I have about 7 people and need to give the feel of 20. I'm using a long lens, any tips or solutions?

I agree with @DrMayhem, but I have a few things to add.

You only need one or two establishing shots that show the whole group.  The audience will continue believing that you're in a room full of people after you show it to them once.  For the establishing shot(s), you can shoot the same people, wearing different clothes & accessories, in front of a green screen.  Make sure the lighting and the height of the camera will match with the lighting and camera height in your party setting.  When shooting the group in front of the green screen, position them closer to the camera.  Then shoot the same people again in the actual party setting, farther from the camera.  In post-production, layer the green screen footage of the people over the actual party setting, and it will give the impression of twice as many people.  You can also do 2 "layers" of green screen footage, with the same actors 5-10 feet farther away from the camera, in front of the green screen (and wearing different clothes, hats, glasses, wigs, etc.).

For the rest of the scene, you can use medium and close-up shots.  Include people on the edges of the shot, and passing through the shot, and behind the main actors, to make the audience feel as though there's a whole party going on outside the frame they're looking at.

For the end of the scene, you may want to show the establishing shot (green-screened) again, to "bookend" the scene.

The scene's audio will help "sell" the illusion. Layer additional voices (not more than the number of party-goers!) and various party noises.

I did a cheaper version of the green screen trick in the middle of YouTube video, to make a conference room look full of people even though I only had 3 actors. The establishing shot only lasts for a second, and the action draws the viewer's eye away from the fact that the "people" in the chairs around the table are actually just still pictures I overlaid in post.  Here's the link if you want to see the vid.  The effect shot comes shortly after the 32-second mark, but it's more convincing if you start watching at 0:32 (or at the beginning).


Benefit of having a GPU for adding watermark using FFMPEG using x.264 My understanding is that GPU acceleration is not beneficial to encoding using x264.

The question is if there is any benefit to having a GPU if you are also adding a watermark.

GPU acceleration is beneficial to encoding; that is its main use. But it has no benefit with x264 which is entirely CPU-based.

There is a H/W overlay filter but the speed improvements are negligible, AFAIK, because of the memory ops transferring data to and from GPU memory. It's primary benefit is for when the entire pipeline is GPU-bound.


how to measure bitrate of video over time Given an encoded video file with non-constant bitrate, how would one analyze the bitrate over time? So far I found one old program that produces a bitrate plot, but none that can give the raw data of the encoded frames.

I think bitrate data should be generated by averaging the size of a set of frames spanning 1 second--i.e. frames with a DTS belonging in that interval. So a 10 second video would have 10 data points describing the encoder input bitrate. Though I am curious to hear alternative ways of calculating bitrate.

Is there a way to get the size of each (encoded) frame? preferably with windows software. I know it is trivially easy for an uncompressed source (resolution * bitdepth * time).

It does not make sense to speak of the size of an encoded frame in an inter-coded video stream, which is typical of MPEG-X videos. I-frames are self-contained but P- and B- frames are predicted frames and the final decoded result uses data from various inputs. On the other hand, the size of a single Group of Pictures (GOP) may be a meaningful measure.

The FFmpeg segmenter in combination with a compatible demuxer can break apart the video stream at GOP boundaries. By specifying an ultra-low time for segment size, you can ensure that each segment contains 1 GOP. Running a ffprobe on each segment will then provide the bitrate for that GOP.

I tested the command below on MP4s which had 1) a variable-sized GOP, 2) an intra-coded scheme and 3) fixed GOP of unusual length (11 frames), and each output had the expected result.

ffmpeg -i input.mp4 -an -c:v copy -segment_time 0.00001 -f segment i%0d.mp4

Each segment contained exactly 1 I-frame (each segment of the intra input contained exactly 1 frame in all).

Running ffprobe on each segment gives a bitrate reading:

Duration: 00:00:00.37, start: 4.466016, bitrate: 1539 kb/s
Stream #0:0(eng): Video: h264 (High) (avc1 / 0x31637661), yuv420p,
1280x720 [SAR 1:1 DAR 16:9], 1520 kb/s, 30 fps, 30 tbr, 15360 tbn, 60 tbc (default)

The above one is from the 11-frame GOP, and has a bitrate of 1520 kbps.


Adobe Premiere Pro Rendering in Linux I was really wanting to build a Raspberry Pi Linux Cluster (~20GB RAM, etc). I was wondering if it would be possible to render video from Adobe Premiere Pro to Linux and how I would incorporate a rendering farm to split up the tasks. Thanks for all of your help!

At the moment, Adobe Premiere Pro struggles to run properly on the systems it supports--Windows 10 and Mac OS 10.10.  As of today, Adobe does not even recommend running it on Mac OS 10.11!  Premiere Pro does not run at all on Linux, and while you might be able to create some virtualized environment that can host a cluster of OSX or Windows instances on a Linux cluster, such virtualized environments are weakest where Premiere Pro needs them to be strongest: at the CPU/GPU interface.  In summary, not today, and likely not in the near future.

A far better starting place for your cluster project would be to select an open source video editor (here's a snapshot of the state of the art for 2015) and evaluate what sort of Raspberry Pi cluster is needed to compete with a typical modern GPU.


VHS to digital, flickering, lack of video and good sound I'm trying to convert some VHS videos into digital.
To do so, I got the VGB100 from August and connected it to the VHS player and to my computer.

I've used two applications to capture video:

Arcsoft Showbiz
VirtualDub

Both of them get the same input.

Most of the time the image doesn't even show but when it does, it is a very flickery image in general and from time to time you can see the image more or less good.

I've tried it with the most recent VHS cassettes I have (spiderman 1, Toy Story 1...) and I get the same result with all of them.

Do you think the problem is in the VHS cassettes?
Or in the VHS player?
Or in the SCART cable / output / cable?
Or even on the VGB100 device?

If you are using old VHS player, then its head can be dirty

Also VHS cassettes' tape can be dirty, but how I understand you using new cassettes.

So, try to connect your VHS player to TV. If signal will be the same, you need to locate that thing:

And clean it and head (black thing on background to the left)

You can do it by yourself or maybe there still exist place in the world, where professionals can do it for you.


Connecting T6i to Elgato Game Capture HD I recently purchased an Elgato HD for my MacBook Air, and I am fairly new at learning how everything comes together, so bear with me.

I am trying to connect my Canon T6i as a capture device and I have been semi successful, but I have some other questions. I have connected the camera to the capture card via HDMI, but it can only be recognized through USB and I'm not fond of the delay. Is there any way around this? I may be wrong, and correct me if I am, but I was under the impression that I could use the Elgato HD to capture video through HDMI.

My setup right now has HDMI from the T6i to the capture card, and another HDMI from the capture card to an HDMI adapter. I'm assuming this is my issue here, but I have not found any clear answers anywhere.

Witch HDMI adapter are you talking about? You can only connect your Elgato to your Mac via usb, no other way. The delay in some frames is pretty normal in a MacBook Air.


Metal particle Hi8 tape degradation Recently I was playing a Hi8 tape from 1998, when I tried rewinding and rewatching a part (stopping the tape, before rewinding).  The part of the tape I had just watched was highly distorted and black and white.

So, I've learned the hard way that old metal particle tapes are prone to being erased, when watched.  Presumably, the 'MP' on the tapes stands for metal particle?  These tapes have been stored in a safe place.  How many years before this problem arises with MP tapes?

Is there a better alternative than playing these tapes into a capture card?  If not, I realize that I only have one chance to capture this video.  If this is the only option, I'll expect to capture until the read head becomes too affected by residue, and then stop and clean the head, and repeat.  Any advice would be appreciated.

Edit

Unfortunately, I've found out the hard way there are consequences to over-using a cleaning tape.  The head is either dirtier than before, or damaged.

You do need to play the tapes onto a capture card, yes. And the sooner the better. You don't just get one attempt, but you will get a slight degradation of quality every play, so you are best off aiming to do it in one pass if possible.
First think about cleaning any metal particles from the read head, and then look at this technique archivists use where they bake old tapes when they shed is.gd/LxdRGH - thanks @stib.
I recently captured about 50 tapes from the late 80's to the mid 90's and I did about half of them then cleaned the head then did the other half. Degradation wasn't noticeable, but I just thought I should do it just in case.
As to how long you can store them - is the safe place shielded from EMF, heat and humidity, then they can last for years, but due to the nature of magnetic tape, the magnetic field strength of particles affects adjacent particles, so quality will degrade no matter what.
When configuring your capture, set it for the highest quality you can afford - as there are utilities which can clean up some noise and speckle once the signal is digitised.


FINAL CUT audio syncing I make videos about drums and music. I record audio separately to video.
when I align the audio with the video after the fact, I always feel final cut never gives me enough resolution in terms of aligning the two media.
Also, just the visual of the waveform doesn't give me enough information for alignment (IMO).
example of a video I produced where I feel the visuals are minutely out of sync with the audio:

Is there a function to sync audio to a clip automatically (and with 100% accuracy)?
can i raise the resolution of the timeline in final cut? if not, what other options are there for me?

record the audio separately AND on your camera.  Then in the editor, align the 2 AUDIO waveforms.  Play them back both together.  If you hear an echo then they are not exactly aligned.  After you have them aligned, then turn off the camrea audio and keep the audio you want.  Mark


Add image above the video with ffmepg Apologies for being a ffmpeg noob, but I'm having trouble with modifying the answer to

Add image under the video with ffmepg

to place the image above instead of below the video...

My questions is in regard to modifying the command

ffmpeg -i video.mp4 -i image.png -filter_complex "[1:v]scale=320:-1[bottom];[0:v][bottom]vstack" output.mp4

I tried many different variations of this command to no avail and I think its my misunderstand of filter_complex and the meaning of "[1:v]" "[bottom]" and "[0:v]"

Thanks in advance for your help!

The basic form will be

ffmpeg -i video.mp4 -i image.png -filter_complex "[1:v]scale=320:-1[top];[top][0:v]vstack" output.mp4

A label of the form 1:v, equivalent to 1:v:0 within filters, is a stream specifier - it means use the first video stream of the 2nd input. 0:v refers to the first video stream of the first input.

The bottom in your command and top in mine are arbitrary labels assigned to the result of the scale filter.

Then that resulting stream is fed first to the vstack so that it gets stacked on top.


How do I make titles look like they are in the room as an object? I want the titles to look like they are actually there moving with other objects in the room

The technique you are looking for is called "motion tracking".  Currently, FCPX doesn't have the ability to do this on its own, but you could use Apple Motion or Adobe After Effects to accomplish what you're after.  Motion tracking, in general, follows patterns of pixels as they move around the scene.  Depending on the effect you're after, and the demands of your scene, you may be able to get away with just using this x-y coordinate data.  If, for instance, you wanted to replace the text on a moving truck, you could just track the corners of the truck and "corner-pin" the new text over top of it.

For more advanced projects, you need to actually reconstruct the camera's position in space.  This technique is called "3D camera tracking".  It's possible in After Effects (I don't remember if Motion has it though), and there are other apps which are purpose-built for this task, including: Boujou, Syntheyes and PFtrack.  Cinema 4D and Nuke also have this capability, but they do other stuff too.

However, 3D Motion tracking on its own is not enough to make your titles appear to actually be in the room.  You'll also need to composite the titles well, if you're going for trompe-l'œil realism.  And if you want any of the objects in the room to pass in front of the text, to give the scene more depth and realism, you'll also need to research a technique called "rotoscoping".


Is it better to scale video or images when doing time-lapse? Without caring for speed of processing, extra disk space needed, and other such factors, which of the following two is better (i.e. produces higher quality/better compressed video).

Scale each individual image with imagemagick's convert, and then use that as the input to libav without any additional filters.
Keep the images as is, but then apply scale video filter at the encoding time.

It is going to depend on which of the two provides a higher quality resize option.  If imagemagick's convert is higher quality than the scale of your encoder, then it will do better, if not, then it will be the other way around.

The one exception to this will be if there is any resolution dependent alterations made to the content along the way.  If for example, you add text to the video, it would be much better to scale the images so that the you are creating new content at the native resolution of the finished video.

Anything you can avoid scaling you should and if the images are larger than the output, the earlier you can scale them down, the faster everything else will run anyway.

So with that in mind, I would generally scale down the images initially, if it was necessary to have the video at native resolution already when encoding, though most decent editing software will make it irrelevant because they will use the full quality image and put any new content at the native resolution and still combine everything to the proper resolution when rendering out at the end.


Blending images together to form a single exposure I am trying to create a hyperlapse and I'm following a certain method that is mentioned in this post:

http://blog.planet5d.com/2016/03/time-warp-saigon-with-the-dji-osmo/

  So if you
  now want it to look like you shot an image every 4 seconds, you have
  to take 2 seconds of video and blend the frames to form a single
  exposure.

I created a script that extracts out the images from each frame of the video via ffmpeg. Now, I'm trying to create a single blended image from each 2 seconds of video which was shot at 30fps. I have tried imagemagick but the results are ok. There is quite a bit of ghosting going on along with some other artifacts.

Here is the command I used:

convert frame*.jpg -evaluate-sequence mean output_file

I've also tried the median option but it came out even worse. Not sure if it works well if the camera is not fixed in one position.

I'm wondering if there are other options out there for blending images together. Am I on the right track with imagemagick?

Here is an example of a blended photo that has the green lights (from people carrying light sticks) that stays consistent throughout much of the video and ghosting on the left hand side.

Note: I am using the same gimbal as shown in the video.

'Not sure if it works well if the camera is not fixed in one
  position.'

Correct. If you're doing time-lapse you need to have the camera stabilised somehow, or it's going to look wobbly AF. If the camera is moving in real time, then when you speed it up it will be moving 30 times as fast, so something that might look like a slow pan turns into a whip pan.

If you average out 30 frames then you're going to see partial exposures of everything in those frames, which means if something is moving rapidly you'll get a semi transparent 'ghost' of it - the less frames it is in, the more transparent it will appear.

The reason that video works well is that they're using an electronic gimbal to stabilise the camera—that's what they're showing off. Even though the frame is constantly moving there's enough that is consistent across the whole second to achieve a sharp frame, and the camera motion is stable enough that when it's sped up it's still fluid.


Multiple Videos On Screen I'm trying to get a whole bunch of videos on screen, playing at one time. The idea would be to slowly pan into the central video. Any ideas how this can be achieved? I'm using Sony Vegas Pro 9. I've attached these two pictures to illustrate what I'm trying to achieve.

Tim

Use Track Motion to create video wall - 9 tracks, each clip on its own track. There are tools that can help you to do it (I use Pan/Crop Assistant from Vegasaur toolkit).
Add another track (parent track) and make these 9 tracks composing childs of this parent track.
Use Parent Motion to create pan/zoom animation.

Read in the Help about Track Motion...


Digital TV SCTE 35 signal There is a standard for Cable TV called SCTE 35 that can signal ad insertion. I need to play around with this signal.

I have a ATSC receiver now, and I can record TV into .TS file format. How can I check if a channel includes SCTE 35 signals?

UPDATE: Upon checking, unfortunately none of my current 4 channels include SCTE-35 signal (US ATSC receiver: Bounce, Escape, LAFF, Create, KUVN). Do we have any digital TV channels in the US that have that signal?

To determine if a channel has SCTE-35, you will need to have the Program Map Table (PMT) recorded. From the PMT, you should be able to find the Packet Identifiers (PIDs) of all of the streams associated with the channel you are interested in. There will be a PID for the video and at least one audio PID. If SCTE-35 is present, there will be at least one PID with a stream type of 0x52.

Keep in mind, the PMT and the SCTE-35 PID will either need to be in the clear or you will need to be able to decrypt the conditional access.

The easiest way to check all of this is with a transport stream analyzer. Most of the freely available ones, like DVB Inspector, will show you the PMT. However, you will probably need a commercial analyzer to get it to display something more than just the raw SCTE-35 bytes.


Why does ffmpeg report wrong or missing size information when demuxing some EXRs? I am converting EXR image sequences to mp4. Some sequences are converted without error, but others report "wrong or missing size information" and generate . It is difficult to identify what is different in these sequences. So far it seems that:

Single layer EXRs always work, multilayer EXRs usually work
EXRs with no transparency always work, EXRs with transparency usually work
ExifTool reports a "Composite" image size of 1920x1082 on failing EXRs
Increasing analyzeduration and probesize makes no difference
Explicitly setting video_size 1920x1080 on failing image sequences makes no difference (stills fails, slightly different error message)

C:\Users\username\Documents\exr_bad1>ffmpeg -y -start_number 101 -i F1_255_020.%04d.exr test.mp4
ffmpeg version 2.8.4 Copyright (c) 2000-2015 the FFmpeg developers
  built with gcc 5.2.0 (GCC)
  configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libdcadec --enable-libfreetype --enable-libgme --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-lzma --enable-decklink --enable-zlib
  libavutil      54. 31.100 / 54. 31.100
  libavcodec     56. 60.100 / 56. 60.100
  libavformat    56. 40.101 / 56. 40.101
  libavdevice    56.  4.100 / 56.  4.100
  libavfilter     5. 40.101 /  5. 40.101
  libswscale      3.  1.101 /  3.  1.101
  libswresample   1.  2.101 /  1.  2.101
  libpostproc    53.  3.100 / 53.  3.100
[exr @ 04e48880] Wrong or missing size information.
[image2 @ 04e536a0] decoding for stream 0 failed
[image2 @ 04e536a0] Could not find codec parameters for stream 0 (Video: exr, rgba64le): unspecified size
Consider increasing the value for the 'analyzeduration' and 'probesize' options
F1_255_020.%04d.exr: could not find codec parameters
Input #0, image2, from 'F1_255_020.%04d.exr':
  Duration: 00:00:01.20, start: 0.000000, bitrate: N/A
    Stream #0:0: Video: exr, rgba64le, 25 tbr, 25 tbn, 25 tbc
[buffer @ 04e4cdc0] Unable to parse option value "0x0" as image size
    Last message repeated 1 times
[buffer @ 04e4cdc0] Error setting option video_size to value 0x0.
[graph 0 input from stream 0:0 @ 04e81c60] Error applying options to the filter.
Error opening filters!

ExifTool reports a "Composite" image size of 1920x1082 on failing EXRs

This was the problem. Some multilayer EXRs were made up of multiple 1920x1080 layers, but the layers were not aligned, so the final size was incorrect (as reported by ExifTool) and ffmpeg couldn't handle it.

After correcting the EXR generation, the new image sequence worked.


Saving disk space, but not quality I'm pretty new at this...  I captured my analog 8mm video tapes in .avi, planning to edit them with Premier.  But I need to make space in my external hard drive.  I have the Adobe Encoder, but I'm afraid I will loose quality in my videos if I use it!  Also, I see it will change my captured videos from .avi to .mp4.
My idea is to keep these external hard drives as a "master".
Should I use the Encoder to save space, or to get extra hard drives and leave it that way?
Thanks a lot!!!

There isn't a perfect answer to this problem.  AVI and MP4 are just container's for video streams, so without knowing more about the actual streams in the containers, it is impossible to tell how much quality loss there would be, but as a general rule of thumb, it isn't all that atypical for AVI to use far less efficient video compression algorithms than MP4 on average.  That doesn't always hold true, but it often is.

That said, what you plan to do with the files also matters.  If these are a master intended for being a high quality copy you can come back and WATCH, then running a high quality h.264 encoding isn't such a bad thing.  You should likely be able to find a setting that will make the files quite a bit smaller and still be pretty high quality to watch.

The problem with this, however, is that while the compression may work well for watching the video, it doesn't work so well for editing and re-encoding the video later.  If you compress too much, the video will look great to a viewer now, but may look like crap after editing and re-encoding a final video later.  If you plan to edit the videos later, you will need to stick to a much higher file size and higher quality encoding.  This could still be h.264, or any of a number of other formats, but it would need to be a much larger file (such as all I frame h.264).

Personally, I've always elected to keep my masters at their highest available capture resolution and fairly minimally compressed, but I also am in a financial situation where buying large amounts of external storage is not a problem.  (I personally have around 20 TB worth of storage, of which about 14TB is full, though some of that is providing redundancy.  That's primarily for video projects, photo projects and Steam downloads.)

Ultimately, however, it is a personal decision about the trade offs between cost and quality.  Every option has it's costs and only you can decide which costs are best for you.  I'd encourage you to buy more storage if you want to do editing with the videos later, but if you are only worried about playback, I'd recommend encoding it down to a quality that you find high enough by trial and error.  (Also, be sure to check the videos as the level of activity in a video will greatly impact the video quality unless you are using a quality based encoder.)


FFMPEG not writing quicktime "COLR" atom I am attempting to create Quicktime movs with the "DNXHD" codec with the following ffmpeg command (input part excluded):

-c:v dnxhd -b:v 175M -pix_fmt yuv422p10le test.mov

This works, and is displayed fine in After Effects and Premiere.  However, it does not play back correctly in Quicktime Player - it looks slightly "washed out".  My understanding of this is that Quicktime Player uses the "COLR" atom to determine the color space of the video file for playback.  So, after some research I came upon this ffmpeg option:

-movflags +write_colr

But, it doesn't seem to do anything.  Analyzing the video with "exiftool" shows that the atom was not written.

I am using FFMPEG version 2.8.6, installed with homebrew on Mac OS 10.11.3.

Anyone know how to make ffmpeg's movs comply with Quicktime Player's expectations?

That is an experimental flag, so you will have to use

-movflags +write_colr -strict experimental


How to burn HD videos with menu system onto DVD media? I'll be getting a HD editing rig soon at my studio where we make mostly corporate AVs. So far our format is PAL SD and usually the delivered product is a MPEG or AVI as the client demands. Occasionally, some projects are delivered as authored Video DVDS.

With the new setup, we'll look to output 720p either as MPEG-4 part 2 or part 10 (H.264) in suitable containers like AVI/MOV/MKV/MP4. So standalone videos are fine for data DVDs. But what about the equivalent for a menu-driven environment like in a Video DVD. Almost certainly, most of the end users will not have access to Blu-Ray players. So, is there any way to create DVDs containing a menu-driven environment but with HD videos? Third party self-contained application/frameworks are welcome, depending on the economics and technical steps required. Hopefully, any solution will enjoy similar levels of compatibility as Video DVDs.

Edit: I'm well aware that the DVD-Video spec will not accept HD videos. That's not what I'm trying to do. In the case of an authored Video DVD, when you put in the disc in a comp with autoplay on, a graphical interactive menu will pop up with buttons pointing to videos or other menus, which the user then has the ability to select. If the user selects a video, it plays and then returns to the menu as per the authoring. I wish to emulate, as far as possible, such a interactive presentation system but containing HD video and to be burnt onto DVD media. I know that this is not possible within the confines of the DVD-Video spec. But maybe a third party polished solution or even a hack method exists, such as a set of web pages and a standalone portable media player provided on disc which can be invoked from the web page, but I don't actually know of anything like that, hence the question

Sorry to say this, but DVD does and will not support HD videos - at least not with menu and other DVD features. HD-DVD didn't survive on the market - Blu-Ray did. The problem is that the amount of data necessary to create a HD image is higher that the bit-rate of DVD-Format.

You can save various file formats on a DVD-ROM and some DVD players can play those formats. But "native" HD on a DVD is not supported. Some DVD Player can upscale certain compressed formats, but that will not show real HD.

See: http://www.dvddemystified.com/dvdfaq.html#2.3.2


What's the right setup for recording programming talks? I go to lots of monthly developer meetings, and there are many requests that the talks be recorded. I have no idea what kind of camera or setup is right for this.
Recordings are always indoors, generally in front of a big LCD or projector screen. There are varying levels of background noise.
Here are my requirements:

Total price tag for everything (camera, tripod, bag, mics, etc) <= $1000.
Must be very easy to use correctly, and be confident that it's recording. Volunteers can be trained in ~ 2 minutes.
Wireless mic for the speakers to wear.
Fastest possible route to the web. E.g., built-in compression so I don't have to transcode later, or automatic upload/streaming to the web on its own.
It would be nice if multiple mics were supported, for spread-out roundtable discussions.

I do this all the time for local user groups and I'm yet to find a "plug and play/set and forget" solution. To do the recordings at a professional quality, you need some sort of skill and training, otherwise it will look amateur.

If all you want to record is the person talking, and not what's on their screen, it's relatively easy: buy a wireless lapel mic (the Samson Airline range is good) and plug it into a video camera of your choice that has audio input. Put that on a tripod and away you go. Then copy that on to a computer, trim the top and tail in something like iMovie, then export to YouTube or whatever format you like.

If you want to do multiple microphones for discussions, then you need to buy more than one mic (a couple of Sennheiser MD46 mics are great for this - one per person) and plug them into a mixer (Behringer mixers are fine and cost effective), then plug a recording device (such as a Zoom H4N) or the camera into the mixer's outputs (using the tape output, 2x RCA to 3.5mm for example).

When it gets tricky is if you want to record the presenter's slides/demos as well as them talking, in videos like so: https://vimeo.com/omtconf/videos/page:1/sort:alphabetical

That requires more than $1,000, plus a bit of A/V knowledge that's probably too long winded for this response. You also need to do some editing in post. It can be done live (using something like a Blackmagic ATEM switcher), but will cost even more and you'd need a bit more training than two minutes. Upside however, if being able to easily live stream it to the web, using that sort of setup, so people who can't make it can watch.

If you've got any specific questions, feel free to ask for more info :)


merge and convert swf I'm having major issues combining/merging(lossless) swf video files into a single file then converting to something more useful(mp4).

I've tried using premiere but no audio as it doesn't import the audio. I have many of these files(hundreds) and need a simple way to merge them and convert. I don't really want to convert these files then merge then convert as they are already low quality and they don't need any more artifacts.

One possible solution is: SQUARED 5 MPEG STREAMCLIP it's a freeware converter with basic editing functions. The Batch function should help you.

Other possible software solution: AviDemux


Understanding containers and codecs To my understanding, there is the container format (MP4, MOV, 3GP, AVI) and the codecs (Theora, VP8, H264, XVid, DivX).

For what I understand, the container format and the codecs are independent and it seems that it would theoretically be possible to have a MP4 which contains some video encoded with DivX.

Would it work? I mean, would standard video players be able to play it?

Also, I don't understand why H.264 (a codec) is defined in the MPEG-4 (a container) specification.

As H.265/HVEC is to replace H.264, will there be a new container format? Or will there be some MP4 files containing some videos encoded in H.265?

MPEG-4 is not a container specification. It's a suite of specifications. Parts 12 and 14 define containers (MP4). Part 2 defines a video codec, whose encoder implementations are DivX and Xvid. Part 10 defines another video codec AVC a.k.a. H.264.

You can get a list of codecs, which can theoretically be present in a MP4 at http://mp4ra.org/codecs.html

Whether a given muxer/software offers the feature to include a codec in MP4, or whether a given player accepts a codec in a MP4, depends on the software developer. Generally, MPEG-4 Part 2 should be accepted but players can be finicky about the codec tag and may only play the video if they recognize the tag.

HEVC can be muxed in a MP4 and there's no dedicated or new container for it.


Fastest way to add a timestamp to a video Is there any script or application that would add a timestamp to a video (avi or mov)?
Does for example mencoder support this function ? I'm using it to join avi files together.

I would be happy for any suggestions.

Virtualdub will allow you to do this with the Add Frame Numbers filter (not just frame numbers, as implied by the name).


Software advice to create animated sketches I'm an industrial designer, using 3D CAD software to create my designs and Photoshop, Illustrator and inDesign, to create sketches & graphics, edit images, build presentations.

The problem is that most of these tools are +/- static. It's difficult to create & visualise interactions.

E.g. I would like to take a sketch/screenshot of the product I'm designing; sketch a hand; animate the hand so that it manipulates the product (e.g. push a button) and then animate what happens with the product (lights blinking, etc.); add comments, etc.

My main target is not to make very fancy presentation movies, but more "animated sketches", storyboards.
Which software would you recomend to do this. I've explored the animation function of photoshop and that was ok, but a little too basic (e.g. I could make the hand move from A to B at a constant speed, but I couldn't make it follow a curve in a more dynamic way).

You would want to use after effects if you want to animate sketches and graphics in flexible ways.


Convert .WMV using FFmpeg I'd like to use FFmpeg on the Mac Terminal command line to convert a .WMV file. I'm familiar with the syntax:

ffmpeg -i /path/OriginalMovieFile.wmv /path/NewMovieFile.???

However, my recent attempt to convert a 38 MB .WMV file to .MP4 resulted in an 800 MB file that wouldn't play. Perhaps there is a mistake in my syntax above. Or maybe I need to install a special package for handling .WMV.

How can I convert .WMV files using FFmpeg from the Mac Terminal command line?

wmv is often detected as 90k FPS by ffmpeg.  (That's a placeholder value since the demuxer doesn't look into the stream right away, to see the intervals between the first few frames).

ffmpeg's default for mp4 output is CFR mode, hard-duplicating frames to bring the framerate up (to 90000FPS in this case).  Even the most efficient codecs take a few bytes to code a frame that's an exact duplicate of the one before.

-vsync vfr (same as -vsync 2) on the command line should fix the problem (by letting ffmpeg not drop or duplicate any frames, but instead just use the input timestamps for the output frames).  It goes after the input file but before the output file, as it's an output option.

Other than that, see https://trac.ffmpeg.org/wiki/Encode/H.264 for example for how to choose settings appropriate for what you're doing.  (e.g. -preset veryslow to spend lots of CPU time for an encode-once task where the quality-per-filesize gain will benefit lots of times.)


How to digitise old NTSC home videos for highest quality (with PAL player)? I have some old VHS home videos that I'd like to digitise to preserve them, and I'm looking for the "best" way to do that with my setup. The videos were recorded around 1990, in the USA. I'd say they are in NTSC format, but I've also heard that VHS don't have NTSC or PAL, so I'm not sure. They play on my PAL VHS device, even in color. I am guessing that it converts the video to PAL60 for playback. The colors are slightly dull, but I don't know whether this is a feature of the camera, the old tapes, or any conversion. Another issue is that there is a bit of clipping in very bright/dark areas, but I think nothing can be done about that.

What I have right now is the following: German (PAL) VHS with the old tapes, connected via SCART->white-red-yellow cables to  generic USB digitalization device, connected to the computer.

A couple of questions:

The documentation of the USB device says that a S-Video cable will improve the quality, should I use one?
Would I get a big improvement from using a different VHS player? NTSC devices are hard to come by here and probably pretty expensive. I found that sometimes the USB device or its driver corrects the colors (that I assume suffer from the NTSC/PAL thing), but I'm not sure whats going on there.
While I'm at it: the signal seems interlaced. I was planning on recording it via VirtualDub, and then possibly deinterlacing it. A test worked pretty well, and removed any jaggy artifacts. I can generate 60Hz, but I've read that I should either not deinterlace it or convert it to 30 Hz.

For VHS, the signal will be kept highest quality if you connect via s-video, so yes, you should use an s-video cable if your VCR has an s-video output.

Depending on how good your VCR is, you may get a significant improvement from a better deck.  Quality of the read heads on various VCRs can vary a fair bit and while the majority of the difference was in recording quality, there were difference in playback quality as well.  That said, finding a good VHS deck in good condition is probably difficult these days.

I'm not sure about the color correction, most likely it is something specific to your capture device.

The signal is most certainly interlaced.  Both NTSC and PAL were interlaced formats.  NTSC video should be 29.97 frames per second.  That is the NTSC standard.  The resolution should ideally be 720 by 480 using oval pixels with a .9 pixel compression.

You didn't ask about it specifically, but using a DV codec should give the maximum quality though it will also be quite large.  Once you have a DV codec capture of the VHS tape, then using a traditional 2 pass transcode to either h.264 (viewing on computer or blu-ray) or MPEG-2 (DVD) should work well.


How do I make a YouTube video with text-only? I want to make a YouTube video showing text-only. Like this one.

You can create these easily in most video editing programs. For example, in iMovie (which is available on Apple devices), each of these is a Title.  "Title" is what iMovie calls a page of text.  So you create one Title for each thing you want to say on screen, and you add them to your video. Make sure the beginning of every Title fades in from black, and the ending of every title fades out to black.

Once you're done with that, you probably want to make sure you can read each of them in the time they're visible.  I typically leave Titles on screen for as long as it takes me to read them out loud (rather that just reading them silently in my mind).

When you've got the timing done, find music to add in the background. iMovie offers a lot of free, royalty-free music that you can use.  YouTube also offers you free music you can download and use at http://youtube.com/audiolibrary.


I have a mpg file, but what is it? I have an input.mpg file which is encoded in H264. I am told that it is MPEG-TS and used for broadcasting. But according to Wikipedia, a MPEG-TS file ends in .ts, .tsv or .tsv.

What is .mpg?

Files stored in the MPG format are video files embedded with MPEG
  video data compression specifications and data encoding algorithms,
  and these MPG video files are appended with the .mpg extension.
  Specifically, MPEG-1 and MPEG-2 formatting standards are usually
  incorporated into MPG files, which are digital video data compression
  specifications and algorithms developed by the Moving Picture Experts
  Group. These MPG files are normally distributed on the Internet as
  video downloads, streamed videos and digital video content materials
  that are embedded unto Web pages. Windows Media Player is integrated
  with compatibility support and playback functionality for these MPG
  files, which means this media player can be used to open and view the
  video content of files stored in the .mpg format. Apple QuickTime
  Player is a cross platform digital multimedia player that is also
  embedded with compatibility support and playback functionality for
  these MPG files, which means Windows and Mac users can deploy this
  software to open and view the video content stored in files appended
  with the .mpg extension.

you should read this, it might help.

https://www.reviversoft.com/file-extensions/mpg


Premiere Pro CS6: how to change color of a clip as time progresses? I am trying out a few things for PPro, since I'm new to it (coming from Camtasia Studio 8) and I'm wondering, since a lot can be done, is it possible to not have the clip with a black and white effect, but have it 'walk along' the whole color spectrum?

In Windows Movie Maker for XP there used to be an effect like that, so you can see what I mean here:

As you can see, the color of the clip is never the same.

Can this be done somehow? A ton of Google and Youtube searches have not provided me an answer to this question; most hits are about Color Correction and I couldnt really see anything that came close to this.

Thanks in advance!

DiaborMagics

There are several ways to do this. The basic idea is always the same: You overlay a color and then animate it's hue. To get rid of all other color, you can either convert the footage to black-and-white (which can again be achieved using different techniques) or put the color on an adjustment layer with the blending mode set to color. This is the preferred way to do it, since this way, you can apply the effect to your entire scene at once. Here's a step-by-step guide on how to achieve this effect using the Lumetri Color workspace (which is not available on CS6 and earlier versions).

Create a new adjustment layer (File → New → Adjustment Layer) and put it over your video clips in the timeline of your sequence.
Select the adjustment layer in the sequence and change to the Color workspace (Window → Workspaces → Color). The Lumetri Color panel should now be on the right side of the program window.
In the Lumetri Color panel, under Basic Correction, reduce the Saturation to 0. Your video should now be black-and-white.
Under Creative, set a color for the Shadow Tint and move the Tint Balance slider all the way to the right (100). Your video should now be monochrome.
Open the Effect Settings panel (make sure the adjustment layer is still selected) and find the Shadow Tint setting under the Lumetri Color effect (this one is automatically applied once you change a setting in the Lumetri Color panel). Hit the stopwatch icon to activate the animation for that effect property and set the first keyframe (make sure the playhead is positioned at the first frame of the adjustment layer first). Now it's time to get creative, set keyframes at appropriate intervals and change the Shadow Tint to different settings every time. Premiere Pro will interpolate between the values, giving you the color transition effect you wanted.
Optional: Under Opacity, set the blending mode of the adjustment layer to Color. This way, the original luminosity values are preserved, making the effect more subtle. You can also try Hue for an even more subtle effect or change the opacity of the adjustment layer. This will reduce the color overlay effect, allowing some of the original clip colors to come through.

Workaround for CS6

Since the Lumetri Color panel doesn't exist in CS6, you will need to use another color correction effect instead. The basic idea will stay the same though. You can for example use the Tint effect in the same way as described above (you will have to set keyframes for both Map Black To and Map White To, since there is no balance slider in this effect). With the introduction of the Lumetri Color panel, a lot of the old CS6 color correction effects got deprecated in the new CC version. If you are still on CS6, you could for example also use the Three-Way- or Fast Color Corrector to get similar results.

Or just do it in After Effects using Layer Styles → Color overlay, set the Blend Mode of the effect to Color and animate the Color.


How could an 8-bit encoding take more memory than a 10-bit encoding? I'll start off by saying that I know next to nothing about video encoding and I'm looking for a nice tutorial explaining the basics (I have a technical background and some knowledge of signal processing)

I've heard that encoding a video with 8-bit color can actually take more filesize than in 10-bit color. The explanation offered was that since the source file was in 10-bit color, it's somehow easier to stay in 10-bit color. I don't understand how that's possible, because whatever algorithm is used to convert between video formats can do what it needs to do, and when the time comes to convert to 8-bit quality, just round off the color. I don't see how rounding off a color could contribute to file size.

Memory size

This is certainly not true for any encoding as reducing 10 bits to 8 bits is by definition reducing the size.

However, it is possible that some codecs adds a segment for alpha channel turning 24-bits (3 bytes (RGB) per pixel) into 32-bits (3 bytes for color RGB + 1 byte for alpha channel).

This way it may appear as if the video takes more memory, but it's the added alpha channel that adds to the data. In fact it would take the same space as the original 10-bits data (assuming there is only RGB) as it would use 32-bits to hold the 30 bits it represent. This is because in memory data needs to be aligned to a full 4/8 bytes segment to work efficiently so 30-bits data would take 32-bits (4x4 bytes) memory (this will become very technical and programming oriented so I'll leave it with that).

File size

The reduction of one number of bits to another can be performed in various ways such as shifting for example the 10 bits 2 bit places into 8 bits effectively cutting the two lower bits. This is the quick and dirty way of doing it leaving in general poor result but not affecting compression so much.

The other way is to do rounding and introducing noise to the data, what is called dithering. The quality is visually much better with this technique as a reduced representation, but it has one draw back: This noise will remove coherence in the signal and can increase the file size (but not memory size which would be the size of the raw image - the software will have to use uncompressed data for processing) as it's harder to compress as compression always bases it self on coherency. Noise is basically random numbers without much structure (I'm not gonna go into chaos theory and such :-) ).

For this reason the file size may become larger.


Accurate audio selection How do I select the audio corresponding to a set of filter-selected videoframes?

E.g. at the moment I am sampling 1 in every 100 frames of a video (running at 15fps) using the FFMpeg select filter. When I try to select the audio of those frames with the aselect filter, the total audio duration is not equal to the video duration (2 or 3 seconds difference depending on which frames I selected). The audio sampling rate is listed as 22050Hz.

I tried using various -vsync and -async combinations but it made no difference. Is there a more accurate way of using aselect?

A quick example command:

ffmpeg -i %INPUT% -vf select='between(n\,200\,399)',setpts='PTS-STARTPTS' -af aselect='between(n\,200\,399)',asetpts='PTS-STARTPTS'-y test.mkv

where 'INPUT' is the name of some file containing compressed video and audio. I am testing with the file AV36_1.avi found on this site hosting video samples. I get a video duration of 13.3 seconds and audio duration of 12 seconds.

output:

ffmpeg version N-77045-ga16243a Copyright (c) 2000-2015 the FFmpeg developers
  built with gcc 5.2.0 (GCC)
  configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-av
isynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enab
le-iconv --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --
enable-libdcadec --enable-libfreetype --enable-libgme --enable-libgsm --enable-l
ibilbc --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enab
le-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --en
able-libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora --ena
ble-libtwolame --enable-libvidstab --enable-libvo-aacenc --enable-libvo-amrwbenc
 --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enabl
e-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-libzimg --
enable-lzma --enable-decklink --enable-zlib
  libavutil      55.  9.100 / 55.  9.100
  libavcodec     57. 16.101 / 57. 16.101
  libavformat    57. 19.100 / 57. 19.100
  libavdevice    57.  0.100 / 57.  0.100
  libavfilter     6. 20.100 /  6. 20.100
  libswscale      4.  0.100 /  4.  0.100
  libswresample   2.  0.101 /  2.  0.101
  libpostproc    54.  0.100 / 54.  0.100
Guessed Channel Layout for  Input Stream #0.1 : stereo
Input #0, avi, from 'AV36_1.avi':
  Duration: 00:00:32.93, start: 0.000000, bitrate: 2372 kb/s
    Stream #0:0: Video: indeo5 (IV50 / 0x30355649), yuv410p, 320x240, 2058 kb/s,
 15 fps, 15 tbr, 15 tbn, 15 tbc
    Metadata:
      title           : Steyr.avi ┬ΦΣσε #1
    Stream #0:1: Audio: adpcm_ms ([2][0][0][0] / 0x0002), 22050 Hz, 2 channels,
s16, 176 kb/s
    Metadata:
      title           : Sound Forge 4.0 Audio
Output #0, avi, to 'test.avi':
  Metadata:
    ISFT            : Lavf57.19.100
    Stream #0:0: Video: mpeg4 (FMP4 / 0x34504D46), yuv420p, 320x240, q=2-31, 200
 kb/s, 15 fps, 15 tbn, 15 tbc
    Metadata:
      title           : Steyr.avi ┬ΦΣσε #1
      encoder         : Lavc57.16.101 mpeg4
    Stream #0:1: Audio: mp3 (libmp3lame) (U[0][0][0] / 0x0055), 22050 Hz, stereo
, s16p
    Metadata:
      title           : Sound Forge 4.0 Audio
      encoder         : Lavc57.16.101 libmp3lame
Stream mapping:
  Stream #0:0 -> #0:0 (indeo5 (native) -> mpeg4 (native))
  Stream #0:1 -> #0:1 (adpcm_ms (native) -> mp3 (libmp3lame))
Press [q] to stop, [?] for help
frame=   98 fps=0.0 q=9.6 size=     294kB time=00:00:09.03 bitrate= 266.1kbits/s
frame=  200 fps=0.0 q=11.7 Lsize=     525kB time=00:00:13.33 bitrate= 322.5kbits
/s
video:429kB audio:72kB subtitle:0kB other streams:0kB global headers:0kB muxing
overhead: 4.625268%

I think I'm using the aselect filter wrong...

This command, which used t reference for aselect, worked for me:

ffmpeg -i AV36_1.avi -vf "select=between(n\,200\,399),setpts=PTS-STARTPTS" -af "aselect=between(t\,(200/15)\,(399/15)),asetpts=PTS-STARTPTS" -y test.mkv

If you want to use n (frames), then you will need to know the frame size of the audio codec e.g. 1024 samples for AAC, variable for MP3..etc


How to overlay SRT or ASS on a video and output the pre-render captioned video? I noticed a lot of video having pre-render captions. I remember I saw someone working in a Chinese studio that primarily does translation works and she was using a software to render the SRT or ASS file to raw videos automatically. I thought it was very convenient and wonder if anyone knows how it was done.

Adobe Premiere Pro allows you to create caption files (including SRT) and export them individually (as SRT files) or embedded with the actual video. This link gives a pretty good overview of how it's done in Premiere.


Can I import .mov files with embedded closed captioning into Premiere Pro CS6? I'm importing .mov files that have embedded closed captioning because I need to do some very minor edits. I know that I cannot export .mov files with embedded closed captioning, but can I also not get at that closed captioning data from anywhere within Premiere Pro CS6 after importing?

I need the files coming out the other end with closed captioning available, whether as a sidecar file or not, so I'm hoping there's some way to do this.

You might try CCExtractor. I'm not sure if it supports text tracks in .MOV containers, but it's a good starting point. I can create .SRT files which are common companion files for captioning.


Adding AO render pass in After Effects I am compositing a modeled sea scene in AE. Here's what I have:

Adding in my AO layer gives nice strong shadows as shown:

However it also covers my blue sea (primarily an AE 4color background)....

How can I keep the AO benefits to the shadows on my critters, but also keep my background?

As rendered, I have alpha, color pass with alpha, AO and depth (which is driving AE lens blur). I can render anything else needed.

Let's try to make it work. :D

1) Place 'Alpha' layer above 'Ambient Occulsion',

2) Change setting in 'TrkMat' of the layer 'Ambient Occulusion' to 'Luma Matte'

if Luma Matte is not working, try with 'Alpha Matte' (I'm not sure about your alpha layer :)),

3) Precompose 'Alpha' + 'Ambient Occulsion' layers ctrl+shift+c,

4) Set precomposed layer to 'Multiply' Mode.

Done!


Sony Vegas pro 15: Can not move Image in Pan/Crop I am trying to move image using pan/crop tool, but I have no idea how to do that, because there is not any "F frame".
Thank you for advice.

Use the track motion where you can move and resize images


How to change profile of Openshot project? I stupidly started a project using a DVD NTSC profile, made a bunch of changes, and then realized that the final product is supposed to be DVD Widescreen NTSC. I can export it as such, but because I'm viewing the project in DVD NTSC, I can't tell how my changes will actually look in the final product.

Is it possible to change the profile of my project, so I can view it in DVD Widescreen NTSC while editing it?

Open the project
Goto File->Choose Profile
Select the profile you want
Save changes

Note: checked with OpenShot 2.5.1


How to display static image if the input stream ends using ffmpeg? I am receiving a stream over the network with the following ffmpeg command:

ffmpeg -i rtmp://server:port/input.stream -f flv rtmp://server2:port/output.stream

When the input stream stalls, I want to display a still image. When the input stream continues, I want to continue showing the input stream. I have tried this:

ffmpeg -loop 1 -i Error.png -i rtmp://server:port/input.stream -filter_complex "[0:v][1:v] overlay=0:0" -f flv rtmp://server2:port/output.stream

That works, except when the input video stream stalls, it keeps showing the last frame received from the stream. I want it to show the .png file  (i.e. the video input becomes transparent).

TL;DR : Nothing simple. Both solutions use a relay, and it's not suitable for real production.

Actually, you only have two possibilities, and both are ugly.

There is absolutely no open-source software capable to handle a non-permanent stream (GStreamer+forks, FFmpeg, VLC, MPlayer). Every single one of them have the same behavior: last frame still visible, and everything is stopped until data come again.

Option 1 — Tunneling + cache

You need two FFmpeg running, and a script using FFplay.

The first FFmpeg pull the RTMP stream. The output is a local port and the protocol need to be based on MPEG-TS. It's better if the input is tuned for the lowest latency.

Also, you need to optimize how FFmpeg start: no analysis of the stream (set the fps in the command line), early start, etc.

The second FFmpeg pull the local MPEG-TS stream, and transcode the stream to a new RTMP. You need to reencode it with x264, because the video packets will broke at the first switch (so you need a better quality for your original stream).
You need to increase the input latency : default is 3s for FFmpeg, but you need something like 8s. It can be lowered, but only after you really understand what is going on and where is your margin.

The magic is with FFplay.
You have a script running, where FFmpeg read the original RTMP stream. When the stream as no more data, FFplay send an error and stop.
Then, the script kill the first FFmpeg instance, and launch a new one.
That FFmpeg is the “offline” stream. Whatever input you want, you need to encode it in x264 MPEG-TS, to the local port. And with the same fps/size than your normal stream.

During this time, the second FFmpeg is still playing his input cache. So the 4 or 5 seconds for the “offline” FFmpeg to launch is not a problem.

In the actual loop of the script, you need a new FFplay. When your stream is back, it kills the offline FFmpeg, and relaunch the normal one.

The input cache do the job, and the reencoding clean the broken video packets.

It works, but it's not a proper solution, like an overlay on FFmpeg, and FFmpeg not stopping when an input is unresponsive/missing/empty.

Option 2 - OpenBroadcaster Software

If I don't have a full script to post here, it's because I found a new solution :
Use OBS on the server, capture the original stream, put your offline image behind, and send the stream to your distribution server.

But, there is a catch, OBS need OpenGL 3.1 (2?), and a desktop. So you need a real PC & GPU, or virtualize the desktop with ESXI (I don't know if VirtualBox make a virtual GPU compatible with OpenGL 3.1).

The logic is the same, but more friendly.

The only Good Solution

FFmpeg is capable to handle everything on a single instance. If you use overlays, you can have the offline layer and the original stream on the top of it. FFmpeg even know how to restart a stream when it's republished.

But, actually, FFmpeg stop everything when one input is offline/missing/empty.

An option to change the behavior of FFmpeg on an input is the only thing missing.

I tried the dev mailing list, no response. Same thing for my predecessors. The dev “community” of FFmpeg is not friendly, based on old tools (you better not criticize the use of a mailing list!), and conservative.

If someone has a better solution, a magical program to do a simple offline switcher, it's really needed ;)


How do you ADD color banding to video (using Adobe Creative Suite)? I like to introduce distortions and color effects into my videos when I edit them. How can I recreate color banding in After Effects or Premiere Pro?

Adding colour banding is also known as posterising (or posterizing if that's how you roll). There's a built-in (to AE, though I'd be surprised if it's not also in PP) posterize effect (Effects>Stylize>Posterize). It only has one control, Level, if you set it low you'll get something that looks like an 8-bit game, or a screen-printed poster (hence the name):

Or if you set it higher you get banding:

If you want a bit more control the Cartoon effect (Effects>Stylize>Cartoon) also give you pronounced banding. Set the render style to Fill (default is Fill & Edges), and then twiddle the knobs.


Audio not detected with Transparent Video Formats (Quicktime - PNG/QtAnimation- AAC/PCM) On importing a transparent .mov file (Quicktime - PNG/QtAnimation- AAC/PCM) , the audio is not detected by the Videoeditors (Powerdirector17 < Davinci Resolve doesn't support the above format> ).
Eventhough Powerdirector supports these formats, the audio doesn't play (https://help.cyberlink.com/stat/help/powerdirector/18/enu/05_01_01_support_file_formats.htm).
Which Transparency supported Video formats + Audio formats combinations are commonly supported in Videoeditors ?

Don't know PowerDirector, but I would try exporting as ProRes 4444 with alpha (sometimes called 'Millions of colors+'.
This works with Adobe Premiere, Final Cut, Resolve and other editors fine.


Working with Frame Rates & Slow Motion in Adobe Premiere I'm a very new beginner to video editing, but I am trying to do the best job I can.  I saw this tutorial about "slow-motion basic techniques":

I learned the technique about "changing the frame rate of your video in order to make a good basic slowmotion."  This tutorial was made using After Effects and I have some related questions:

How can I see the framerate of the clip or sequence in Premiere? In After Effects it is sufficient to click on it and on the top left corner (near to the preview image) the info that you need is displayed (included the framerate).
Usually, I use my GoPro in order to make videos. I use 60fps at 720p in order to make "sufficiently good" slow motion, but then I don't know what is the right "Sequence Presets" to choose (I usually use HDV 1080p30, but I don't know if it's the best/right choice) when I create a new sequence, so when I use a GoPro clip in some sequence it appears the message "Clips Mismatch Warning" and I have to choose the "Change sequence settings" option, but then I don't know what are the NEW sequence settings! I want to know what the NEW sequence settings are?
Here the most important question: I saw from the above tutorial that the a basic technique for slow motion is to change directly the frame rate of the clip from (for example) 59.94 to 29.97 (as in my case). But then I thought: how can I apply this technique "locally" on the clip? Or better gradually (so starting from 59.94 at a point of the clip and gradually decrease it until it reaches 29.97)? Is that possible in some way? I know that you can right click on the original clip->modify->interprete footage and change the frame rate, but that is for the WHOLE clips, not locally as I need!
Then, I had an idea: why they use "change frame rate" and Twixtor SEPERATELY? Why not first change frame rate AND THEN apply the Twxitor effects? I had this idea because I tried to obtain an extreme slow motion using only Twixtor, but the result was really bad! However when I combined the two techniques the results were pretty good.  What do you think about it? It is only an illusion (so I don't get something in the process, and there isn't any real improvement), or is it a good solution?

UPDATE: I uploaded this video on YouTube in order to proove that there is a quite difference between applying Twixtor without changing the frame rate and with it. On the left side video you can see the result applying the Twixtor effects, with a speed at 25%. On the right side video you can see the result after changing the fps from 60 to 30 and then applying Twixtor with a speed of 50%. As you can see, the right side video is really better then the left one: it is more "smooth", don't you think?

To answer your Questions in order:

You can see the framerate of a clip or sequence by navigating to the metadata panel. It's usually one of the tabs in the upper left on the standard layout. If you don't see it, select Window -> Metadata.
Generally, you should set sequences to match you source material. So if your camera records 720p @ 60 fps, stick to that. You can review and change the sequence settings under Sequence -> Sequence settings. Some settings can't be changed later on though.
The best way to create a slowmotion effect is to use "time remapping". You will find that under the effect settings that every clip has by default. There you will see that your clip has a standard speed of 100%. You can change the speed of the entire clip by altering that value. If you want the clip to gradually slow down over time, you'll have to use keyframes. You can set a keyframe by clicking on the square symbol in the effects panel next to the time remapping line.
In this case, you'll need to create two keyframes, one at the beginning and one at the end of the transition from fast to slow. Let the first keyframe at 100 % speed and set the second to your desired target value, for example 50 % and that's it.
I hope this was somewhat understandable. If not, it's futher detailed at the adobe help site: http://helpx.adobe.com/premiere-pro/using/duration-speed.html
Can't really help you with that. If you're going for real slow slowmotion, you can always right-click on the clip and activate frame blending, which might result in a smoother video.

I hope i could help :)


AE Controller for changing layer into specific colours I'm trying to create an Essential Graphic that allows the user to change a layer's colour into 4 specific ones:
Teal: 7, 250, 198
Pink: 252, 12, 119
Black: 0, 0, 0
White: 255, 255, 255

Colour Control isn't an option as it gives too much freedom.
Checkbox Control isn't either as it is not a 2 colours boolean/switch.

A Slider Control I think would be a good option but I need something similar to the clamp expression to keep the slider in control, something that would make my slider move in ones or specific steps.
Maybe I'm completely off track, I'm open to better solutions!

Use a dropdown. Select Dropdown Expression Control from Effects>Expression Controls and hit edit to input the colour names.

Then use a switch to deal with the four possible choices.
let colourChoice = Math.round(thisComp.layer("White Solid 1").effect("Dropdown Menu Control")("Menu"));
switch (colourChoice){
    case 1 : [7, 250, 198, 255]/255.0;
        break;
    case 2 : [252, 12, 119, 255]/255.0;
        break;
    case 3 : [0, 0, 0, 0];
        break;
    default:  [1, 1, 1, 1];

}
N.B.:

Math.round on the firstline is to convert the numeric result returned from the dropdown to an integer, I'm not sure what kind of numerical value is returned from a dropdown, but just using let colourChoice = thisComp.layer("White Solid 1").effect("Dropdown Menu Control")("Menu") doesn't work.

Colours in expressions are four-dimensional RGBA arrays, because even if they don't use alpha they need a value for alpha.

And finally the / 255 after the array is to convert the 0-255 RGBA values into 0-1.0 floating point values for colour. You could do the maths beforehand, but it's more legible like this.


Freezing/repeating the last frame of a video clip in Apple Motion 5 I have two clips running at the same time. One is a computer and the other is a clip that I've made to look like its running on the computer screen. I've used four corner motion tracker to keep the two in sync as the computer clip zooms in.

At a certain point i'd like to freeze the computer clip while the clip on its screen plays out. I can crop the computer clip up to the point I want it frozen but I'm unsure of how to extend/repeat that last frame so it stays visible until the other clip finishes. At the moment it just dissapears when it hits the crop.

Okay, figured out how to do this. Make sure you location is at the frame you want to freeze, hide all the other layers in Motion to just show the video that you want to freeze.

Then go Share menu > Save Current Frame. Then save that image somewhere.

All you have to do then is import that image back in and place it again at the end of the clip it came from. Ensure it's lower in the layer stack so that other clips appear on top of it until they disappear - or just crop it.