ffmpeg operations yielding changing fps values I have a video that was rendered as 26.51 fps h.264 into an mkv by my video editor. Calling the file up in ffmpeg it displayed this file as 1k fps, 26.51 tbr.

When I applied an operation to separate a 1 minute segment of this video into its own video I used

ffmpeg -ss 00:00:00 -i input.mkv -to 00:01:00 -c copy output.mkv

Calling the output up in ffmpeg showed this video as 27.4 fps, 26.51 tbr.

I then changed the container of this short 1 minute section in two independent operations:

ffmpeg -i input.mkv output.mkv

Displayed the fps as: 26.51fps, 26.51 tbr

ffmpeg -i input.mkv -c copy output.mkv

Displayed the fps as: 27.4fps, 27.4 tbr

I'm very confused, what exactly is going on here? I wanted all my videos fps to be 26.51fps. What do I go about doing to prevent this from happening in the future?

"tbr = tbr is guessed from the video stream and is the value users want to see when they look for the video frame rate"

So my understanding from that definition is in the first video I "wanted to see" 26.51fps instead of 1k fps. Which is true. So something *first went wrong at this point that I need to fix?

Then from the second video I wanted to see 26.51fps instead of 27.4fps? Which is true.

Then from the third video my tbr and fps matched at 26.51. Wonderful!

The fourth video the fps and tbr matched at 27.4fps but I didn't want 27.4fps

And with the -c copy command above I'm guessing it forced the 27.4 fps value onto the video and that's why it became the new tbr and fps values. But this doesn't explain how in the top command where I yielded out my 1 minute partition of the original video, which also used -c copy, that it created a new fps value rather than use the 1k fps value of the original.

Edit: I see you can force the fps with -r 26.51; but this is requiring a re-encode, which I need to avoid. Is there something else I can do at one of the steps? I already rendered it with 26.51 as my fps to begin with afterall.

What the fps and tbr values indicate is the average and peak framerate detected within the file. When the container doesn't have valid metadata, either or both of these values can be wrong.

A tbr like 26.51 indicates a variable frame-rate file. After you extracted a segment with -c copy, ffmpeg will display the rates detected in the new clip. Since the source is VFR, the rate may not match but the individual frame timings won't have changed, and can't, since no frame operations can occur*.

When you transcoded instead, ffmpeg sets the output rate to the detected tbr and drops frames in regions with a greater framerate. (When saving to a constant rate muxer like MP4, it will clone frames if input rate is lower).

*true within this context


Is there an online video converter? Does anyone know of any services that will convert a large video (1gb+)?
I've a bunch of files I'm looking to convert from mkv to mp4's. I'm on an older Mac and I've looked at some sites like video toolbox but they limit to 600mb. I'm willing to pay.

How old of a Mac? MPEG Streamclip is a great option.

  This free software requires at least Mac OS X 10.2 (Jaguar) and QuickTime 6. It is also compatible with Mac OS X 10.3.x (Panther), Mac OS X 10.4.x (Tiger), Mac OS X 10.5.x (Leopard), Mac OS X 10.6.x (Snow Leopard), OS X Lion, and QuickTime 7. It works with PowerPC and Intel based Macs.

Unless you are living the the Stone Age and have a Mac running 10.1 or lower, you'll be fine.

You can batch convert files by going to List>Batch List:

You'll be presented with a screen like this:

You can add files from there and convert them.


How to copy animation from one project to another in Camtasia? I have created some animation in Camtasia studio. When I copy paste them into another camtasia project everything gets messed up, animation effect, start n end position, size etc. I tried to match the resolution size still the same issue.

Is there any proper way of doing this? like creating a template or theme or library media and use in another project.

I got it. Right click on track > add asset to library > open another project > drag that asset to particular track.


How to use (or should I use) time code/user bit feature on Sony FDR-X3000 action cam In the Sony FDR-X3000 action cam user manual, it says:

About time code: Time code is a useful function for advanced image editing, which records hours/minutes/seconds/frames on the image data.

About user bit: User bit is a function that can record information (8-digit hexadecimal numbers) such as date/time/scene number. This function is useful for editing movies created using two or more cameras.

That's all it says.

For time code to be useful, don't multiple devices have to be synchronized, as with a master and slaves? Is the Sony X-3000 able to synchronize multiple cameras somehow? What would the benefit be of using this time code vs. just lining up multiple clips in my editing software (as with a hand-clap audio cue, for example) and cutting away?

No, they don't have a way to keep it in sync.  This is why the timecode is clock based.  The idea is that if the clocks are reasonably close, you'll be able to line up multiple cameras across multiple shots once and note their offset.  You can then use this as a starting point on other shots that are done at the same time.  Clock drift is likely to require minor corrections though, but it can at least get you close.

In professional settings, there is a system called genlock where the frame timing is based on an external clock signal that keeps all cameras exactly in sync and it's even possible to provide an external timecode such that all cameras have exactly matching timecode that doesn't have to be based on real time, but can be based on shooting time instead.

The user bit information is for capturing other additional data about the shot that isn't caught in the timecode.  Date isn't generally included in timecode and scene number certainly isn't.  This meta data is helpful for sorting out clips in post production and is basically a digital version of the information seen on a slate at the beginning of production shots.

More advanced cameras support additional meta-data.  My Ursa Mini for example can record the name of the project, director, camera operator, various lens and shooting conditions, scene number, reel number, take number, whether the take was good or not, if it was shot inside or outside, day or night, etc.


Scenes for HDR vs SDR comparison I'm currently looking for scenes when I can compare effects of HDR. I have couple of films on BR in 2 versions - one in HDR, second in SDR. My heuristic is to look 2 kinds of scene:

very bright scene in background, and in very first plan I can see and object - e.g. looking through window during sunny day, with a large object in very first plan
very dark scene with a couple of small bright points - e.g. street at night with street lights

I think that all, but maybe you have better idea?

In other words, how find good scenes where HDR results are easy to detect?

Sunsets and Sunrises
Battle scenes with fire
indoor dark scenes with source of light (window during day, lamp during evening)
concerts
disco (problems with moving objects...)


How do I accurately calibrate an external on-camera LCD monitor? I'm specifically using the smallHD DP6 SDI version, so I don't have scopes built into the monitor.  I'm generating bars with a Sony HXR-NX5U, and using the blue gun feature on the monitor as per these instructions.  But when I record to an SD card, import onto my laptop, and compare, the laptop matches the Sony LCD, but the SmallHD one is way too saturated.  Do I just have to eyeball it, or are there hardware solutions ("spiders"?) available?

It is because you are calibrating the monitor correctly however the other two, The Sony LCD and the Computer are probably not correctly color calibrated in the same way, I know that my laptop seems to desaturate colors around the 30% mark and when compared to a calibrated monitor it looks quite a bit different...I would assume this would account for why they are different, if you want it to look like it does on the laptop or Sony Camera then you will need to do just as you have, then eyeball it to bring the saturation back down.


ffmpeg encode in all-i mode h264 and h265 streams Which params I can use to obtain a transcode all-i based? No B and P frames?

I know that this is not efficient for compression purposes but this is not my case now.

I guess i have to fiddle a bit with -x264-params or -x265-params but I don't know the switches to do it :)

For H264

ffmpeg -i input -c:v libx264 -intra output

For H265, seems no alias or preset has been set yet

ffmpeg -i input -c:v libx265 -x265-params frame-threads=4:keyint=1:ref=1:no-open-gop=1:weightp=0:weightb=0:cutree=0:rc-lookahead=0:bframes=0:scenecut=0:b-adapt=0:repeat-headers=1 output

H265 code stolenborrowed from here.


Compress video while keeping details I shoot POV bike videos using a GoPro Hero at 1280x720. Picture is fine (lots of details, fine color), but similar videos (also with GoPro or another helmet mounted camera, same resolution) in YouTube weigth just a 10% of mine, while looking gorgeous. Take a look at this RedBull example (83 MB) and then my last video (162 MB). RedBull look great at 16 MB/sec, while mine look not so good at 23 MB/sec (original size 480 MB). I'm using the same camera (or very similar), with no postprocessing. How can achieve a better looking video in YouTube? (BTW, I used kdenlive for editing).

While watching the examples it struck me that your video is stuttering as it is over the top with MBPS (23 MB per sec). So I would address your compression scheme first. I recommend that you consider rending your work in mp4 with 5 MB to 10 MB per sec. Here is the recommended video and audio compression as set by the folks at Vimeo for optimizing presentation on their site:

https://vimeo.com/help/compression

Another issue your video example is facing is that the GoPro does not have manual exposure controls. In your example, I see the bike going through bright areas and dark areas rapidly hence quick changes of exposure from the GoPro auto exposure. While the Red Bull example, shows the bikes in a stable light situation that does not force the GoPro to make wide adjustments. The solution to this problem is to either use a camera that offers manual exposure or shoot scenes that are evenly lit so they do not challenge the auto exposure to make big changes. Also, since the GoPro offers you at least a choice of Spot or Center Weighted auto exposure you might explore how one or the other might help expose the scenes more evenly.


Clip Library Management Over time, as I've taken on more and more work (as a theatrical AV designer), I've built up a large collection of stock clips from a wide variety of sources, which always come in handy for smaller designs.

So far, I've been keeping track of the clips by building a non-relational database that allows me to record the details of each clip - such as the title, source, licence, owner, description and so on. However, the collection has come to such a size now that adding more clips or searching through the library for something specific has become a bit of a chore. So, I'm wondering if anybody has any ideas regarding library management/archiving.

I'm reluctant to use file metadata due to the fact that the fields available vary with each codec and I'd like to keep track of some custom data (licence, etc.)

Is there any software available, maybe a video equivalent of Soundminer? Or do you have a recommended database schema that works for you?

Thanks in advance!

P.S. When using archive reels, do you prefer to save the whole reel or split into individual clips?

I'm not sure that it would be ideal, but Lightroom is able to provide keyword and cataloging support for a variety of video clip types.  It isn't expressly designed for it, but it's a relatively cheap option that may be able to handle your needs.

As stib was nice enough to point out, Adobe Bridge also can do similar cataloging if you have the broader Adobe suite or you can try using Darktable which is an open source package similar to Lightroom, though I have no direct experience with Darktable's ability to catalog video.


Overlay multiple images on one video using ffmpeg? I need to encode multiple images over the same video at different times in a single pass.
I have a fair grasp of doing this with a single image, such as
ffmpeg -i video.mp4 -i picture1.png -filter_complex "[0:v][1:v] overlay=0:0:enable='between(t,1,5)'" -pix_fmt yuv420p -c:a copy result.mp4

but how would I go about adding a picture2.png, picture3.png, and so on, with different between() parameters?

Add all the images you want to overlay to a video file as input -i
Here -

X,Y are the top left coordinates where the image should be put, with respect to video
Between(t,a,b) means you want to display that image from a (in seconds) till b (in seconds)
gt(t,c) means that display that image from c till the end of video

ffmpeg -i video -i image1.png -i image2 -i image3  -filter_complex
"[0][1]overlay=x=X:y=Y:enable='between(t,23,27)'[v1];
[v1][2]overlay=x=X:y=Y:enable='between(t,44,61)'[v2];
[v2][3]overlay=x=X:y=Y:enable='gt(t,112)'[v3]"
-map "[v3]" -map 0:a  out.mp4


How do I capture a noiseprint in Vegas Pro with the Noise Reduction plugin? When I go to capture a noiseprint, I don't get a noiseprint or the noiseprint appears around -120 dB as a flat line.

Add Event FX (not Track FX) plugin Noise Reduction by clicking on the "fx" symbol and selecting Noise Reduction.

Select a region of noise in the audio.

Select "Capture noiseprint" in the effects window.

Press play in the Preview window.

Optionally, save the captured noiseprint as a preset.


Video Quality Measurement test tool I need to measure streaming video from various different codecs and be able to tell which one is better.

What will be the best metrics to look for?

Is there a free tool that can help with this.

There are a number of comparison algorithms available beginning with PSNR through SSIM/SSIMPLUS to VMAF. VMAF is implemented as an ffmpeg filter.


Is this jump video edited (time reversed)? I'm under the impression that the jump around minute 2:35 of Aaron Johnson in the official video of R.E.M. - ÜBerlin is fake, because I believe it contradicts the physical principle of how human bodies jump up against earth gravity.

On the other hand I guess it is likely obvious that it is has been reversed by video editing from an original scene where he was jumping down and not up. Is there any way or tools to confirm or debunk my hypothesis?

By comparing the original 5 second scene, with the time reversed video, produced by kapwing reverse video online, it's apparent that the last one is the natural and realistic movement.


How do I add text like this (picture) to a video? Can it be added post or is it an old camera function? I've read around and a lot has been said about transferring video through VHS and back again but I was wondering about adding this specific kind of text?
Is it a function that exists on old cameras or can the same be achieved with editing software?
Many thanks!!

It was in camera function. But there is no such thing in video editing, which can not be accomplished with correct software.

You can add this text in Adobe Premiere, or Adobe After Effects with some noise etc... You can add it in almost any video editing software. Main thing you need — correct font. It is pixeelated all caps text. You can find one here: http://www.fontspace.com/category/pixelated

Next: Install that font in your system and add text. Make it all caps and with chosen font. Select color and for the second example you also will need black stroke.

Good luck!


Mic positioning in 2 sitting actors scene I need a hint for some audio recording I have to do.
I will be recording conversations between 2 people sitting at a table, as a sound operator in a shooting.
My question is: in this type of situation, is it good to just place a standing cardioid mic to pick up both voices, or should I follow the scene with a boom, trying to be always directed to the mouth of the one that's talking?

If anyone is experienced with that would be of good help.
Thankyou

It is more important for the mic to be close enough to the talent than it is for the mic to be pointed perfectly on-axis at the talent's mouth.  A cardiod 12" away that's 45 degrees off-axis will likely sound better than a cardiod 36" away that's dead-on.  Shotgun mics give you a bit more range, and a bit less tolerance for off-axis pickup.  But then again, the table may provide a very good early reflection that reinforces the actors voice and allows you to simply mic straight down with good results.

Depending on the size of the table, and where the actors' projection lines converge, you might be able to get away with a single mic aimed down between them, or you might effectively need two mics (either physically or by shuttling a single mic between them as they trade lines).

The key to successful sound recording is to know the principles of mic patterns and behaviors so that you can properly prepare for a session and successfully understand why you might be hearing what you hear when you actually put up the mics.  But that is only the starting point.  You must then always always always use your ears to adjust from what the principles predict to what actually works in the specific case with which you are dealing.


How to make Vegas Pro open AVI files In using Vegas Pro 13 on a new Windows 10 computer, I find that I cannot open AVI files. It's not a codec issue; the file will not open at all because Vegas doesn't recognize it as a type of file it can open. I've used Vegas Pro for years and do not remember having this issue, but it has been five years since I got a new computer. I've had trouble with the codecs in AVI files, but they always opened.

How can I fix this issue?

It seems that sometimes Vegas Pro's plugin that opens AVI files is corrupt or installed incorrectly (if this is the case, a reinstall may fix it).

There is a simple fix that involves replacing the DLL file that controls AVI files.

The file is called aviplug.dll. The file path will be similar to: C:\Program Files\Sony\Vegas Pro 13.0\FileIO Plug-Ins\aviplug\

The fixed dll can be found at Mediafire.
Here's a YouTube walkthrough.


how to simultaneously create rtsp and livehttp video streams in vlc from the same live source? I want to simultaneously create rtsp and livehttp video streams from the same live H.264 source in cvlc. I can individually create either kind of stream just fine, and I can also create two rtsp streams simultaneously using the 'duplicate' tag, so my basic setup is right. Something is wrong when I try to do the two kinds of streams at the same time in a single command.

This runs in linux and the commands are written in bash. My frame rate, $fps, is 10 fps. /home/vout1 is my live H.264 source. Folders and the server URL are defined by variables. Note that I had to add dst= when I went from the single command to the combined command.

Here's the working rtsp command:

cvlc -vvv stream:///home/vout1 --sout '#rtp{sdp=rtsp://:8554/}' --demux=h264 --h264-fps=$fps

Here's the working livehttp command:

cvlc -vvv stream:///home/vout1 --sout "#standard{access=livehttp{seglen=5,delsegs=true,numsegs=2,index=$streaming_video_folder/stream.m3u8,index-url=$server_URL/stream-###.ts},mux=ts{use-key-frames},dst=$streaming_video_folder/stream-###.ts}}" --h264-fps=$fps --demux=h264

Here's a working command that creates two rtsp streams:

cvlc -vvv stream:///home/vout1 --sout '#duplicate{dst=rtp{sdp=rtsp://:8554/},dst=rtp{sdp=rtsp://:9554/}}' :demux=h264 :h264-fps=$fps

Here's the non-working combined, rtsp and livehttp command:

cvlc -vvv stream:///home/vout1 --sout '#duplicate{dst=rtp{sdp=rtsp://:8554/},dst=standard{access=livehttp{seglen=5,delsegs=true,numsegs=2,index=$streaming_video_folder/stream.m3u8,index-url=$server_url/stream-###.ts},mux=ts{use-key-frames},dst=$streaming_video_folder/stream-###.ts}}' :demux=h264 :h264-fps=$fps

I don't get any streams and I get a multitude of these errors:

[0xca4540] access_output_livehttp access out error: cannot open `-treaming_video_folder/stream-001.ts' (No such file or directory)

For some reason, the previously working variable name, $streaming_video_folder, has been transformed to the erroneous, -treaming_video_folder.

Can someone tell me the proper syntax for the combined command ? Thank you in advance.

Your working livehttp command has double quotes, and your non-working duplicate command has single quotes.  Your shell is interpolating the variables in the double-quote example but passing them as a string literal in the latter case.  You can see what the shell is doing by changing cvlc to echo.


Why setting -r 30 still gives fps=15 in ffmpeg? Why setting -r 30 still gives fps=15 in ffmpeg?

command:

fmpeg -loglevel verbose -pixel_format mjpeg -s hd720 -r 30 -i /dev/video1 -f libx264 -preset ultrafast -tune zerolatency -crf 23 -f matroska tcp://192.168.1.43:5000

output:

frame=10497 fps= 15 q=22.0 Lsize=  253990kB time=00:11:39.76 bitrate=2973.4kbit

fps= 15 represents the encoding speed, not the output file framerate.


Convert .WMV to .MOV A client gave me a file in Windows Media Video format. I need to edit it in Final Cut Pro X. The problem is that Final Cut Pro X can't read it. Neither can Apple Compressor. It has a Quicktime logo, suggesting that Quicktime can open it, but Quicktime cannot.

I can recommend Adapter.

It is a Wrapper for the ffmpeg package and does its job pretty well. Because of its easy UI.
You could also use ffmpeg directly via macports, but I think that Adapter is far easier to control.


Is there a "starting place" in terms of colour correction before adding a stylistic LUT I am new to the world of LUTs and am just doing initial research on it in advance of doing some colour grading on a video project. I understand that LUTs are applied to either give a 709 look to footage recorded in log - OR to give a particular style.

My footage was shot on a humble Fugifilm hs10; so it's not log and I'll have to attempt to make it good good with the manual colour correcting tools (I'm using premiere pro CS6).

But if I want to apply a stylistic effect how do I go about that. When I visit websites which sell LUTS to give particular effects - eg rocket rooster, deluts, ground control - they all have luts for sale but they appear to be starting from a point of view of a log file - at least the footage always looks washed out like log files do.

Regardless of whether they're starting from log footage or not - my question is do I have to be starting from a particular point of view ( eg particular nominal values on the scopes for instance ) to achieve these stylistic effects - or are there any general guidelines for me to get my footage ready to apply one of these stylistic luts

Applications such as FCPX and Adobe Creative Cloud actually ship with a wide variety of stylized LUTs, so if you use either of those you can play around with them.  Most LUTs will specify what they expect as input, and many I have seen are designed to work either with LOG or REC709.  (There are many LOG formats out there--Arri Log-C, RED RedLogFilm, Sony SLOG, Canon, etc.  Some LUTs get really particular, others less so.)

A good rule of thumb is that the LUT expects a properly exposed image, meaning black, white, and 18% gray land at around 16, 235, and 110-120 in the 8-bit broadcast video safe world of 16-235.  It's very helpful to have an optical signal generator (calibrated black, white, and gray pieces of paper which, when hit by light, generate an optical signal) so that you can verify exposure before you shoot.

If you don't have a waveform monitor on your camera or in your signal chain, you can record data from the optical signal generator, upload it to your favorite NLE (which should have a waveform monitor) and you can verify that your white, black, and gray levels are sane.  Learn whatever it is your meters are telling you when you shoot your black/white/gray value chart with a correct exposure.

If you cannot shoot LOG, then look for LUTs that will accept REC709, shoot properly exposed images, and have fun!


How can i crop part of a video while recording from desktop in real time using ffmpeg? I'm using this line to record from the desktop to a video file:

ffmpeg -f gdigrab -framerate 24 -i desktop -preset ultrafast -pix_fmt yuv420p out.mp4

But this will record the whole desktop.
Is there any way to record in real time only specific area/part of the desktop ?

Two ways:

#1 By specifying gdigrab options:

ffmpeg -f gdigrab -framerate 24 -video_size 960x540 -offset_x 240 -offset_y 450 -i desktop -preset ultrafast -pix_fmt yuv420p out.mp4

This captures a 960x540 video whose top-left corner is at (240,450) measured from the top-left corner of the display.

#2 By cropping it post-capture

ffmpeg -f gdigrab -framerate 24 -i desktop -vf crop=960:540:240:450 -preset ultrafast -pix_fmt yuv420p out.mp4

The former is preferable.


recording to multiple locations I am not 100% sure if this is on topic or not here but I think its the most relevant place to post this.

Are there any programs out there that record the screen but saves the output to multiple drive locations at once?

To elaborate, lets say I have 3 hard drives: a) b) and c).

When it is saving from memory it will do the following...

save 1/3 of the bytes to drive a)
save 1/3 of the bytes to drive b)
save 1/3 of the bytes to drive c)

But it does this concurrently.

Are there any screen recorders out there that can do this?

PC Specs:

I7 clocked @ 6.5GHz
Radeon HD 6490
32GB DDR5 RAM
2 * 3TH HDD's

You may find that it is easiest to use file system utilities rather than look for a recording application that writes multiple copies.

You could run mirrored filesystems, which will provide copied volumes, or simply set up scripts to copy individual files to multiple locations.


Reveal entire layer in after effects with mask partial overlap I'm looking for a way to reveal my entire layer when a portion of my mask covers the layer. I have a composition with multiple individual layers, that I want to reveal with a set matte. However lets say when 30 percent of the layer is covered I would like the entire layer to appear. When it's less than 30 percent the layer does not need to appear.

Another option may be a correlation between opacity and area covered. Like 20 percent covered 20 percent opacity, 60 percent covered 60 percent opacity, etc

So, if we will continue analogy with Lego blocks:

First you need add On & Off effect for your blocks. You can find here how.
Then you shall add Collision detection. You can find about it here.
Now you need to trigger On & Off effect when your object (mask?) collide with block.

I never tried it myself, but now really want to test it!


Video encoders that display frame with most movement Are there any video encoders that can monitor multiple video frames and display whichever frame is the most active?  I would use this during a live streaming event and it would be great to automate the process.

This feature is called "motion detection" in the video surveillance jargon and can be found on most IP cameras and NVRs. There is a large variety of solutions out there depending on the level of accuracy that you need, the ability to divide the monitored perimeter into zones, whether the analytics run off a live or recorded feed, the OS that you use, and more.

If you look for something free and simple that just feeds you with XMLs then you might check Shotdetect. If you look for more of a "solution" then check motion, note that it is unix-specific.

It is also possible to use ffmpeg to extract thumbnails from your feed and run SNR comparisons on the fly, if you extract only I-Frames then the overhead is minimal. You are bound though to a detection rate that depends on your keyframe rate.

Try to provide some more detail regarding your operating system and overall use case for a more specific answer.


FFmpeg - how to adjust video (clip) duration to sound duration if sound is longer, possible without re-encoding it with mp3 file? I have a problem. I have recorded my videos separately, and then added sound to it. Sometimes, sound is longer or less in duration compared to video duration. Usually sound is longer, sometimes around 20 seconds. To me, when running on my PC through flv or some Windows Media player, that is not problem, since after video is over, last capture of video stays displayed (like an image), and sounds is still executing, and video ends after sound is over. So everything is ok at my PC when running it like .flv or .mp4 file. But, when I upload that on Google drive or some other place on web (that is, when I run it in my browser for viewing after upload), I see my video is cutted to the lenght of the video duration (so my sound is cutted). I understand that this is because of different duration sizes of sound and video.

Now I need a command with ffmpeg that can make my video to be extened to my sound duration. I would like not to reencode my videos with sound again (in sense that I would need to put my mp3 file in ffmpeg command) if I don't need (since I have many videos and sound is already inserted in them), but just to re-encode video with some ffmpeg command to extend video lenght to sound lenght.

I have watched this (not sure at the momen if this would even help me): https://superuser.com/questions/801547/ffmpeg-add-audio-but-keep-video-length-the-same-not-shortest

But with this approach, you have to reencode video with sound (mp3 or similar) file first.

Can it be done, and what would be command, or commands for it? (And if only way is to re-encode it with mp3 file, what would be command for it?)

Edit: I don't want to cut my sound, I need to hold last frame till my sound is over. Currently last frame is holded only when viewing on my PC, when I upload that, clip is cutted immediately when video stops.

You can hack this using mp4fpsmod (direct link to Win binary; C++ source at https://github.com/nu774/mp4fpsmod).

First step is to extract the timestamps of the existing video

mp4fpsmod -p vid_tc.txt vid.mp4

This will produce a text file like this

# timecode format v2
0
40
80
120
...
4880
4920
4960

Each line contains the timestamp of frame #N in milliseconds.

In this example, each frame is 40 milliseconds long and the last frame is shown at 4960 ms and hence the video stream is 5 seconds long.

Now suppose your audio is 11.34 seconds == 11340 ms long. Edit the last timecode to something just under 11340, like 11320.

# timecode format v2
0
40
80
120
...
4880
4920
11320

and then run

mp4fpsmod -x -T keep -t vid_tc.txt -o vid_new.mp4 vid.mp4

This will create a new file vid_new.mp4, which you can upload. The duration shown in desktop players or tools can be wrong, but playback should be as desired, except that the last frame is shown along with the end of the audio. This skips re-encoding and is quick. You can add -i and skip -o vid_new.mp4 if you want to edit the timecode in-place in existing file i.e.

mp4fpsmod -x -T keep -t vid_tc.txt -i vid.mp4

but I don't recommend it.


Working in a linearized Color Space in After Effects causes hard gradients I am just playing arround with the new trapcode suite in after effects working ina linearized color space for a better control over color and effects.

Somehow I get really bad rendering on parts of my footage where its supposed to be more smooth.

On the screenshot I am using trapcode mir for the fllo, tao for the spiral thing and shine for the light rays. If you take a closer look at the sprial geometry you can already see the jagged gradient where its supposed to be smoother. I am also working in 32Bit soo I don't get it.

I use the trapcode suite as well, the issue has more to do with the fact that even though you may be working in an sRGB workspace at 32 Bit; your monitor output is 8 bit. 10 Bit monitors are available but unless you forked up a lot of cash - you are viewing 8-bit.

The way to solve gradient problems like this - with this as well as any other gradient in AE/Premiere/PS; is to add an adjustment layer to the top of your project; on top of all layers. Add the standard NOISE filter. Check monochromatic (or un check use color noise) - you don't want color. Gaussian sometimes looks better; it's one of two options on the NOISE pop-up.

Typically; I use a setting of 2 - 4%. But it really depends on your comp settings. If I'm working with RED 5k footage I typically have to do 1-2%.

Lastly; honestly I almost always add NOISE to all the work I do; even if it's just 1% on a nested timeline for output. It solves a lot of aliasing problems and is a standard trick in post many people use.

Hope that helps.


Hanna Barbara animation frame rate Question for old animators at Hanna Barbara: 1960s - 1980s. Do Hanna Barbara cartoons use 30 frames/s or 24 frames/s, and did they draw most animation on 2s for real 15 frames/s or 12 frames/s?

I guess 30 frame/s (15 frames/s on 2s) because US company make cartoons for TV (US TV during that time is NTSC ≈ 30 frames/s).

This may be useful:
https://www.illustrationhistory.org/essays/hanna-barbera-the-architects-of-saturday-morning

  For a standard Disney feature, the film would be projected at
  the standard 24 frames per second with each frame having different
  animation. Planned animation provided for fewer frames, so that
  instead of each frame having a new image, frames would be repeated two
  or three times, resulting in just twelve or eight different frames per
  second.

  This experimental approach is showcased in UPA’s most stylized
  cartoon, Gerald McBoing Boing, for which they won an Academy Award in
  1951. However, Hanna-Barbera adapted the technique out of necessity.


Low conversion quality using ffmpeg I need to convert flv video into mp4 video, so I used this command:

ffmpeg -i input.flv -c -vcodec libx264 -acodec copy output.mp4

But output video has little bit worse video quality, how can I fix it?

MP4 info (output):

video: 472kb/s bitrate, 680*480, 24 FPS
audio: 112kb/s bitrate, 44.1 kHz, mpeg audio, stereo

FLV info (input):

video: 1500kb/s bitrate, 680*480, 24 FPS
audio: 112kb/s bitrate, 44.1 kHz, mpeg audio, stereo

UPDATE:

I tried with -crf 18 and this is result (colors of output are more bright and look at that yellow line on the cap, on the output image that yellow line contains  something like noise).

Input:

Output:

Lossy codecs such as x264 degrade the image quality by design, if you don't want to lose image quality you either have to use a lossless codec or better yet, not re-encode at all.

I assume the source material is either H.264 or MPEG-2, so the best solution in your case would be to simply copy all the streams into the new container:

ffmpeg -i input.flv -c copy output.mp4

Here's the command for using x264's lossless mode if you have to re-encode for whatever reason:

ffmpeg -i input.flv -c:a copy -c:v libx264 -crf 0 output.mp4


How can flicker from a slide projector be removed from existing video footage? Previously it was asked how to prevent flicker when recording a presenter and a slide show simultaneously. I'm interested in how to correct pre-existing video where there are flickering slides.

Here is an example video that demonstrates the flicker.

I appreciate that the flicker is caused by some problem to do with the video and projector refresh rate being out of sync. However, assuming that such film has been taken, I'm interested in ways to remove the flicker. In particular, when filming slides, the rate of movement in slide content is low. So on some level I assume that there is enough information in the video file to restore an image without flicker. Perhaps there is some smoothing effect that can be applied post processing.

So my question is:

How can flicker from a slide projector be removed from existing video footage?

In particular, I'd be interested in simple and efficient solutions available in standard consumer video editing software.

I didn't view the entire video, but from what I saw it looks like a series of static slides. You could grab a still frame from each slide and create a (say) five second repeat of that frame, and use it to cover the section in the video where that slide appears. Every editing package I'm aware of can do this.

Better yet, get the original slide stack and scan them, then do the same as above. You can correct for parallax etc and have more readable content.


What is the difference between lossless and lossy formats? What exactly are the differences between lossless and lossy codecs? And is one better format better than the other or is it mostly relative?

If you imagine you have a video signal, and you want to capture all of it.. Let's say it is 1920x1080 at 25fps. You can store all the information about every pixel at full colour depth on every frame.  This would be lossless - you could full recreate the signal upon playback, and it would be identical to the original that you captured.
The downside of this process is that the files would be extremely large, and you may require relatively powerful hardware to successfully playback the signal successfully without dropping any frames.
So you may compress the signal or file instead in a number of different ways:  You might look at each frame, and try to spot areas where there isn't much detail (such as in an out-of-foucus background).  Instead of storing every pixel in this area of the frame, you could say "these twenty pixels are all about the same shade of blue).  The frame you have stored would take up less space on your computer, but when you come to recreate the frame upon playback, it would no longer be identical to the original.
Now you could also do this over time - this is called inter-frame compression.  So you can look at a number of frames over time, and spot where there is little variation in the image - and only record information where there is a significant change.
All of this involves working from a model of "perception" - what can the eye-brain combination see?  How clearly can it tell when something has been data reduced?
Lossy formats can store the same video at much smaller file sizes.  Or - another way to look at it - with a given amount of bandwidth, you can transmit a much higher quality video if it is compressed than if it was transmitted as a lossless format.
Recreating video from a lossy format also has performance overheads. So for a given system, you may find a codec that plays back well on one system performs very badly on another.
In general, most video files delivered on the internet to consumers are lossy.  This is for the reason mentioned earlier - you can deliver a perceptably "better" looking file using a lossy codec faster, than you could if the file was lossless.  So final deliveries to website such as YouTube etc are usually in a lossy format such as h264.
During the production process, this is not the case. If your camera can export it, and you have a fast enough computer, with enough storage space, you may want to use lossless formats for editing, or at least formats which don't use any inter-frame compression.  This is so that your computer doesn't need to "rebuild" frames that don't exist when you are scrubbing through your edit.  Each frame in a format like ProRes is fully described, even though there is still some data compression in the way the colour of each pixel is described.
Lossless and lossy formats both have their place. They're both useful tools when used in the right part of the production process.


How can I avoid Quicktime Vulnerability with h.264 encoded MP4 files? I posted this earlier on SuperUser, but realized that this is likely the more appropriate forum for my question.

We have several thousand very large MP4 files that have been encoded over the past decade using Sorenson Squeeze.  Over the past year, there are suddenly a growing number of customers (Universities) with Network/Proxy Server that are suddenly unable to view the videos due to vulnerability described at this link: Apple QuickTime Vulnerability.

Forgive me, I know very little about media and encoding, only that the problem has suddenly started appearing while they view our videos (we use JWPlayer v7 with files hosted at AWS/S3/Cloudfront).

Is there an alternate way of encoding h.264/MP4 that doesn't include any reference or codecs, or whatever it is that flags them as Quicktime files, or some other way to get around this?

Note: Our site streams the h.264 MP4 files with JWPlayer - the end users don't open them with Apple Quicktime.

Partial ffmpeg Output for one of the videos in question:

"format": {
    "filename": "c:\\videos\\ABC-123.mp4",
    "nb_streams": 4,
    "nb_programs": 0,
    "format_name": "mov,mp4,m4a,3gp,3g2,mj2",
    "format_long_name": "QuickTime / MOV",
    "start_time": "0.000000",
    "duration": "1632.480000",
    "size": "86937415",
    "bit_rate": "426038",
    "probe_score": 100,
    "tags": {
        "major_brand": "mp42",
        "minor_version": "0",
        "compatible_brands": "mp42isomavc1",
        "creation_time": "2011-07-13 14:02:44",
        "compilation": "0",
        "encoder": "Sorenson Squeeze 5.0"
    }

You can strip most of the metadata off your files using ffmpeg:

ffmpeg -i oldfile.mp4 -c copy newfile.mp4

This will copy the first audio and video streams to a new mp4.


What is the camera technique use in desiigner - Panda vidéo? What is the name of the technique and how do you rig a camera so that it follows the actor's face from the front, like in the two videos below. I would describe it as a "front tracking follow" shot.

desiigner - Panda (from 00:23)
JME - 96 Fuckries (from beginning)

Cheers

It made with body camera rig.

Here is tutorial, hot to do it yourself, but you will need some adjustments to face it from front.

Or if you don't need hands in the shot, you can use your tripod, how shown in this tutorial (careful, bad audio)


remove items dependencies I'm using Final Cut Pro X and I would like to delete the dependencies between the items:

I don't know where to "unconnect" the elements.

Thx

All elements not on the main storyline must be attached to something on the main storyline. That is an essential design from FCPX.
You can move elements not on the main storyline to any position and it will link to the underneath main storyline element.

However the link point can be shifted to an extend.
Select the attached element you want the link to sift. Hold down Command-Option and click somewhere in the attached element. The link to the main storyline will change to the position you just selected.


Detect duration of layer I want to get the time / duration of the layer, when I stretch or lengthen the layer to produce an effect, for example I want the opacity of a layer to go to 0% 5 frames before the end of the layer, and if I lengthen or I cut that layer that those 5 frames are the same at the end of the layer, regardless of the length of the layer

This YouTube tutorial explains how to do this:
After Effects Quick Tip - How to Add Auto Opacity To Layers and Footage

Add an expression to the layer's Opacity property by alt-clicking the stopwatch.
Paste this expression into the box:

fadeDuration = .5;
Math.min(linear(time,inPoint,inPoint + fadeDuration, 0, 100), linear(time,outPoint - fadeDuration,outPoint,100,0))

The layer will now fade in for half a second, and then fade out for half a second based on its in and out points.
If want to specify the length in frames instead of seconds, change the first line of the expression to be this:
fadeDuration = thisComp.frameDuration * 5;

Now the layer will fade in and fade out over a period of 5 frames.


FFmpeg produces high system load when downscaling 1920x1080 to 320x240 I'm downscaling an HD live stream to a little "thumbnail" stream, the command looks like this:

ffmpeg -i pipe:0 -vf scale=320:240 -sws_flags fast_bilinear -an -f mpegts pipe:1

Now I would think fast_bilinear is the fastest possible scaler, but it still takes up about 60% of a single core.

Is there another scaler that might be better suited for downscaling? I'm not too interested in the quality.

As @Mulvya said, nearest neighbor is even faster, but will produce bad quality. Nothing resampled, so you can't get faster operation.

But even nearest neighbor and can cause 100% CPU load, it's depends on how much you pump information through it. If you put very large image or 1000fps, you always will get high CPU usage.

Only one thing you may be interested: colorspace. Try to experiment with different color spaces, like yuv420 or rgb32. Maybe some versions of scaler can be faster.


Converting an MPG data file burned to disc to a burned "video disc" for set-top DVD players I've inherited some (12) DVD recordings of events for our organization that were burned to disc as data, instead of as a video disc.

I'm looking to take a 16:9 MPG video from these DVDs and burn it back to DVD in video format. Unfortunately I'm having problems with it. It seems to be losing its 16:9 dimension/ratio whenever I do a conversion from the very little amount of knowledge that I have with the applications at my disposal. I'm not too knowledgeable about video production software.

I have Windows Live Movie Maker, Windows Live DVD Maker, and Adobe Premiere Pro and Encore CS5 (part of CS5 Master Collection).

When I tried Encore, it converted (or read as?) the video to 728x480 (3:2) on import even though the settings seem to show "Don't Transcode" and DVD Maker seemed to add a black border around the video regardless of what settings I had attempted (widescreen/fullscreen). Live Movie Maker was made to make the creation process easy, so its settings are rather lacking, and I understand that - it just happened to be what I had on hand. I unfortunately don't have a lot of experience with video products.

Does anyone have any suggestions on solutions to run the conversion? Points for fewer steps and ease-of-use, but with "decent" quality conversion.

I have no additional budget for this task.

Encore should work fine for your purposes.  When you look at the original source, what is the resolution?  Is it still 728 by 480?  Most likely the original image is using oblong pixels to make a 16:9 image with a non 16:9 resolution.  This is fairly typical and is called Anamorphic Widescreen.  The 16:9 image is compressed to a 4:3 size (720 by 480 is a typical .9 pixel compressed NTSC 4:3 image.)

When recording it to a DVD, you want to make sure that it is encoding it as an Anamorphic wide screen so that the DVD player that plays it back knows that it should scale it out to 16:9.  Your other option is to letterbox the original to a 4:3 size with black bars on the top and bottom.

I don't have Encore in front of me at the moment, but if you can't find the setting for anamorphic widescreen, I can look it up when I get home and let you know.


Adobe Premiere Hide Clip Keyframes or remove the Adjustment line? How can you remove this particular line here? Apperantly when you right click on a clip you can see clip keyframes and select something like time rewrapping, however you can not unselect it, but apperantly you can hide it, I just don't know how.

Does anybody know or is this normal and default not sure.

To do that, click the icon indicated by the arrow in the following image and select “Hide Keyframes” form the menu that pops up.

The icon is under the camera icon on your timeline.


Need ideas for simple closed circuit tv for church overflow room The Need: In our small church, we have an "overflow" room right across the hall from the main room where the pastor speaks. We're already getting sound into the overflow room separately, but we need to get video into there, too. We don't need recording capabilities, just a live video feed.

Some challenges: We did have a setup using a camcorder in the main room, and running an HDMI cable from the camcorder to a TV in the overflow room, which worked ok, but the camcorder recently broke. We could just buy a new camcorder, though it seems overkill to buy a camcorder with all its functions, when all we need is a live video feed. At the same time it would be nice to have something I can move and zoom with a remote (sometimes we need to switch views when there's a baptism, for example).

I even thought about using a cell phone or ipad with google hangouts or face-time, or chromecast. But I don't think I want to rely on wifi; plus, there will probably be a delay that then wouldn't sink with the sound that we're piping in separately. I was looking for closed circuit cameras online, but most of the stuff I found was either bad video quality (like some security cameras), or had all these bells and whistles that I don't need, like infrared night-vision, motion-detectors, etc.

So, here's a detailed list of needs/wants for the setup:

Live video feed to a separate room (no recording necessary, no sound necessary)
Decent video quality (not like some security cameras)
Remote move/zoom control
Ideally < $500
(optional) Wireless (nice to have, but NOT necessary)

If you want to remotely control the pan, tilt, and zoom of the camera, you want to look for a "PTZ" camera. You will not find one under $500 with a controller.

A cheap camcorder with a wall mount and a long HDMI cable is your cheapest option.

If your budget was closer to $2,000 you'd be able to get everything on your list.


ffmpeg cropped video changes aspect ratio I have a heterogenous set of videos (codecs, dimensions, size) that I would like to crop off the top using ffmpeg.  I've used this code successfully for year without any trouble (example here crops off 64px):

ffmpeg -i in.avi -y -pix_fmt yuv420p -an -qscale 1 -vcodec libx264 -vf crop=in_w:in_h-64:0:64 out.mp4

However, I've now run into a case that it does not work correctly, and I suspect it has something to do with SAR and DAR.  I have a clip that shows pixel dimensions of 960x720 [SAR 960:720 DAR 16:9], original looks close to this:

When I use the above command, I end up with a video that ffprobe/ffmpeg says is 960x656 [SAR 4:3 DAR 80:41], but when I view it on a web browser or quicktime it is displayed as 1280x656:

How can I modify the command to account for this use case, without breaking the cropping of all other clips?  Here's what I've unsuccessfully tried:

ffmpeg -i in.avi -y -pix_fmt yuv420p -an -qscale 1 -vcodec libx264 -vf scale=960:656,setsar=1 -vf crop=in_w:in_h-64:0:64 out.mp4
ffmpeg -i in.avi -y -pix_fmt yuv420p -an -qscale 1 -vcodec libx264 -vf setsar=sar=0 -vf setdar=dar=0 -vf crop=in_w:in_h-64:0:64 out.mp4

This should work universally.

ffmpeg -i in.avi -y -pix_fmt yuv420p -an -qscale 1 -vcodec libx264 -vf setsar=1,crop=in_w:in_h-64:0:64 out.mp4


I Finished My Film. How to Get It to Theatres? We finally finished our amazing professional full-length film.

Whew! Long work.

The thing is everything was done by our team, as in no contracts with major companies, distributors, etc.

Are there any ways we can distribute our film to cinemas or stores? What are some steps to follow? Does a representative go to each theatre and present the film, or...?

Thank you.

It seems odd that you'd put in the time, money and effort needed for a 'professional' film with no idea what to do when you're done. In any case, one route would be through the festival circuit, where several successful films have found distributors. Your film needs exposure now, and you won't get it unless you explore every avenue.

And you will need a distributor: no significant theater or group will take on your film without one. An agent can help you get to distributors. It isn't unusual for a professionally produced film to spend almost as much on promotion and distribution as on initial production. If you can't afford it, you have to make a deal with someone who can.

At the very least you'll need to create a DCP (digital cinema package) and DVD screener copies for any festivals or agents you contact. Check the web sites of the major and minor festivals to see their submission requirements. Good luck.


starting new need help The hope is to be doing interviews in breweries and restraunts the guy who was set to do it has bailed and so has his equipment amd knowledge. I was wondering whats the best starter equipment to get great audio and the software. Any list or links for help or equipmemt would be GREATLY apprecaited! Thanks again

For gear, I like this list: http://www.desktop-documentaries.com/cinematic-documentary-gear-package.html

For software (I assume for editing), Premiere Pro is very capable and easygoing on beginners.  Download a trial and see how you like it!

Bear in mind, that both take time to learn in order to produce quality results, so unless you're a quick study, or your project is very simple, factor the learning curve into the cost of doing it yourself.


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

The steps I tried are:

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

I could do the first 2 steps but have not succeeded in performing step 3 as I do not know how to replace the audio file.

I do not have to create .vob files. Any video format with new (edited/cleaned) audio is fine.

Are there better ways?

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


What are the WebM (VP9+opus) encoding settings compatible for YouTube import for a video with a still image? What are the WebM (VP9+opus) encoding settings compatible for YouTube import for a video with a still image ?

I tried PAL and NTSC framerates with 48kHz stereo and and image size of 640x360 and kept every other parameters' defaults :

$ ffmpeg -i myOriginialPureAudioFile-CUT.opus -i myAudioFile.png -ac 2 -s 640x360 -strict strict -r pal myAudioFile.webm

But YouTube says :

  The video has failed to process. Please make sure you are uploading a
  supported file type.

Rather than framerate, the issue is there's only one frame. You'll have to loop the image.

ffmpeg -i Audio.opus -loop 1 -i image.png -pix_fmt yuv420p -ac 2 -s 640x360 -strict strict -r pal -shortest myAudioFile.webm

-loop 1 : infinitely loops over the same image
-shortest : stops encoding when the shortest input stream has entirely been encoded


Why do my Objects show up black in Cinema-4D? I am new to 3D software and have just started with Cinema 4d. This is a very noobish question but when I create any object in a project it always shows up pitch black.

The tutorial videos I have seen create objects where the faces can be see in a shaded grey. What am I doing wrong?

Image relating to the problem:

This can either be an issue with OpenGL and you may want to disable it in the program settings (under "File) to test if thats the issue. Or you may have disabled the standard infinite light that is present in every new scene until you add your first light. Add an infinite light from the lights menu and see if that gives your objects some shading.
Also try what @Bart Arondson said and look if you have the "Use Color" option enabled and set to black. If yes set it to "off".


How to resolve Shearing issue while rotating image in Adobe After Effects? I had an image in my After Effect Composition. I want to rotate the image by time with out any disorder in its shape.

When I am trying to rotate image a shearing effect is happening. How to resolve this issue, so that there will not be any shearing to image while rotating.

Below I have attached what happening now when I am trying to rotate.

Default Image : 0 degree rotation.

Transformed image : 42 degree rotation.

Make sure scale values are locked and set both to 100%:


Edit video like professional gamers I want to make a gaming video. I have the clips and here is the layout:

Can any free PC apps help/do this?
Thanks

Yes.

Any NLE can do this: you're simply going to insert/layer an image over another.

Here's how to do it with Premiere Pro (if you have access to that program; the same principle applies to any other NLE though)


ffmpeg Cut a media preserving all streams but also all metadata, timecodes and everything else Today I wanted to obtain a ts file cut preserving everything, so I tried with this command:

ffmpeg -i "original.ts" -map 0 -c copy -t 00:30:0.0 -threads 1 "cutted.ts"

The resulting file have different minor specs I would like to make matching to the original one.

original.ts

[mpeg2video @ 00000000030df040] Invalid frame dimensions 0x0.
    Last message repeated 2 times
[mp3 @ 00000000030e0420] Header missing
[mp3 @ 00000000030df940] Header missing
    Last message repeated 1 times
[mpegts @ 00000000030dd500] PES packet size mismatch
    Last message repeated 2 times
Input #0, mpegts, from 'original.ts':
  Duration: 01:14:46.92, start: 64563.955900, bitrate: 5367 kb/s
  Program 1
    Stream #0:0[0x201]: Video: mpeg2video (Main) ([2][0][0][0] / 0x0002), yuv420p(tv), 720x576 [SAR 16:15 DAR 4:3], max.
 10000 kb/s, 25 fps, 25 tbr, 90k tbn, 50 tbc
    Stream #0:1[0x28b](eng): Audio: mp2 ([4][0][0][0] / 0x0004), 48000 Hz, stereo, s16p, 192 kb/s
    Stream #0:2[0x2b7](001): Audio: mp2 ([4][0][0][0] / 0x0004), 48000 Hz, mono, s16p, 64 kb/s
    Stream #0:3[0x2b8](eng): Audio: mp2 ([4][0][0][0] / 0x0004), 48000 Hz, stereo, s16p, 192 kb/s
    Stream #0:4[0x241](001): Subtitle: dvb_teletext ([6][0][0][0] / 0x0006), 492x250

cutted.ts

  [mp3 @ 000000000302fa20] Header missing
     Last message repeated 1 times
  [mp3 @ 00000000030304c0] Header missing
  Input #0, mpegts, from 'cutted.ts':
   Duration: 00:00:10.08, start: 1.400000, bitrate: 4297 kb/s
   Program 1
     Metadata:
       service_name    : Service01
       service_provider: FFmpeg
     Stream #0:0[0x100]: Video: mpeg2video (Main) ([2][0][0][0] / 0x0002), yuv420p(tv), 720x576 [SAR 16:15 DAR 4:3], max.
  10000 kb/s, 25 fps, 25 tbr, 90k tbn, 50 tbc
     Stream #0:1[0x101](eng): Audio: mp2 ([3][0][0][0] / 0x0003), 48000 Hz, stereo, s16p, 192 kb/s
     Stream #0:2[0x102](001): Audio: mp2 ([3][0][0][0] / 0x0003), 48000 Hz, mono, s16p, 64 kb/s
     Stream #0:3[0x103](eng): Audio: mp2 ([3][0][0][0] / 0x0003), 48000 Hz, stereo, s16p, 192 kb/s
     Stream #0:4[0x104](001): Subtitle: dvb_teletext ([6][0][0][0] / 0x0006), 492x250

Bitrate displayed obviously changes because the subset of media considered have a different length and this is ok.

Start is not kept, being part of a transport stream I would like to keep that exact start time. Here https://ffmpeg.org/pipermail/ffmpeg-user/2013-July/016109.html they talk about reset_timestamps and initial_offset but rather than specifying them i would like them to be copied automatically.

Streams id changes as well as some minor specs inside the parenthesis but i don't know what they are for.

Is also possible obtain an output file without ffmpeg service_name and service_provider metadata ?

PS: Original ts file was created by Terratec Home Cinema.

PPS: My question did not include intentionally the -ss option because that one is supposed to change the start time, however I'm interested also in a solution with -ss that automatically (if possible) offsets the start time with (output start time = input start time + -ss command offset)

This seems to work:

ffmpeg -ss N -i input.ts -c copy -copyts -muxdelay 0 -max_delay 0 output.ts

You can add a

-map_metadata 0

to preserve whatever metadata ffmpeg can. But this doesn't seem to carry over all the metadata.


Convert mkv to mp4 (or webM) with the output file viewable in the process I'm trying to find a way to convert a MKV file into MP4 and actually already start to view it, while it's still converting.
The output file would be viewed via Chrome or Firefox and I would like to use ffmpeg or avconv (or similar available on a headless server) to convert.

Any advice? Maybe even on recommended settings?

*edit: if it is quality-wise possible, webM could also be an option

This is possible for MP4, with a caveat. The command below will generate a fragmented MP4, which you can view in a browser while the conversion is taking place. However, only the fragments completely encoded at the time of launching the file, will be viewable. To view fragments encoded after that point, you'll have to reload the file/page.

ffmpeg -i input <encoding parameters> -movflags +frag_keyframe+separate_moof+omit_tfhd_offset+empty_moov out.mp4


How is the default video player in Windows 10 achieving the low CPU utilization while playing FHD videos I am trying to understand how the default Windows 10 player (called "Films and TV") is able to play FHD (1920 x 1080 x 60fps) videos (shot with GoPro 4) and utilize only around 10% of the CPU, while other players namely VLC and GOM will utilize around 60-70% CPU.

I tried looking at GPU utilization, but even there while using the default Windows 10 player utilization is around 15% vs around 30% when using VLC and GOM.

Right now this looks like magic to me as FHD playback is taxing on the hardware and I can't figure out what is going on. I am thinking the difference will be in the decoder used, but can't find more information.

The CPU / GPU used are Core i5 5200U / Intel HD Graphics 5500

VLC Player CPU utilization:

Films and TV CPU utilization

This is the info for a sample video file.

General
Format                                   : MPEG-4
Format profile                           : Base Media / Version 1
Codec ID                                 : mp41
File size                                : 2.61 GiB
Duration                                 : 12mn 23s
Overall bit rate mode                    : Variable
Overall bit rate                         : 30.1 Mbps

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

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

VLC reports the following video output in: Tools -> Messages -> Module Tree -> playlist -> video output

window "qt4" (0x5a738fc)
vout display "direct3d" (0x5a57a34)

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

Quite possible that the Windows player can make use of some HW acceleration the others can not / are not using.

Check this how to enable HW video decoding on VLC:

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

If you are using VLC 2.2.2 check this
https://forum.videolan.org/viewtopic.php?t=130590

UPDATE from the author of the question:
Adding screenshot from VLC v. 2.2.1 to compliment this answer.

VLC 2.2.1 with Hardware Acceleration enabled.


Convert a non-supported/obscure codec to a supported codec I currently work with a team of researchers and we are obtaining data from videos that are encoded with SMB8, they are AVI files. We couldn't find anything on the SMB8 codec online unfortunately. We would like to convert these raw AVI videos with SMB8 to H.265 HEVC videos using a converter such as FFMPEG or into another readable codec. Our current issue is that our new software does not read SMB8 files.

I apologise for any inaccuracies or typos, I'm not an expert on video production and I typed this question on mobile.

Thanks!

I found a reference to this codec perhaps being used by the SIMI motion capture software; chances are it's uncompressed (if a high bit rate?) or lightly compressed AVI with additional data streams. Perhaps some stupid bitstream obfuscation... Less likely, but perhaps just a commodity codec like ASF/WMV in an AVI container?

Discussion of SIMI software found on http://birdz.sk/forum/avi-nevie-pehrat-ziaden-prehravac/138108-tema.html/ . Perhaps contacting the software developer is worth a shot.

If not, I'd try experimenting with the FOURCC changer (https://www.fourcc.org/changer/) and see if you can get WMP, VLC or mplayer to accept this file without baulking at any ancillary data.

Maybe ffmpeg could be forced to demux just the video assuming a format, allowing you to reencode? Have you got a clip available to post for analysis?


How can I prevent adobe media encoder from trimming the end of the video? I'm working with videos from a client that need to be converted to Flash from Quicktime.  I've started to encounter a problem where Adobe Media Encoder will trim of a fraction of a second at the very end, which sometimes even clips off the very end of the audio.  The client does not want to add some silence to the end of the videos.

For the complete render settings, please see this screenshot: http://cl.ly/2V372S2N3B0R091N1P1s

Does anyone know what causes this or how it can be prevented?  Adobe doesn't seem to have any information about the problem and Google results all seem to be about intentional trimming.

I can't read your screenshot, and in any case I don't use the particular tool, but I can say that some common reasons for this are: 1) the audio and video are different lengths and the particular encoding scheme or codecs don't like that; 2) the scheme or codec requires that the material ends in a full GOP (encoding quantum).

If these are your issue, possible solutions are obvious: make the streams the same length, and/or pad the streams out to a full quantum. Probably both...


Add text to first video, add audio and watermark to second video and then add crossfading to these two videos and one another video using one command? I have four commands that is working perfectly but i want only one command to do this task.

Commands:

ffmpeg -i ' . config('medialibrary.s3.domain') . '/listing_video/intro.mp4' . ' -vf "drawtext=fontfile=' . storage_path('assets/video/FutuMd.ttf') . ': text=' . $this->listing->car->name . ': x=300: y=450: fontsize=40: fontcolor=white: enable='between(t,2,5)'" introfinal.mp4

ffmpeg -i mainvideo.mp4 -i '.config('medialibrary.s3.domain').'/listing_video/EnergyAudio.mp3'.' -filter_complex "[1:a]volume=enable='between(t,0,32)':volume=-10dB[1a];[0:a][1a]amerge=inputs=2[a]" -map 0:v -map "[a]" -c:v copy -c:a aac -ac 2 -shortest mainvideooutput.mp4

ffmpeg -i mainvideooutput.mp4 -i ' . storage_path('assets/image/vcs-watermark-video.png') . ' -filter_complex "overlay=main_w-overlay_w-5:main_h-overlay_h-5" -codec:a copy mainvideofinal.mp4

ffmpeg -y -i introfinal.mp4 -i mainvideofinal.mp4  -i ' . config('medialibrary.s3.domain') . '/listing_video/outro.mp4' . ' -f lavfi -i color=black:s=1280x720:d=30 -filter_complex \
"[0:v]format=pix_fmts=yuva420p,fade=t=out:st=5:d=1:alpha=1,setpts=PTS-STARTPTS[v0]; \
[1:v]format=pix_fmts=yuva420p,fade=t=in:st=0:d=1:alpha=1,fade=t=out:st=31:d=1:alpha=1,setpts=PTS-STARTPTS+6/TB[v1]; \
[2:v]format=pix_fmts=yuva420p,fade=t=in:st=0:d=1:alpha=1,setpts=PTS-STARTPTS+38/TB[v2]; \
[3][v0]overlay[over1]; \
[over1][v1]overlay[over2]; \
[over2][v2]overlay=format=yuv420[outv]; \
[0][1][2]concat=n=3:v=0:a=1[outa]" \
-vcodec libx264 -map "[outv]" -map "[outa]" '.$fileName.'

Thanks in advance!

Use

ffmpeg -y -i intro.mp4 -i mainvideo.mp4 -i outro.mp4 -i EnergyAudio.mp3 \
       -i vcs-watermark-video.png \
       -filter_complex \
"[0:v]drawtext=...,fade=t=out:st=5:d=1,setpts=PTS-STARTPTS[v0]; \
 [1:v][4]overlay=W-w-5:H-h-5,fade=t=in:st=0:d=1,fade=t=out:st=31:d=1,setpts=PTS-STARTPTS[v1]; \
 [2:v]fade=t=in:st=0:d=1,setpts=PTS-STARTPTS[v2]; \
 [3:a]volume=enable='between(t,0,32)':volume=-10dB[3a];[1:a][3a]amerge=inputs=2,pan=stereo[maina]; \
 [v0][0][v1][maina][v2][2]concat=n=3:v=1:a=1[outv][outa]" \
       -vcodec libx264 -c:a aac -ac 2 -map "[outv]" -map "[outa]" '.$fileName.'


H.264 or VP9 for encoding for YouTube? I make short films which I distribute through YouTube. I know YouTube uses VP9 for streaming, but YouTube still recommends uploading with h.264. It makes more sense to me to upload in as similar a format as will be streamed by YouTube, but I might be missing something.

Also, would uploading in a higher quality codec like DNxHR or Prores (I'm not concerned about bandwidth or processing time) better preserve video quality after YouTube's encoding?

tl;dr: Since Youtube reencodes all videos regardless of the upload format, it really isn't that important. Just export your video with a high bitrate to preserve quality. Also see my answer here regarding quality loss caused by Youtube.

Long answer: Each reencoding of a video to a compressed format lowers the quality. Usually, that means you'll lose quality at two points: When you export the edited video from your editing software and when you upload the exported video to Youtube, at which point it is reencoded to a highly compressed, streaming-compatible format. You have no control over that second step, so what you can do to achieve the maximum quality possible is make sure you lose as little quality as possible during the first encoding.
In theory, that would mean export to a perceptually (even though technically not) uncompressed format like Apple ProRes or DNxHD as you suggested. However, unfortunately, Youtube doesn't support those formats, so you'll have to use a compressed format. To minimize quality loss, set a high bitrate in your export settings (assuming rendering and upload time aren't an issue. If they are, you'll have to find some middle ground; exporting with a bitrate that is higher than the bitrate of the source material won't yield any more quality, so that is as high as I would go). If you do that, it doesn't really matter which codec you use, both are highly efficient regarding file-size/quality ratio (VP9 probably a bit more so, but that's more important when you're dealing with low bitrates). Youtube recommends H264, so that's what I would use. However, the best advice I can give you is to try out both, i.e. export the same video as both H264 and VP9 with identical bitrates/other settings, upload both to youtube and check which one looks better to you.


How is the audio for a TV broadcasted football match recorded? I am watching a TV broadcast from UEFA_Euro_2016. What surprises me is that I so a clearly hear the bouncing sound from the football when it is being kicked.

What techniques are used to record the audio from a football match?

Are there special requirements for the microphones that are specific for big sport events? Maybe they should be able to pick up weak sound that is almost drowned by a cheering supporter crowd.

The primary method of getting that "zoomed in" sound is using parabolic microphones. They are manually operated and usually carried by the operator listening just to the output of that microphone. The operator will isolate the specific player or object that they are to focus on.

Shotgun and other directional microphones are used to pick up more ambiance of the play while not picking up too much of the crowd. However, they aren't precise enough to capture a player's foot striking the ball.

Pressure zone microphones (PZM) are often placed on objects, like the goal, to capture the sound of the ball striking that object.

This article reviews mic'ing and mixing techniques for a few different sports, though not (non-US) football.


Is there a way to make Premiere reuse nested previews? I have a rather effect-heavy clip in my project. I made it a separate sequence using nest from the context menu and rendered its preview to see it's ok.

Now that it's rendered(shows green on top of the timeline), I go to the main sequence and notice that Premiere has to render the nested sequence again.

My question is, is there any way to make Premiere reuse these already rendered previews in a nested sequence either through native settings or a plugin?

I'm using Premiere Pro CC on Win 8.1

I don't think there is a way to accomplish this, since you can apply effects on nested sequences as well as to single clips, which means the nested sequence might look different in the main sequence than it does in the nested one. My humble guess is that that is also the reason why Premiere does not use the existing preview files.

A workaround would be to export the nested sequence and re-import the rendered file in your project, replacing the nested sequence. This of course means you won't be able to make changes to that part of your video anymore, as well as a slight loss in quality (unless you export the sequence using a visually lossless codec such as ProRes or DNxHD) ...


ffmpeg: How to list all possible video parameters for DNxHD dnxhr_lb profile? If I don't put accepted video parameters for DNXHD profile, ffmpeg will list all the possible parameters like this. And I find this very helpful.

[swscaler @ 0x539a420] deprecated pixel format used, make sure you did set range correctly
[dnxhd @ 0x55afb60] video parameters incompatible with DNxHD. Valid DNxHD profiles:
[dnxhd @ 0x55afb60] Frame size: 1920x1080p; bitrate: 175Mbps; pixel format: yuv422p10; framerate: 24000/1001
[dnxhd @ 0x55afb60] Frame size: 1920x1080p; bitrate: 185Mbps; pixel format: yuv422p10; framerate: 25/1
[dnxhd @ 0x55afb60] Frame size: 1920x1080p; bitrate: 365Mbps; pixel format: yuv422p10; framerate: 50/1
[dnxhd @ 0x55afb60] Frame size: 1920x1080p; bitrate: 440Mbps; pixel format: yuv422p10; framerate: 60000/1001
[dnxhd @ 0x55afb60] Frame size: 1920x1080p; bitrate: 115Mbps; pixel format: yuv422p; framerate: 24000/1001
[dnxhd @ 0x55afb60] Frame size: 1920x1080p; bitrate: 120Mbps; pixel format: yuv422p; framerate: 25/1
[dnxhd @ 0x55afb60] Frame size: 1920x1080p; bitrate: 145Mbps; pixel format: yuv422p; framerate: 30000/1001
[dnxhd @ 0x55afb60] Frame size: 1920x1080p; bitrate: 240Mbps; pixel .....

Is there a way to get this list for DNxHD codec dnxhr_lb or other DNxHD profiles below?

dnxhd
dnxhr_444
dnxhr_hqx
dnxhr_hq
dnxhr_sq
dnxhr_lb

The DNxHR profiles have simpler restrictions - only on pixel format and minimum frame size.

Accepted Pixel formats

LB:  YUV 4:2:2 (8-bit)
SQ:  YUV 4:2:2 (8-bit)
HQ:  YUV 4:2:2 (8-bit)
HQX: YUV 4:2:2 (10-bit)
444: YUV 4:4:4 or RGB (10-bit)

In addition, all HR profiles require the picture to be at least 256 x 120.


How to split MTS files? I have a bunch of large HDTV .MTS files from a camera. I want to cut them in many parts, preferably with free software.

How?

You can use ffmpeg to split them programmatically or use LightWorks to cut them manually with a GUI.


VSDC, No audio while editing (Preview) There is no audio when I preview the clips while editing them. The project is on stereo, the latest update installed, "Don't Use Audio" is not selected in the clip's properties menu. Let me know a solution.

You should double-check:

your speakers' volume (just in case)
audio volume settings in VSDC (see the image)


After Effect: Create Stroke from Motion Track Path In After Effect, I tracked a moving object in my Video with the Motion Tracker. There I got Keyframes, which I want to use.
Now, I would like to show the path of my object in the Video. I thought to use the stroke effect, to get one stroke that is builded when it "follows" my object. The goal is, that the stroke shows in the end the path of my object.

Do you know how to accomplish this task?
I don't now how to modify the position keyframes from motion tracker that I can use them in "stroke". (Thought also to interpolate them with bezier, but what's next?)

Thanks for your help!

Max

Select the motion keyframes & copy. Now create a new mask on the layer on which you have the stroke effect, any old mask shape will do. Set its mode to none. Now select the mask's Mask Path property and paste. The mask can now be used to provide the path for the stroke effect (it's the first property in the stroke effect). You have to directly select the Mask Path property, just pasting it on the layer will paste it to the position property of the layer.

Because there's always more than one way of doing things in AE:

You can also create a shape layer with the pen tool. Once you've done expand the new shape layer until you see the Contents>Shape 1>Path property (it could be called Shape 2, 3 etc) and paste the motion path on to it. Then you can use it as a normal stroked shape layer.

Note As Alyssa points out below, when pasting a motion path to some other property you have to explicitly select that property, otherwise AE will just paste it on to the layer's position.


which are the good camcorder or DSLR to make video tutorials or MOOC to show on wide screen using projector? I need your help to find best video recording equipment for shooting videos for online video dissemination and projector based.

Please help me to know that what is the difference between shooting videos using

Sony HXR NX1 Video Camera

Panasonic HC-W850K Digital HD Camcorder (Black)

Logitech C920 HD Pro Webcam (Black)

Nikon D5200 24.1MP Digital SLR Camera (Black)

Kodak PlayTouch Video Camera

How can i find recorded videos using each of this camera to compare output of each of camera and to know about limitation.

Can we shoot following videos using above camera?

10 Common Expressions in English

Matriz inversa, traspuesta y adjunta BACHILLERATO matematicas

Introduction to Limits (mathbff)

CA Ankita Mehta Patni - IPCC law lecture

Interview Question: Tell Me Something About Yourself?

Lecture1 - Introduction to Digital Circuits

Lecture - 1 Introduction to Data Structures and Algorithms

What is SharePoint? | lynda.com overview

HarvardX: CS50x3 Introduction to Computer Science

Lec 1 | MIT 6.00 Introduction to Computer Science and Programming, Fall 2008

Calligraphy_Devanagari_Letters

Thanks

The SONY HXR NX1 is a staple of capturing professional-grade content that can be produced on its own or incorporated into other productions.  Yes, there are higher-end cameras, but this is a solid choice for a pro-level classroom.  I have seen this camera in many classrooms.  With a good operator, and a decent sound-recording system, you will be in the top quintile of production.

The Panasonic HC-850K has a marketing gimmick of being able to produce two video views at once, such as a wide view and a zoomed-in view.  I have not used this camera, but its relatively low price and very modern technology make it a sensible choice for somebody looking to prototype a solution, learn the limits of the camera, and then buy what's really needed without losing too much investment.

The Logitech C920 HD Pro Webcam is suitable if the scope of your subject is basically just sitting in front of it.  If your talking head talks while seated in front of a computer, great.  But if your talking head talks and walks (such as in front of a lecture board), it won't suit.  Similarly, if your demonstration requires aiming the camera at anything more interesting than a talking head, you will likely find the ergonomics of the webcam to be not worth the hassle.

A Nikon D5200 24.1MP Digital SLR Camera (and any other SLR) is probably a terrible choice for your application.  These cameras really are optimized for still shooting.  Yes, they do shoot video.  Yes, the video sounds like it has a good spec.  But the reality is they come with all sorts of limitations (such as a maximum 29 minute recording time).  And you need to get much more expensive and much less capable lenses to fill a sensor size you don't need/can't use for video.  DSLR video is always at least one step below a similarly priced true video camera.  And the lenses cost extra, compared with many video cameras, which have them built-in.

The Kodak PlayTouch Video Camera (and similar) are popular for "flipped" classrooms.  I.e., classrooms where both teachers and students can contribute video content to the overall experience.  If your MOOC idea involves student-contributed content, then giving everybody a level playing field can be a good idea.  But if you want to "produce" something, the limitations of these cameras will drive your producer crazy.


How can we monitor audio of subject using headphone while recording video using iphone or samsung galaxy s4? How can we monitor audio of subject using headphone while recording video using iphone or samsung galaxy s4?

I want to monitor audio while recording video using smartphone

You could use an adapter to split the cell phone jack into XLR & 3.5mm.  Then just plug in your XLR mic and headphones.

Or you could record double-system audio.  Get a second, purpose-built audio recording device like a Zoom, and monitor that while you shoot with your cell phone.  It's super easy to match up the audio again in most editing software nowadays.


Setting different resolution for encoding and display when encoding in ffmpeg I'd like to encode a video, say, in 960 x 720 but have video players automatically play it in 1280 x 720.

I know how to do this in 2 steps, by first encoding in 960 x 720 (ffmpeg with -vf scale=960:720) and then modifying the display ratio with MKVToolNix/mkvmerge, but it would be a lot more convenient if I could do it all directly with a single ffmpeg command. Is it possible?

I don't think that matters, but my current code looks like this:

ffmpeg -i "input.mkv" -vf scale=960:720 -ac 2 -codec:a libopus -b:a 96k -vbr on -compression_level 10 -frame_duration 60 -application audio -codec:v libx265 -preset slow -x265-params crf=21 "output.mkv"

There's the setsar and setdar filters for this purpose

-vf scale=960:720,setdar=16/9

Since you know the output display ratio, it's convenient to use setdar here, although both filters only alter the SAR.


How does ffmpeg record -timecode in different file formats? As a followup to Add timecode information to file
ffmpeg documents the -timecode parameter:

-timecode hh:mm:ssSEPff
Specify Timecode for writing. SEP is ’:’ for non drop timecode and ’;’ (or ’.’) for drop.

Two questions come up:

Which container formats support the -timecode option? Are there any that don't?

The option to specify DF/NDF timecode implies the ability to store DF flag in the file alongside the framerate. Is that how it works, or does ffmpeg convert DF timecode to a corresponding NDF frame count and stores that?

FFmpeg only supports timecode in a limited set of formats. They are the MOV family (MOV/MP4/3GP..), MXF family, raw DV and Grass Valley GXF.
How the timecode is stored and flagged is specific to the format. MOV stores a DF flag, integer framerate and the timecode as a rate-adjusted integer frame index. MXF does essentially the same.


How to take multiple inputs with specific trim times to one output, single command ffmpeg I'm trying to make a single ffmpeg command that will take multiple inputs, seek specific times within them, then output to a single file.

For example, I have inputA.avi and inputB.avi and each is 1 hour long. I want a single output file that takes inputA.avi from 00:00:00 to 00:20:00 for the beginning and inputB.avi from 00:00:00 to 00:10:00 for the end. The end result should be a 30 minute video file that has the first 20 minutes of inputA then the first 10 minutes of inputB.

I currently can do the following three commands to get the job done:

ffmpeg -ss 00:00:00 -t 00:20:00 -i inputA.avi [rest of command] inputA-trim.avi
ffmpeg -ss 00:00:00 -t 00:10:00 -i inputB.avi [rest of command] inputB-trim.avi
ffmpeg -f concat -i inputList.txt [rest of command] final.mp4

where inputList.txt contains only

file inputA-trim.avi
file inputB-trim.avi

This works, but has unnecessary steps and creates intermediary files. I also have to create a batch file and txt file to get everything to run in succession. I'd like to be able to create a single ffmpeg command that can take multiple inputs with individual -ss and -t commands, then put them in a single output.

#1 Using concat filter i.e. without textfile

ffmpeg -ss 0 -t 20:00 -i inputA.avi -ss 0 -t 10:00 -i inputB.avi -filter_complex "[0:v][0:a][1:v][1:a]concat=n=2:v=1:a=1" out.mp4

--OR--

#2 Using concat demuxer i.e. with textfile

file inputA-trim.avi
inpoint 0
outpoint 20:00
file inputB-trim.avi
inpoint 0
outpoint 10:00

and then your final command

ffmpeg -f concat -i inputList.txt [rest of command] final.mp4

See https://trac.ffmpeg.org/wiki/Concatenate for details.


ffmpeg - warnings when i try to merge several audio files with an .mp4 file I'm trying to merge 8 audio (.wav) files with a video (.mp4) file. I have the following command:

ffmpeg -i video.mp4 -i audio1.wav -i audio2.wav -i audio3.wav -i audio4.wav -i audio5.wav -i audio6.wav -i audio7.wav -i audio8.wav -filter_complex "[1:a][2:a]amerge=inputs=2[a0]" -filter_complex "[3:a][4:a]amerge=inputs=2[a90]" -filter_complex "[5:a][6:a]amerge=inputs=2[a180]" -filter_complex "[7:a][8:a]amerge=inputs=2[a270]" -map 0:0 -map "[a0]" -map "[a90]" -map "[a180]" -map "[a270]" -c:v copy -c:a:0 libfdk_aac -vbr:0 5 -c:a:1 libfdk_aac -vbr:1 5 -c:a:2 libfdk_aac -vbr:2 5 -c:a:3 libfdk_aac -vbr:3 5 -movflags +faststart output.mp4

I can successfully run the command and the output is good, but i get the following warnings displayed (3 times each):

  [Parsed_amerge_0 @ 0x7fcaca708da0] No channel layout for input 1
  [Parsed_amerge_0 @ 0x7fcaca708da0] Input channel layouts overlap:
  output layout will be determined by the number of distinct input
  channels

And:

  [libfdk_aac @ 0x7fcacc87c800] Note, the VBR setting is unsupported and
  only works with some parameter combinations

What do they mean and how can i "get rid of them"?

Thanks!

The first warning means one of the WAV inputs has no channel layout defined i.e. channel 1 is Front Left, channel 2 is Front Center..etc. amerge decides the channel layout of the output stream based on the input, but since that designation is missing for one of the inputs, amerge will assign a channel layout which is default for the number of channels present in the output.

One thing you could try is rewrap all of the audio inputs i.e.

ffmpeg -i audio1.wav -c copy audio1-new.wav

The 2nd warning is displayed whenever VBR mode is invoked. Unless you get the error: Unable to set the VBR bitrate mode, you should be fine.


Encoding videos for MPEG-DASH I read this article on encoding for MPEG-DASH, which has helped me a little and then follow up article.

My end goal is to create a batch file that can read in a directory of MP4 files, and then output the configured video bitrates and MPD file needed for MPEG dash consumption by a client.

Previously I was testing with IIS Smooth Streaming, but it seems Microsoft is abandoning that and has been behind the progress of MPEG-DASH.  Their expression encoder 4 encodes videos very nice for Smooth Streaming, but they stopped selling the pro version that supports h.264, of which MPEG-DASH clients can play.  The free version does the VC-1 Advanced which is not supported by MPEG-DASH.

How to encode for MPEG-DASH?  I need it to be targeted to Windows as I have a public server that is plenty fast (Xeon) to encode and will be the delivery method to players as well.

I would get as far away from EE as possible. Using the x264 tool, and mp4box, you can convert and segment out the files which are ready to be streamed to any dash compatible players. Especially since you mentioned using batch scripts, this is a great solution I think.

This is a good guide: http://www.dash-player.com/blog/2014/11/mpeg-dash-content-generation-using-mp4box-and-x264/


How to link an audio mp3 file created on soundcloud to your Youtube account i want create a sound file on soundcloud and bring it to my youtube account.  How do i achieve this?

You may want to reupload the file to Youtube.

Convert the audio file (preferably your original, uncompressed file) to video with avconv -loop 1 -i cover.jpg -i original-track.wav -tune stillimage -r 1 -s 1280x720 -c:a flac -shortest -v error out-video.ogv (where cover.jpg is the still image you want to use for the video) or using a media converter like WinFF, and upload it to your youtube account.

You can place a link to the soundcloud page in your video description.


color correction in fcpx I am a long time photographer and have been doing more video work over the past few years. One constant source of angst when I need to correct the coloring of the video clips in FCPx. With photographs, I am used to very tight, quick and accurate control over the color and being able to match colors from a wide variety of sources and resulting output being able to look the same.

What I am really looking for is the ability to the same kind of color correction as available in Lightroom, Adobe Bridge, or even Aperture from inside FCPx. For example, I would love to target a particular color and shift it (oranges shifted more magenta, blues a little less green, etc.) And for the rest: recovery, brightness, black, etc. would be marvelous to have the same control.

What FCPx gives me are these very broad-brush, difficult to use, inaccurate tools. I must click and drag a 'light', 'medium', 'dark' and 'overall' slider around to a particular color range and hope it's OK. It's very crude and has none of the finesse and accuracy I can get with Lightroom. There is no ability to target specific colors and work with them individually.

Is there any plug in, tool or something that will enable me to have the same color mastery of video color correction that I now exercise over photography?

I second using Resolve, but there are a few "hidden" color tools you can access if you have Motion, or know someone who does.

Motion allows you to publish effects for use in FCPX and can be transferred from one machine to another.

See this post from creativecow for a downloadable zip which includes
Brightness,
Channel Mixer,
Color Balance,
Colorize,
Contrast,
Gamma, and
Hue/Saturation.

https://forums.creativecow.net/thread/344/14335


Converting AE animations to SVG with bodymovin I have been trying to export an After Effects animation of an aurora borealis (made with Flux) as an SVG for a website, but every time I export it looks a bit low res and takes up to much space to be applied to a web page. I tried to render it first as a PNG sequence and the render it with bodymovin but the problem still persists. Can anyone help pls?

If you have no alpha-channel and would like to run the animation on your website (as a background for example), I would highly recommend you encode it in h264 .mp4 format, with about 3-6 MBit/s and 2 passes VBR to lower the filesize further. Also take a look at your framerate, as you could get away with 20 frames for a slow animation. I wouldn't go above 30fps. I hope I could help you, if not, please comment on my post.


It is better to have more B-frames or more P-frame for video streaming? I'm trying to re-encode (H.264) some videos from my movie library in order to put them on a NAS and stream them to a smartTV through WiFi.

In order to do so, I'm using HandBrake on MacOS and – among my experiments – I noticed that it promotes more B-frames.

If I have understood correctly, those B-frames needs more CPU time and a larger buffer in memory in order to be properly elaborated and I'm not sure if a device such as a general smartTV (of few years) can take advantage of that (with 1080p sources, I used the 4.1 high profile).

Here is an example plotted from FFprobe on the same video source (1080p) before and after re-encoding (and a little filter to reduce noise) at the target bitrate (2-pass VBR):

What do you think or suggest ?

I ask because the resulting file size is very similar and I can't really notice a difference (apart from the noisier frames).

Thanks in advance!

"Q: Is it better to have more B-frames or more P-frame for video streaming?".

From: https://en.wikipedia.org/wiki/Video_compression_picture_types

The three major picture types used in the different video algorithms are I, P and B. They are different in the following characteristics:
I‑frames are the least compressible but don't require other video frames to decode.
P‑frames can use data from previous frames to decompress and are more compressible than I‑frames.
B‑frames can use both previous and forward frames for data reference to get the highest amount of data compression.

So for the sake of better compression and equal quality: B Frames are better.
In your case better means that your TV better be able to decode and properly play your videos after spending hours/days transcoding them.
So try one video using B-Frames, if there are glitches or you can't rewind properly use P-Frames. Be careful using a large number of B-Frames as that will use more Buffer.
The "CPU time" you refer to applies on your computer, for the TV's Hardware decoding ASIC it shouldn't be a problem. As for Memory the reverse is true, your computer will have enough memory for many B-Frames but your TV might only have enough memory for a few.
Blu-Ray uses 3 B-Frames so your TV ought to accept that many.


Forcing a comp to play back at a certain framerate in aftereffects I have an after effects comp that is "stop motion", i.e. all animations move at about 8 frames per second.

I want to use this comp as a 3D layer and animate camera moves over it smoothly at 30 fps, while the animation continues to play at 8 fps.

But every time I drop the 8 fps comp into the 30 fps comp it seems to be rendering at 30 fps, losing my stop motion effect completely.

I have a video example here:

Will I have to render out a .mov and reimport to get the desired effect?

Oh my goodness after ages I found it.

Comp settings > Advanced settings > Preserve Framerate When Nested or in render queue


Change the speed of clip based on sound track in Premiere pro We are currently creating a virtual choir project and we have the tracks from the people already. I am the video editor, we have a sound designer as well. He is making the rythm of the sound perfect right now and I am affraid it will therefore not correspond with the video.

Is there a way in Premiere Pro to change the video speed based upon the finished music track? The app can make Multi-camera sequence based on the audio, can it do something with the speed as well?

you can change the speed of the video making it slow to or fast in order to fit the timing of the music you are using.

How to change a speed duration of the clip?

Right click on the clip
Click Speed/Duration
Adjust the speed. The higher the percentage the faster the clip. The lower the percentage the slower.

Important Notes:

If you increase the speed the clip will be shortened
If you decrease the speed making it slow it will extend the duration of the clip


Editing Audio after cutting into clips - Premiere Pro / Audition I have a video with relatively quiet audio. I've already cut my video into clips in Premiere Pro CC, but I want to increase the audio for my entire video without having the volume change from clip to clip, as some have louder moments than others.

If I use "Normalize All Peaks" in Audio Gain, then my volume is different for every clip. If I use "Normalize Max Peaks", then my volume is ok but it's still too quiet.

Is there a way to export the original audio from my video into Audition, edit it there, and then re-import to Premiere without needing to re-cut it?

Using Adobe Premiere Pro CC and Adobe Audition CC.

Thanks in advance for any help.

If you're willing to use third party plug-ins: Alex Audio Butler (alexaudiobutler.com) is perfect for this: it'll create correct voice levels (even withing clips) automatically for you while you edit.

(disclaimer, I am the developer of this tool)


I'm using H264 encoding to encode video capture from a webcam. How do I turn of rc lookahead? I want minimize encoding latency per frame. Right now, there is a high increase in encoding latency on the 46th frame. I think lowering the lookahead value might help with this. How do I do this?
Capture Resolution is 1080p.

If you're using x264 directly, it's --rc-lookahead 20 for 20 frames. If it's via ffmpeg, it's -x264-params rc_lookahead=10.

Although I would suggest to use faster presets. Default is medum.


De-Interlace footage in Avid Media Composer using standard effects What's the best way to De-Interlace footage in Avid Media Composer using fairly standard effects?  Assume the project media format and footage are interlaced.

The Timewarp motion effect (adjusted with the Motion Effect Editor) can be used to deinterlace with the following settings:

Type: Both Fields
Source: Interlaced
Check Adaptive Deinterlace Source
Output: Progressive

Source: http://community.avid.com/forums/p/99392/572313.aspx