text:
One man band short animation - crediting and credits
I've been creating a short animation (1 min) to demonstrate and showcase a FUI (Futuristic User Interface). No one else was involved, other than third party advice and support. No unions involved.
A summary of potential sources to credit would include:

Myself (everything not mentioned below)
Music (third party, CC BY NC)
1 x 3D Model (third party, CC)
based on Novel xxx.

I was also thinking of adding a "Special thanks to" the following

Supervisor (support, feedback, etc)
Employer (support in studies)
Wife (long suffering in my academic pursuits)
Maxon (for Cinema 3D, free for students)
Adobe (for AE, discounted for students)

However, basically I'm it in terms of direct involvement in the project.
Based on comments here I could just do something like:

A film by
Me

Or alternatively I could go the path of

Created by
Me

Then I would add something like:

Music "tite", by composer, CC-SA
Based on the novel title, published, publisher?
Model xyz by modeller CC-SA
Graph Sample by source CC
Special thanks to
 Supervisor

 Wife

 Employer

Copyright Me 2017, BY-NC-SA

Does the above seem reasonable? I'm a bit iffy on how to credit the author of the novel that the short is based on. Also what do about recognising Maxon and Adobe, or maybe I don't even need to go that far? I have to mention CC for assets that include as well as obligations on my work to be CC as a result.
Btw, I read through What title(s) should a one-person film crew receive in the credit role?, but it does not apply, as in my situation, I am a one person for everything, not just film.


text:
How to extend the captions to an earlier point in Premiere Pro?
I started the captions too late in the video and now I need to extend it earlier, but I'm getting this message:

Is there a way to extend it to the left without having to re-position each individual caption? How?

There is a 3-step solution-

Insert an empty caption in the beginning
Move captions to 0 mark of your sequence
If you hold CMD/CTRL while dragging out the end of a caption, it ripple-shifts all the captions after it. So just grab the tail of first, empty caption and extend it to the mark where the text should begin

The default commands for any clip edit are:
Extend Next Edit to Playhead (Shift-W)
Extend Previous Edit to Playhead (Shift-Q)
So selecting those captions, you should be able to use those hotkeys and it will match the next edit or the previous one.
If this isn't what you're looking for, dig into the hotkeys.   Hotkeys are the lifeblood of navigating premiere effectively.

source: Stack Exchange

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

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

sort: votes


text:
How can a more dynamic look of graphics be achieved in Flash CS 5.5?
I have two graphics each moving on a separate guide (path) on the main timeline. Both graphics have their own timelines with multiple layers of other graphics which are animated further to perform simple up and down movements. The nested graphics move nicely on the same paths of the parent graphics while performing their own movements...
(Two airplanes making different turns while the parachuters are jumping out from the back)
At the moment, I'm only familiar and confident with animating graphics and not movie clips but, what I would like to achieve is to make them look more dynamic and textured by ...well... adding filters and such :D
Are graphics in Flash CS5.5 limited to only the primary color panel or can I apply some other tricks?
Can be more done before they are turned to symbols - while they are still just shapes?
Since I have a deadline for the animation I have to postpone learning everything about movie clips...
Any guidance would probably save me from lots of frustrating hours...
Best regards

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


text:
Audio/video sync puzzle
I filmed an event with two cameras and I need to sync the second camera footage with the audio of the first. This was a live event and I couldn't record sync aids like a clapper.
I name my video files after the timestamp from the camera, and I figured I could use this to do the sync. So for instance, I have one clip with name VID-2017-04-22-11-09-26.mov and another with name VID-2017-04-22-11-16-22.mov, so I can work out that the second clip ended 6 minutes and 56 seconds after the first. (The camera only knows when you finished filming and created the file, and the naming convention puts hh-mm-ss as the last three pairs of numbers.)
So I figured that I could just note the spot on the timeline where clip 1 ends and place clip 2 so that it ends at that time plus 6:56.
But when I did this, it was totally wrong, and I can't figure out why. The only variable I can think of it that the frame rate of this footage is 59.94 while the sequence is 23.976fps. But I'm not sure if that's relevant, and if so, I still can't figure out how to place these clips.
Meanwhile, I'm stuck syncing the very hard way, by watching the clip and manually trying to find the matching footage from camera 1, and this is painfully tedious.
Update
From comments posted, I realize I wasn't clear. Both clips are from the same camera, which is camera 2. I have synced the first of these clips from camera 2 manually with camera 1, and now I need to sync the remaining clips from camera 2 with each other.
Update
The workflow was this: I set camera 1 on a tripod to film the speaker continuously (but rather boringly). I walked around with camera 2 for more dynamic angles, sometimes pausing between shots. So camera 2 has about 25 different clips, which I want to line up with camera 1, and then cut between them to make a more interesting video.

Which editor are you using? Some, like Premiere Pro, have audio sync capabilities built in

I'm using Premiere CS5, but so far haven't been able to get this to work :-(

Also, I'm just curious about what's going on here.

Was Camera 1 rolling the entire time? What do you mean by sync clips from Camera 2 "with each other"?

@JohnBarton: See my second update. I wasn't so clear here either. What I mean by each other is really that I want to sync them with camera 1, but I don't have a good way to do that. I manually placed the first clip from camera 2 in the right place, and now I want to use the timestamps on the remaining camera 2 clips to offset them correctly relative to that first clip.

Could be a couple different things happening, then. I don't think it's the difference in frame rates (though it couldn't hurt throwing everything into a 60 fps sequence just to check). The most likely option is that the timestamps on the files isn't accurate. I've seen that issue before, where it doesn't always mark the timestamp as the correct time.

Your best bet would be to use something like Pluraleyes or Premiere (CC) to auto-sync the two clips together

Though I am usually able to get the audio on top of my video clips this is exactly why I try to run straight through a whole day unless a break is longer than 20 minutes. This way if there is a problem with the audio and I have to manually sync I have a whole day of content but only four video clips. It's still tedious but I only have to do it 4 times.

I record conferences all the time, so I end up getting 10's of hours of footage at a time. I have a few tricks that help with syncing:

Run all cams all the time. If a full day shoot gets only 3 files per cam, that's a lot less work to sync than 25 files from each cam.
Stop and start all cams within the same few seconds.
Learn to notice key waveforms. Things like applause, audience chatter, and music have unique shapes. You can also watch for "um" and long pauses.
There's sync tools available, like PluralEyes, that analyze the sound from each clip, then syncs them on the timeline.
There's time code methods that many pros use, but I've never had any success with them.

I depend on 1 through 3 almost exclusively. I've gotten very good at reading waveforms and I only stop cams for breaks longer than 10 minutes. All my clips are 30 seconds out of sync at most. It's pretty easy to sync a whole day in 15 minutes. I've used PluralEyes, but found it took too long to process the material, and it was off by about a half second most of the time, so I had to go though and move all the clips anyway. I only use it if I have tons of clips to sync (more than 15), instead of my typical four or five. PluralEyes will get you close, then you have to adjust manually.

If the time (clock) settings for the two cameras are different, the 'end-time' relationship is meaningless. If you still have access to the cameras, start them both and record a clap. Ingest the two short clips and note any difference in time at the clap. This difference, plus or minus, should be added to the 6:56 to get a true offset. You can trim by frames from there.
In any case it shouldn't be hard to find a matching audio event in the two clips. Any distinct sound can stand in for a clapper. Of course if your software has audio auto-alignment this becomes trivial.
You may still have drift issues since the two cameras might not be clocked exactly the same, but once you have the gross offset, little trims are easier.

I wasn't clear. Both clips are from the same camera, which is camera 2. I have synced the first of these clips from camera 2 manually with camera 1, and now I need to sync the remaining clips from camera 2 with each other.

From what I can see, your method requires two assumptions to be made (and I don't think either one can be safely made here).
The internal time of the cameras isn't synced.
The two cameras you shot with probably used internal clocks that you set the first time you turned them on. They're not connected to the internet or getting updated with any sort of precision. You could manually change the time of one of them to 5:00 PM and the other to 2:30 AM and they'd operate normally. What may be 11:16:22 AM on one camera is probably more like 11:15:54 AM on the other.
Seconds aren't precise enough for syncing audio/video. If you are syncing with just using hours/min/seconds, you're not syncing as precise as if you were using frames, which in your case would be 1/24 of a second (in your sequence). Even if the internal clocks on both cameras were perfectly synced, it's not like you're starting and stopping recording at exactly 1 second, 0 frames each time.

These are both good points, but I think not what's causing my problem. I made an update to my question to address the first point. The second point is also well taken; I fully expect that I'll need to shift a clip by up to 24 frames to make it sync perfectly, but I'm finding that it's many whole minutes off.

Well, I feel a little dumb because the answer is that this camera actually does timestamp the video file with the starting time, NOT the ending time. So I can accomplish what I need by computing the time difference from the filenames and offsetting the start of a clip from the start of the first clip. Duh.


text:
ffmpeg merge 60fps and 30 fps mp4 into one file
I have been trying to merge some mp4 files with different frame rates without success. When I merge the files, there always seems to be a problem with the output. Most of the time the audio is not in sync with the video. I tried to modify the frame rate of the videos (30 to 60 or 60 to 30), but it reduces the quality too much.
To merge the files i have been using all the solutions in this post
when trying this method :
:: Create File List
   echo file file1.mp4 >  mylist.txt
   echo file file2.mp4 >> mylist.txt
   echo file file3.mp4 >> mylist.txt
:: Concatenate Files
   ffmpeg -f concat -i mylist.txt -c copy output.mp4

The audio and video aren't synch anymore and the video sometimes freezes.
When trying the "mp4 to mpg then merge" :
 ffmpeg -i 1.mp4 -qscale 0 1.mpg
 ffmpeg -i 2.mp4 -qscale 0 2.mpg
 cat 1.mpg 2.mpg | ffmpeg -f mpeg -i - -qscale 0 -vcodec mpeg4 output.mp4

I loose the audio on the 60 FPS files, at this point i thought it was an audio problem so i tried to "unify" the audio codec of all mp4 files like this :
ffmpeg -i input.mp4 -acodec SOME_AUDIO_TYPE -vcodec copy out.mp4

the merge occur without any errors but the audio is still unsynch
So in my last attempt i tried to change the fps rate of my files like this :
ffmpeg -y -i source.mp4 -r FPS -s RESOLUTION -c:v libx264 -b:v 3M -strict -2 -movflags faststart destination.mp4

But the result reduces the quality too much.
There is the ffprobe of the two files :
libavutil      55. 57.100 / 55. 57.100
libavcodec     57. 88.100 / 57. 88.100
libavformat    57. 70.100 / 57. 70.100
libavdevice    57.  5.100 / 57.  5.100
libavfilter     6. 81.100 /  6. 81.100
libswscale      4.  5.100 /  4.  5.100
libswresample   2.  6.100 /  2.  6.100
libpostproc    54.  4.100 / 54.  4.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '1.mp4':
Metadata:
  major_brand     : isom
  minor_version   : 512
  compatible_brands: isomiso2avc1mp41
  encoder         : Lavf57.63.100
Duration: 00:00:32.00, start: 0.000000, bitrate: 3120 kb/s
  Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p(tv, bt709/bt709/iec61966-2-1), 1280x720, 2981 kb/s, 30 fps, 30 tbr, 90k tbn, 60 tbc (default)
  Metadata:
    handler_name    : VideoHandler
  Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 127 kb/s (default)
  Metadata:
    handler_name    : SoundHandler

libavutil      55. 57.100 / 55. 57.100
libavcodec     57. 88.100 / 57. 88.100
libavformat    57. 70.100 / 57. 70.100
libavdevice    57.  5.100 / 57.  5.100
libavfilter     6. 81.100 /  6. 81.100
libswscale      4.  5.100 /  4.  5.100
libswresample   2.  6.100 /  2.  6.100
libpostproc    54.  4.100 / 54.  4.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '2.mp4':
Metadata:
  major_brand     : isom
  minor_version   : 512
  compatible_brands: isomiso2avc1mp41
 encoder         : Lavf57.63.100
Duration: 00:00:23.01, start: 0.000000, bitrate: 2585 kb/s
  Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p, 1280x720, 2412 kb/s, 60 fps, 60 tbr, 15360 tbn, 120 tbc (default)
  Metadata:
    handler_name    : VideoHandler
    Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 159 kb/s (default)
  Metadata:
    handler_name    : SoundHandler

When merging the 2 files with the first method this is what i get :
[mp4 @ 0xbc5a340] Non-monotonous DTS in output stream 0:0; previous: 2872466, current: 843279; changing to 2872467. This may result in incorrect timestamps in the output file.
[mp4 @ 0xbc5a340] Non-monotonous DTS in output stream 0:0; previous: 2872467, current: 843535; changing to 2872468. This may result in incorrect timestamps in the output file.
[mp4 @ 0xbc5a340] Non-monotonous DTS in output stream 0:0; previous: 2872468, current: 843791; changing to 2872469. This may result in incorrect timestamps in the output file.
[mp4 @ 0xbc5a340] Non-monotonous DTS in output stream 0:0; previous: 2872469, current: 844047; changing to 2872470. This may result in incorrect timestamps in the output file.
frame= 2340 fps=0.0 q=-1.0 Lsize=   19428kB time=00:00:50.53 bitrate=3149.8kbits/s speed=58.7x
video:18420kB audio:949kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.304418%

Is there any solution to this problem?

How are you merging the files? How are you converting the frame rates? Please include the full ffmpeg command line and console output (if that is what you are using).

First of all, thank you for trying to help me resolve this problem. I have edited my question like you advised and included most of the steps i tried. Hope this help you figure out the potential mistakes i'm making.

Show the complete console output of: ffmpeg -i file1.mp4 -i file2.mp3 -i file3.mp4

The audio will have to re-encoded with the same sampling rate, if it's different across the files. The video doesn't need to be re-encoded but it needs to have the same timescale.
ffmpeg -i input.mp4 -c:a aac -ar 48000 -ac 2 -c:v copy -video_track_timescale 600 out.mp4

If the audio of a file is already 48 kHz stereo AAC-LC, then you can skip the audio encoding and just use -c:a copy
Run the concat with the processed files.

When applying those changes to a file (44kHz) the first seconds are corrupted. I still tried to merge the files and VLC crash when the corrupted video begins. there is the ffprobe of the file before and after the command: https://pastebin.com/TPYt7NVf . The start is negative, i do not really know what it means but it might be a clue

Your ffprobe here shows Main profile for videos. The pastebin probe shows High. Did you re-encode the videos?

Sorry, i have a lot of mp4 that i need to combine, i might have used a different ones because i assumed the only "variables" that matters were audio and frame rate. What there is about the "main" or "high" that causes a problem ? because i might have this one while merging other videos.

They may have different number of reference frames.

Does this really explain why the video gets corrupted when changing the audio codec and timescale ?

The video isn't corrupted by changing the timescale or by the audio codec. If the video streams being appended don't have the same bitstream parameters then usually the player will produce a corrupted output. The timescale just takes care of preserving the speed of the visuals.

This is how look the first seconds of the video "out.mp4" https://gyazo.com/f596143d2a638242d3285dbb09ad8d72

I think there is a problem with my files when i do something like this ffmpeg -i 1.mp4 -c:v copy output.mp4 (just to check the file) the output is corrupted (same output as the gyazo). I guess its an error in the files ? I just download them from twitch.tv which is i think i a reliable source

In the current folder, covert all mp4 files to TS. Then use the Windows 'copy' command to merge every TS. Then, once you have a single ts, transmux to mp4 without re-encoding.
for %i in (*.mp4) do ffmpeg -i "%i" -c copy -bsf:v h264_mp4toannexb "%~ni.ts"
copy /b *.ts all.ts
ffmpeg -i all.ts -c copy all.mp4


text:
Why is YouTube and VLC making a slight but noticeable mess of my video background?
Retitling and reediting, after a few tips from Mulvya.
I've got a div on my blog, with background color set to #83d3c9.
Yesterday I tried creating a video on AE where the background was set to exactly the same color. I was hoping that if I upload it to YouTube and then embed it inside that div, it might "blend in" kind of seamlessly.
Yet, when I finally reached this point, I couldn't help but notice a slight difference in color between the two elements, as if YouTube was applying some kind of tint to my video.
Following Mulvya's advise, I checked my file by means of mediainfo.
Color space:        YUV
Chroma subsampling: 4:2:0
Bit depth:          8 bits

And, then, further down the output:
Color primaries:          BT.709
Transfer characteristics: BT.709
Matrix coefficients:      BT.709

No Color range seems to be specified.
I went on to check how my video displays on VLC. Same faint tint there.
Oddly enough, this was not the case when I played it on Windows Media Player, where my video background was pretty much identical to the background color of that original div.
Further tips as to what might be going on would be greatly appreciated.

It isn't an issue of filter but of color characteristics and range. Videos, due to legacy of analogue signals, have various standards on how to store color. Either AE hasn't correctly annotated how it's stored colors or it's done so incorrectly. Will need to see mediainfo readout of your file. Use View->Text mode.

@Mulvya Ok, thanks for the tip. What should I be looking for in the mediainfo output? Among other things, I see Color space: YUV , Chroma subsampling: 4:2:0 and Bit depth: 8 bits... Is this what I'm after?

No. Although those are related, especially the first two, the ones you're looking for are Color range Color primaries Transfer characteristics and Matrix coefficients

@Mulvya All set to BT.709

What about range?

@Mulvya I see no such entry.

Not been set, then.

@Mulvya What does that mean in practice?

Youtube will guess the range. So, I don't think it's that. Does the video when played locally in a player look correct?

@Mulvya Hm... Now that you mention it, VLC seems to be messing up the color somewhat. The background-color of the video looks kinda greyed out. Just a little bit. Oddly enough, this is not the case in Windows Media Player, where the color looks pretty much identical to the div.

This is a problem that drove me crazy...
Long story short; certain browsers; whether it's Chrome, Explorer, Firefox, etc, actually handle color profiles, embedded within the video file (such as color workspace), differently.
I believe if I remember correctly, Chrome uses Monitor Color, sRGB. Regardless of your video file's color profile/lack there of.
I ran into this problem consistently, and after a lot of testing, researching, my final conclusion is that there is no way to guarantee final color values of outputs when played within Web Browsers.
This also works backwards; because if you were to download the video file/rip using a rip tool (it very well might and include the color profile); which when played in AE or PPro would be recognized and applied; thus it would not match what you see in Chrome.
Your best bet is to make sure your Color Space is synced through Bridge, your monitor is calibrated, preferably with a spyder, but unfortunately, regardless of your file or your system, certain players; specifically browers; ignore coloremetry data; or worse, may convert or change your settings; with no work around. End users of course; you have no clue what they see... too many variables.

This also applies to JPG images for the web. To match color you need to make sure you save using the Save for Web option; and check Monitor Color, sRGB workspace for the profile. If you don't the image will look different the second you bring it into Chrome.

One possible solution would be to upload the video, then sample it with a color picker and see what values it produces. Set your div to be the color you sampled. If you're on a Mac and have the developer tools installed, you can use Pixie to find the color of it on your local machine. You still run the risk that either the video or the background will render slightly differently on different machines or with different browsers. But that's true even in the best case.


text:
How to avoid noise when filming dark red
I saw a brilliant thread talking about why the colour red is noisy in post:
Why does the color red always appear pixelated on TV and videos on the PC?
I found this incredibly helpful in understanding why red appears that way. What I want to know is what can you do when filming dark red to avoid high levels of noise?
I was recently filming a museum installation and all the walls were dark red brick. This museum was inside so the natural light was very limited, so naturally I shot at my highest aperture (at the time was 3.5) and set my ISO as low as possible. My camera hasn't got the best sensor but I just wondered if there was an explanation or other tips as to what to do when you know you're in a location with lots of dark red.
Cheers
Lav

Can you say more about what kind of camera you are shooting with?  What codec?  Can you post a clip of what you consider to be unacceptable quality?

Filming any light that is strongly a single color is likely to produce a lot of noise because it's absorbing more light. (In your case, the red brick is absorbing green and blue, leaving only the red.)
Furthermore, if you're filming with a Bayered CMOS sensor like the ones found in most phone cameras and DSLRs, the sensor captures twice as much green light as it does red or blue light. The sensor sites are generally set up in a red-green-blue-green order.
So you're starting with less light reflected from the material and your collecting less light at the sensor. Any noise is going to be magnified because the resolution of the red channel is half that of the green channel, too. So how do you avoid it? You have a few options:

Supply more light to the scene
Use a camera with a sensor that has good low light response
Apply noise reduction in post
If you can change out the background (either by replacing it or filming from a different angle), that might be better.

Red is the (in most cases/sensors/cameras) the noisiest channel in the RGB encoding scheme.
The reason is simple, it's the least sensitive to light, so if you think of Red Green and Blue, in Additive terms (light, not paint/ink), and compare it to a 50% grey card... and if you were to make a 50% IRE Red, Green and Blue card, Green would appear the brightest, then blue, then red.
The fact that Red is (on average) about 1 stop less than green in terms of brightness - when measured next to G or B under identical light, inherently is more noisy, as it's 1 stop under exposed compared to green.
This is why shooting green screen is easier than blue - it's brighter and needs less light to hit the target IRE levels.
In closing, any channel will be noisy when underexposed, depending on the camera of course - even when shooting 444. You'll expose correctly, but RED will always be roughly 1 stop under.

I think you've swapped red and blue in your description. The eye is least sensitive to blue, and it is weighted the least in, for example, luminance calculations.

I stand corrected, for whatever reason I had them swapped. R comes in higher in terms of IRE than blue, and green stands out highest. I'm not sure if it's the eye... human that is, that's least sensitive to blue. Blue comes in with a lower luminance than red on scopes, I just checked, so I think under normal lighting, you're right, Blue is darkest... now put them under extreme Kelvin temperatures... I'm not certain... perhaps Red "becomes" less bright than blue in terms of image acquisition - because we typically light under 5700 K. Which is blue... making red Purple. ???

In a Museum using a Flash or 'constantly on external Light' is not permitted, so adding light is not an option in that case; more light would equal less noise.
Similarly adding a Filter would enhance the red's representation compared to blue and green, but that's a better option for a sunny day and not in limited light.
The final choice being White Balance; with a Cellphone tap on the Brick (on the Screen) and try to ensure the result is not causing too pronounced reds. Tap a few times to find the best result.
Both Cameras and Cellphones have settings for the type of light used; sometimes choosing Fluorescent or Daylight can push it far enough to get a better Shot.
For more Info:
http://www.graphics.com/article-old/photography-fundamentals-white-balance
http://www.red.com/learn/red-101/color-cast-tutorial


text:
Convert mp4 to avi while keeping frame rate and quality and being able to play in QuickTime?
I'm trying to convert an mp4 file to avi.
I've tried this basic ffmpeg script:
ffmpeg -i inputFile.mp4 outputFile.avi

It works, but:

the encoded avi file is very pixelated
does not work with Quicktime Player.

I've also tried using these settings (as described here: https://askubuntu.com/questions/83161/use-ffmpeg-to-transform-mp4-to-same-high-quality-avi-file)
ffmpeg -i filename.mp4 -vcodec copy -acodec copy filename.avi

But the problem there is that the MP4 codec is just copied into an AVI wrapper, and so the resulting video won't play in Quicktime Player nor Windows Media Player.
Can anyone suggest how to encode MP4 as AVI while still maintaining the quality and aspect ratio of the original while maintaining QuickTime compatibility?

Use ffmpeg -i inputFile.mp4 -q:v 6 outputFile.avi for better quality. Lower Q values are better but produce larger files. Are you playing in QT on Windows?

@Mulvya, thank you that seems to work! We're using QT on Macs - apparently AVI is not supported without installing Perian.

@d13 Why do you need AVI?

Have you tried the answer suggested here? https://unix.stackexchange.com/questions/40321/how-get-the-best-quality-when-converting-from-mp4-to-avi-with-ffmpeg

An AVI file is just a container and can contain any codec, so if you want to encode to QuickTime and Media player, you need to:
ffmpeg -i input.mp4 -c:v libx264 -c:a libmp3lame -b:a 384K output.avi

and above means:

Use the h264 Codec which both QT and WPlayer can display nowadays
use 384 Kbps MP3 encoding for audio

don't touch anything else like frame rate, resolution, ... and copy these as is.

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


text:
NVENC_HEVC Encoding making my files larger
I got a new Nvidia GPU to speed up my video encoding. I am working with x264 files to x265 and wanted to go faster. Using the library libx265 I am getting about 85fps when working on a file that is 720p, but if I use the nvenc_hevc I get around 600-700fps
My input file is 269M and when I use the nvenc_hevc it grows to 394M. Doing the exact same command with libx265 gives me a file size of only 68M. Obviously I would like to keep the low file size, but take advantage of the GPU to process it 15X faster.
Anyone else have any experience with this video codec? My understanding is that the difference between libx265 and nvenc_hvec is not the algorithm that is used to do the compression, but that it utilizes the GPU to accelerate processing. With that understanding the resulting file sizes would be identical regardless of which I used, just the nvenc_hvec would be faster. Is that a faulty assumption?
My command is: ffmpeg -i infile.avi -c:v nvenc_hevc -rc vbr_2pass -rc-lookahead 20 -gpu any out7.mp4
vs
ffmpeg -i infile.avi -c:v libx265 -rc vbr_2pass -rc-lookahead 20 -gpu any out7.mp4
When encoding I seem to only be using a small percentage of the GPU despite the huge performance increase:
nvidia-smi -l
+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID  Type  Process name                               Usage      |
|=============================================================================|
|    0     21954    C   ffmpeg                                          93MiB |
+-----------------------------------------------------------------------------+
Tue Nov  8 20:41:45 2016
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 367.48                 Driver Version: 367.48                    |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  GeForce GTX 960     Off  | 0000:42:00.0     Off |                  N/A |
|  1%   63C    P2    37W / 160W |     95MiB /  4037MiB |     11%      Default |
+-------------------------------+----------------------+----------------------+

Just because you can get a hamburger at different restaurants doesn't mean they'll taste and look the same.
Apples and oranges
x265 and NVENC are two different encoder implementations that can output the same format, HEVC. What settings, options, and algorithms they use is up to the authors as long as the output conforms to the specs.
Choose the right tool for the job
These encoders are generally for different use cases. x265 may be slower, but it provides more quality per bit. NVENC is more suitable when speed is more important than quality or encoding efficiency, or when the CPU is not available or not up to the task, such as on a mobile platform where using the CPU would possibly consume more battery power and take a long time.
Option mixup
Also, you're mixing up options: -rc vbr_2pass -rc-lookahead 20 -gpu any are private options for nvenc_hevc, but you attempted to apply them to libx265, so they were ignored. There are two types of options: general and private. The private options are specific to each individual encoder. You can list private options such as with ffmpeg -h encoder=libx265.
You'll have to experiment with the encoding presets (see -preset option for both encoders) and rate control methods to get an output that is acceptable for you.
Waste of time?
Lastly, unless your input H.264 files were encoded very inefficiently (or are lossless which is doubtful), or if storage space is of utmost importance, then re-encoding from H.264 to H.265/HEVC is a waste of time and effort.

Thank you so much for your help @LordNeckbeard. I am setting up a service (http://prostabilizer.com/) that will allow people to upload any kind of footage that they want stabilized. I am looking at bandwidth considerations, processing time optimizations, and so on. The faster I can process, and the smaller I can compress the better so I don't tie up the network more than needed. I can do a small server farm to distribute the processing locally, but eventually it all needs to get transmitted back to the users. When stabilizing a 4K video, it's at about 5fps, so optimization is key at each step.

It seems as you said that the two authors of the two codecs have different default presets with libx265 being much more aggressive in file size. I can get similar file sizes if I use switches such as -b:v 3M -minrate 2M -maxrate 5M -bufsize 25M to control the bitrates. I like the more automated approach of libx265 for batch processing, but maybe there is a way to figure that out for nvenc_hevc.

Just to add one specific point. The nVidia HEVC encoder doesn't support B-frames yet. So that crimps any hopes of achieviing the same quality at the same size, even if nvenc was as well-tuned as x265.


text:
Where can one find a current and definitive reference for video quality as it pertains to hosting HTML5 Videos?
At my job, I have encoded our sites videos for a couple years by using X-Media Re-encode:
MP4  1024x576 VBR 1500kbps
WebM 1024x576 CBR 1200kbps

I never had complaints about quality or buffering, I came about with those parameters by trial and error. Now my bosses want 3 qualities, which are:
MP4/WebM 1280x720
MP4/WebM 1920x1280
MP4/WebM 3840x2160

I warned them that the last one (4K) isn't mainstream as AFAIK. They think everyone has iPhone 6 I guess and that tomorrow every device will be Retina capable. I simply need a solid reference I can show my bosses the extra time in downloading, uploading, and encoding 4K will be. I assume the best way to do that is by the numbers (bitrates most importantly), without even considering the other factors such as limitation of broadband/DSL/Wifi, mobile, etc. Thanks in advance.
EDIT
To clarify my question a bit more, my company's server is PostGres RoR S3 to store media, and infrequent use of CloudFront due to our content may need revisions and CF's invalidation process is a deal breaker. So we don't use You-Tube or any third-party platforms as of yet. I'm the front end developer (you probably can tell by the way I described my company's server :P ). So we use HTML5 and a in-house video player we developed. No Flash, no HLS, etc.

What could do is show that Youtube transcodes to 4K at bitrates of ~20 mbps. You can use a tool like youtube-dl to check. Run youtube-dl -F URL So, your upload and download times will increase by a factor of 13-14, compared to the 1.5 mbps stream for 576p that you currently use.
Youtube is best placed in terms of expertise and motivation to minimize bandwidth use i.e. to determine the lowest bitrate that yields acceptable quality.

I'm sorry, I should be more specific and include that I don't use any third party service. My server is RoR PostGres and S3, no EC2 just S3 for storage and a few files using CloudFront but not many since my content needs to be revised once in a while. Although that workflow sound like a step in the right direction, I don't see us moving in the direction of You-Tube. I will update my question accordingly, thak you for yor prompt reply.

I wasn't suggesting for you to use YT. My point is that the closest to a solid reference you will get is to see what bitrate YT settles on for 4K.

Thank you, I have found the bitrates that YT uses, at https://support.google.com/youtube/answer/1722171?hl=en , can you please post that in your answer and I'll go ahead and accept it. :)

Those are not the bitrate YT uses - they are the bitrates required of the source videos that a user uploads. The youtube-dl tool shows the bitrate that YT serves to viewers - those are the pertinent numbers.


text:
Video plays at different speed from other apps
I've been working on a video production on my Linux PC and decided to kick it over to my newer Mac to take advantage of faster hardware.  I've already noted the in and out times for the various shots that I want to sequence into my finished video.  On the linux machine I was doing everything using ffmpeg on the command line.  On the Mac I'm trying out Lightworks.
The times I've noted for my project don't correspond to the proper frames in Lightworks.  When I play the video in mplayer or in Final Cut Pro on the Mac, the times do correspond properly.  In Lightworks, I'm playing the video in a display window for the clip, in order to make a subclip containing the section of video to use for my first cut. I've also noticed that the video displayed in Lightworks is a number of seconds shorter.
Why is this happening? Can't get audio and video speeds to play at original speeds seems like it may be related, but I'm unsure if the audio is playing at the proper speed because I haven't figured out how to make Lightworks make sound.  In any case, the only answer to that question just recommends changing the audio speed, which won't resolve my issue.
Do I need to recode my footage for use with Lightworks?  What are the proper settings?

First thing that comes to mind is that your Lightworks project framerate setting is not the same than your clip. Did you check that ?

I didn't make it that far because it sounded like it didn't apply to looking at clips in the viewer, only to clips that had been imported into the timeline (sorry if that's not what Lightworks calls it).

Also it looks like my project framerate is set to 24fps which is completely different from the video framerate which is close to 30fps


text:
Resynchronizing audio in a variable framerate video with missing timing data
I was recording a moderately long (20-30 minute) video when suddenly my camera died, resulting in a corrupt file. I was able to repair the file by following the steps in How to open and repair an m4v or mp4 video file? on SuperUser, but now the audio in the repaired file is horribly out of sync with the video. (Presumably because the data keeping the video in sync was lost.)
The video seems to play at a variable speed, with some portions appearing sped up, and other portions appearing to play at a normal speed. The audio does not appear to have this issue, playing at a seemingly normal rate for the duration of the video.
I tried stretching the video to align two audio events with the video near the start and end of the recording, but because the playback speed of the video appears to be variable, the audio in the middle portion of the recording is still very much out of sync.
Is there a good way to fix this? Maybe a program or something that I can use to go through the recording and manually identify multiple "sync points" between the audio and video to ensure they stay in sync throughout the recording? I'm guessing the video speed will need to change dynamically throughout the recording to compensate for this sync problem.
I suppose I could try doing this completely manually with a video editor, but I imagine doing it that way (at least in Adobe Premiere Elements, which is what I'm using) would require me to make a cut every time the video speed is adjusted, and that sounds like it'd be extremely time consuming. Is there a better way?

Try recovering with this tool. It's more up to date. Maybe the PTS might be salvaged.

No matter how you slice it, this sounds like it's going to be painful if not impossible, mostly because you say the rate changes dynamically. My best suggestion would be to use a software like Adobe Premiere Pro and its "rate stretch" tool to manually adjust individual segments. I'm not aware of any software that can do that sort of thing automatically, mostly because you don't have another (non-corrupted) audio track to compare against. If you did (like, if you had also been recording on an external recorder), you could use Adobe Audition to sync them.
Syncing two audio tracks of varying rates isn't too terribly hard, but syncing a video and audio track of different rates could prove very challenging.

I guess I should have mentioned this then: I actually do have an uncorrupted audio track to compare against. How would that be helpful though? Even if I sync the audio tracks, won't the video track still be out-of-sync? Editing to clarify...

The video track will, what I meant was that you could fix bad audio with a good audio track, but not bad video/good audio or good video/bad audio alone.

Ah, okay; that makes sense. The uncorrupted audio track is much higher quality than the audio from my camera anyway, so maybe I'll just sync the video to that. "Rate stretch" sounds like it might be helpful, but either way I get the feeling this is going to be a really painful process...


text:
How to change framerate with HandBrake without side effects
I'm making the 3rd instalment of my Sand Wars series (Sand Wars II) and I shot the majority of my footage at 60p (which I think means 60fps and progressive rather than interlaced).  I do not want to rotoscope lightsabers 60 frames per second and would much rather do 30. The footage is currently at 59.94, which I think is close enough to 60. I know I can lower the frame rate using HandBrake, but I don't want to have to lose more quality than I already will, as each clip is probably going to be run through Blender a few times.  What settings can I enable on HandBrake to take an entire folder of my footage (I don't want to have to do this hundreds of times for each video file) and output it into another folder with each video having a frame rate of 30 fps (or 29.97) with as little quality loss as possible?
Thanks,
Anson

I think you're probably pushing Handbrake further than it was designed to go. I'd suggest using ffmpeg - it's the right tool for the job. ffmpeg -i input.mp4 -preset ultrafast -crf 0 -r:v 30 -c:a copy output.mp4 will do a lossless h.264 encode of your footage at 25fps. You could also use another codec, h.264 can be dodgy for editing. For example prores: ffmpeg -i input.mp4 -c:v prores -profile:v 3 -c:a pcm_s16le -r:v 30 output.mov.

@stib Sounds cool! I am not sure how to do anything like that (I probably sounded like I know more than I do). If you could put some instructions in an answer, that would be great!

FFMPEG is probably a better tool for the job, if you are prepared to deal with the command line. Install ffmpeg from the packages found here. These are all ready-built and should have all the included libraries you need.
Once you've installed ffmpeg you will need to run it from the command line. Since there's different ways of doing that depending on your platform, the one safe bet is that if you drag the ffmpeg icon into the command line window you should get the path to the ffmpeg executable auto-filled for you. Next you type out a command like this:
<ffmpeg executable path> -r 60 -i <input path> -preset ultrafast -crf 0 -r 30 -c:a copy <output path.mp4>

for a lossless mp4 file or
<ffmpeg executable path> -r 60 -i <input path> c:v prores -profile:v 3 -r 30 -c:a copy <output path.mov>

for a prores encoded quicktime file (ffmpeg will encode prores on Windows and Linux, but whether ProRes is readable depends on what software you're editing on. Alternatives are DNxHD/DNxHR and Cineform, but that's beyond the scope of this answer).
In both instances the <ffmpeg executable path>, <input path> and <output path.mp4> means the path to the respective files, i.e. what you get when you drag them into the terminal. So to fill out the path to the input file, just drag it into the terminal. Since the output file doesn't exist, copy the input file and change the name and extension to whatever you want. On Windows it will be something like "c:\users\stib\folder\another folder\movie1.mp4" on a mac it will be /Users/stib/folder/another\ folder/movie1.mp4 Linux will be similar to mac (though the home folder will vary depending on your distro. But anyway…).
The first example use h.264 compression with the Constant Rate Factor -crf (inverse of quality) set to 0 or lossless. Since you're not looking for small file sizes the preset is set to ultrafast and the audio codec -c:a is set to copy (this is assuming you're using an mp4 as input) so that the audio will not be re-encoded.
The second uses prores compression with the -profile:v 3 setting it to ProRes HQ, a very solid codec for editing work on Macs or Windows machines using Adobe Premiere. You could change this to Avid DNxHD or other codecs of your choice, with ffmpeg there are literally hundreds to choose from.
In both examples I changed the video frame rate using -r 30, this will drop input frames to output a constant 30fps. Since your input is 59.94fps.
I also used -r 60 before the -i input flag to force ffmpeg to treat the input file as 60fps (although it doesn't add or remove frames, just changes the way they are interpreted). You could instead change your output to 29.97 fps by using -r 30000/1001 instead of -r 30 for the output, and not bother putting a -r rate flag before the input.
Applying this to a whole folder of files involves using the shell. How you do that depends on your OS.
on a Mac or Linux machine, here's one way
cd "/path/to/my folder of media/"
mkdir "30FPS_converted"
for i in *.mov; do
ffmpeg -i $i <ffmpeg options here> "./30FPS_converted/${i/mov/mp4};"
done

change directory to the folder using the cd command, e.g. cd "/Users/stib/my media/folder1" once again, you can drag the folder onto the terminal window.
Create a new directory for your output files with the mkdir command (or do it in finder / file browser of your choice.
create a loop with the contents of the folder using the for command, and use that to provide the input for the ffmpeg command. The command above creates a list of all the files with the suffix ".mov", creates a variable $i and every time the loop goes round it changes the value of $i to the next file in the list. The ${i/mov/mp4} is called brace substitution. It substitutes the letters "mov" in the value of $i with the letters "mp4"

On Windows here's how you'd do it with Powershell (you could do it it with batch scripting, but I refuse to learn batch scripting):
set-location "c:\Users\me\my media files\"
new-item "30FPS_converted" -type directory
get-childItem*.mov | foreach {
ffmpeg -i $_ <ffmpeg options here> (".\30FPS_converted" + $_.name.replace("mov", "mp4))}

change directory to the folder using the Set-Location command (though usually cd works too), e.g. Set-Location "C:\Users\stib\my media\folder1" once again, you can drag the folder onto the terminal window.
make a new directory using the new-item command (mkdir usually works too). In the example above the path for the output folder is . (a full stop), this means "the current directory"
list the files in the folder (get-childItem, though usually ls works too) that end with the suffix you're after, and pipe | the output to a foreach loop. Inside that loop the variable $_ takes on the value of the file objects in the list one by one. Then use the name.replace() function to create the appropriate output name, and append that to the directory name.

Obviously if your source files aren't .movs you change the .mov bits in the command to whatever you've got, and the same for the output file extension.

Awesome! Can this take a whole folder of video as input?

For 29.97, it's better to represent r as 30000/1001.

Oh, and you can skip the :v after -r. Unlike, -b , -r is taken to refer to video.


text:
Is there a way of removing grain from a cgi animation in after effects? (not the video kind.)
I have a blender animation fully rendered and imported into after effects and I want to try to remove as much noise and grain as much as possible.
However the type of noise that will be presented may be much different Than what you were expecting.
Here's an image of my blender animation:
As you can see, The type of grain/noise is much more of pixels being mixed together rather than colorful blocky chunks of pixels.
I have already tried to use the Removal Grain effect from the effects at the top, but that proved to be ineffective.

As an alternative to the denoising method suggested by @CoinRocket, you could try to export the scene from Blender with less noise. If you have enough computation capacity, this will be a superior solution since post-denoising will always introduce some amount of blurriness into your video.
The noise in your example image looks like fireflies, i.e. artifacts that stem from the nature of the Cycles Engine in Blender which is based on ray-tracing. There are several ways to reduce fireflies, however depending on your settings and available hardware render times will become extremely long. A while ago, I exported a 15-second sequence at 1000 samples and 24 frames per second rendered for three days straight on my laptop. So be warned.
The easiest way to reduce fireflies is to increase the number of samples the program runs during export. This will correlate directly with rendering times.
There are several other settings that can affect the occurance of fireflies, but some of them are well-hidden. Here's an explanation of some of them. There are also some tricks and workarounds that can help with that, here's an article detailing some of them. You might find some more on the Blender.SE or through other sources. A while ago, I assorted some Tutorials on several techniques in Blender, you can find it here. The titles are in German, but the links in the first tile on the left side might still be helpful to you.

You could try two approaches. One would be to use a plugin called denoiser by MagicBullet, which you have to buy. It does a terrific job but is painfully slow.
The second approach would be to export your sequence to a full resolution TIF sequence. Then use Photoshop's Image Processor, to batch the files-> running an action you create to apply the effect Despeckle.
You can try to export just a single frame, take it into Photoshop, and play with the Despeckle / Noise Reduction filters you have under the Noise drop down under effects, until you get the desired results. Then record the action of the final settings you feel look best.
Run Image Processor on your exported TIF sequence, saving back to TIF at same resolution, and have Image Processor run the action you recorded applying the filter settings you deemed best.
Judging by the image you provided, I would try Despeckle first, then add perhaps a very very small gaussian blur (very small like 0.1 or 0.2), then last, ADD noise to the image, use a very low variable, like 2 or 3, and use monochromatic noise (no color). Adding noise, a very small amount, will add a bit of texture to the image, much like film grain, and help mask out any little specks which might have been missed by the previous effects.
Again:  Despeckle -> Gaussian Blur 0.2ish -> Add Noise No Color Checked setting in the 2-4 range (setting may need to be higher if your image size is large, say 4k).
Record that, then process.
Take your TIF sequence processed through photoshop. Drag into PremierePro.  Set Still frame length to 1 Frame.
Create new sequence from 1 of the frames to match frame settings. Drage all your images to sequence. Render out as whatever you want. Then take back into AE if need be.


text:
Dark Video/Gama Shift from Davinci Resolve to YouTube
I've asked a version of this question before, and found a workaround solution that worked for a while. But now I'm at a point that I'd like to find a real answer to my problem.
So I edit and color my films in Davinci Resolve 12, and I publish to YouTube.
My workaround workflow has been as follows:

Shoot with my Canon SL1
Copy the footage to my hard drive and then into Davinci it goes (I don't transcode cause I don't have room)
Edit, color, do everything within Davinci
Export from Davinci using the default QuickTime MPEG4 Video setting
(Convert to x264 using Handbrake, send to client to watch via Google Drive; make changes as requested)
Final convert for YouTube using MPEG Streamclip
Upload to YouTube

If it helps here's the settings I use for MPEG Streamclip:

That workflow has worked well for 1080p videos up until this point.
The problem is, I'm trying to upload a 4K video now. When I try to convert this video, I get a screen that says compression error. (and nothing else) Since I never really liked this workflow from the start, I thought I'd take this opportunity to figure out the right way to do this.
The problem that made me use my workaround workflow in the first place:
Whenever I try to upload videos I've converted using Handbrake to YouTube, they look fine when I play them locally with VLC on my computer, but on YouTube they look pretty bad; the dark parts of the image become far too black.
I've researched this a lot and I think the problem has something to do with changing the RGB levels from full to limited. (0-255 to 16-235) From my understanding, this would change everything in the video below brightness value 16 to totally black. That makes sense as far as what's happening to me, so I think that's what's happening when I upload to YouTube.
So, my question is: How do I get exactly what I watch in Davinci to exist on YouTube when exporting in 4K?
Any help would be appreciated. Thank you!

Like I said earlier, the problem isn't changing the levels. It's that your Handbrake or Davinci output isn't flagged correctly, so Youtube thinks or assumes that you're sending limited, but it's full range. If you're ok with a command line tool (ffmpeg), then I''ll suggest a command for conversion.

@Mulvya Yeah ok I understood that, just didn't know it was changeable. I'd love to be able to do it within Handbrake, but if command line works well that would be awesome.

@Mulvya Sorry, I don't mean to bother you, but I've tried figuring out FFmpeg and how to change the color range, and I'm confused. Could you tell me how to fix this with it?

Sorry, I forgot about this Q. Can you post the Mediainfo readout for your Davinci export. Also, check if you can render to Animation codec in Resolve.

@Mulvya Sorry about the delay, I've been shooting a lot recently. Here's what Mediainfo says: http://i.imgur.com/VcfXz1M.png And animation codec apparently isn't supported in Resolve 12, which is the version I use.

I'll need the full info. In mediainfo, select View -> Text and copy-paste the whole thing.

@Mulvya Tried pasting and it's too long for the comment box. Here's the document: https://docs.google.com/document/d/1Xf99sSoXRk2A4fG8McjYIQ4r4vtQBax_lXAQ3Kp0QHc/edit?usp=sharing

Is that for the DaVinci export? Looks like Handbrake.

@Mulvya My apologies, this is the mediainfo on the Davinci export: https://docs.google.com/document/d/1y-o3Ih9SSVfWqJKKYFu2vJUYlf4u3Pl5JKt6H_VybH8/edit?usp=sharing

@Mulvya Thank you for your help so far, I still don't know where to begin.

Sorry, I forgot. I'll post an answer tomorrow.

What other codec options do you have in DaVinci for QT export? Your current settings are using the wrong color settings (BT.601).

@Mulvya Would this happen to be it? This is the closest thing I've found: http://i.imgur.com/F5dBbYD.png

You should set that to Data, but I'm interested in the choice of codecs available?

@Mulvya Ok cool, there's a ton of codecs. They're all variations of h.264, MPEG4 video, uncompressed, DNxHD/HR, and cineform. That's in the QuickTime video format.

@Mulvya Anything I can do?

So sorry, just keep forgetting about this. Added answer.

The MOV you exported from Resolve is tagged as Rec 601 (despite being UHD).
So, I transcoded your MOV using the command below, preserving all color characteristics and uploaded that to Youtube. Downloaded YT's transcoded video and compared it to the MOV, and in ffplay, VLC or Potplayer, they look the same.
ffmpeg -i Untitled.mov -crf 18
       -color_primaries 6 -color_trc 6 -colorspace 6 -color_range 1 resolve-upload.mp4

P.S. I also uploaded your MOV and downloaded its transcode from YT. Turns out that the transcode is flagged as Rec. 709, which is wrong, despite the MOV being tagged as 601. The rip of my transcode is tagged as 601.

Thank you for your response, the problem is that Davinci only exports H.264 up to 1080p, not 4K like I need. It can export 4K to the MPEG format.

"MPEG" is ambiguous. MPEG-2? MPEG-4 (ASP)?

Sorry, it's MPEG4, and I tried the command using that, and it went through and converted successfully, but it still looks the same on YouTube. :/

Can you upload a very short sample a DaVinci export, say around 5 seconds?

Here's the link to the MPEG4 export: https://drive.google.com/open?id=0Bz04rvqZbP1aUkVFUWNmSld3eVk

Resolve Studio's been able to output 4K h.264 timelines for a while.  I think the free version of R12 was restricted to 1080p, but I think even the free version does 4K now in R15.  The studio version definitely does.


text:
How to produce a zoom animation of a video source with ffmpeg?
I'd like to create a zoom-in animation over numerous frames of a video clip.  I've tried a couple of approaches without much luck.
ffmpeg -i test-10s.mp4 -vf "zoompan=z='zoom+0.001'" zoompan-10s.mp4

The resulting file zooms in over 10s on a still of the first frame of the video, then goes all the way out and zooms back in on another still, presumably the second frame.
ffmpeg -i test-10s.mp4 -filter_complex "crop=(640-(n*10)):(360-(n*10))" crop-100-fc.mp4

Someone else reported success using this method but for me it just outputs a video identical to the input video.  I also tried upping the multiplier to 100, and adding ,scale=640x360 to the end of the filter string, with identical results.
I've tried this on my Linux PC running what appears to be version 3.0.0 and also on my Android phone running version 3.0.2 under Termux. Same results.
How can I create this effect with ffmpeg?  I'd like to zoom in over 10 seconds.
UPDATE
I've managed to make it zoom in over video, albeit shakily. Some discoveries/hypotheses:

It seems to treat a video input file as simply a series of images, applying the filter to each one
Setting the filter parameter d=1 causes each frame/image to be mapped to a single new frame. The filter is then enacted once for each frame.
The in variable can be referenced to create an effect that changes more or less steadily across frames.

Example:
ffmpeg -i test-10s.mp4 -vf "zoompan=z='1+(1.4*in/300)':x='70*in/300':y='190*in/300':d=1" zoompan-001-in-d1.mp4

There are about 300 frames in the example input video.  The output file zooms from 1:1 to a zoom factor of 2.4 while panning to a top left corner position of (70, 190).

Which version of ffmpeg are you using? There was a bug with the zoompan filters as applied to video, which was fixed recently.

Hmm.. aptitude says Version: 7:3.0.0+git2~trusty; ffmpeg says ffmpeg version N-80026-g936751b.  3.0.0?  Looks like current version is 3.0.2.  Any idea how recently that bug was fixed?

Looks like that bug was something else. I'll ping the author of the filter.

Technically, you should use pzoom to animate a video zoom, but it doesn't work here.


text:
Does Adobe Premiere CC support export via network?
From this question I know that Premiere does not support distributed rendering, but from what I understand distributed rendering is spreading the render onto multiple computers to speed it up. My workflow is a little bit different.
I have a pretty powerful desktop computer which I'd like to use to edit video and then a less powerful notebook which I'd like to use to do the actual export, so that my primary PC does not slow down during that.
Is it possible to do the editing on one PC and then, without manually copying the project and the files, do the export on a different computer in Adobe Premiere CC?

Depending on how fast your editing computer and also the attached disks are, for me it sometimes works to pass the export to media encoder, since I can still continue to edit while the export is running. You can define this export folder on a shared volume of the laptop and define this folder as a watch folder in mediaencoder on the laptop. That way the "main" editing computer will just do the initial export and the laptop will start compressing additional formats.

The speed is my problem. I am an amateur who never needs to edit while exporting, but the process hogs down my PC enough to make it uncomfortable to use.

Then I don't understand the point. You never need to continue editing... So why don't you just let the desktop export the film and that's it? Or, if the laptop is even faster than the laptop: completely work with premiere on the laptop?

The process of exporting slows down my PC a lot. Not enough to make it completely unusable, but enough to make doing anything other than idle internet browsing impossible, so that's why I'd like to do the editing on my main PC and the exporting on the machine I don't use.

The question would be why you don't do the others things you have to do on the laptop. But maybe that would be too simple :)

Yea, that would be too simple :). I considered it, but I guess SSD in my main PC spoiled me too much! I try to avoid using the laptop simply because it's noticeable slower than my primary computer.

I believe this is not possible natively. However, Deadline, a third-party render management system, does support Premiere Pro projects via Adobe Media Encoder jobs. Even distributed rendering may be possible.

I'm head of support over here at Thinkbox. Sadly, AME is a one project per machine sort of beast. But PP and oddly enough Final Cut ought to work.

Ok so what I do in similar cases like yours is having the entire project on an external disk (project & video data). Make sure you have identical versions of premiere and all the used plug-ins installed in both premiere instances. Just finish the work and take the project to another computer. I make a local copy of the project file before opening it on the new computer. Open the project, reconnect the video data to the new file path (which might have changed due to the "other" PC mapping the external drive differently) and start export process on the other PC. Not as comfortable as network render but serves the purpose of freeing another PC from the workload. Especially if you have a fast external disk I/O like esata, usb3 or thunderbolt, this works nicely.
If you are positive you have reached a final editing version, you can use the project trimmer to slim the project to the actual video files you used before copying it to the external disk to minimize disk space usage. Having all the data on an external disk doubles as a backup though and therefore also has advantages.

As far as I know Premiere Pro CC does not support network rendering/distributed rendering, only After Effects does but on a network level such that you would need to copy the files, or host the files (exact same versions), and then your main computer would also be involved in the process.
Premiere isn't really designed for render farms nor this kind of workflow.

Premiere is designed for network renders through After Effects.  Here's the problem: File Location, right?
No longer!!
Share the drive, map the drive to the same letter on the other machine.  The drive should be external of your system drive, if not, get two nice heavy hammers you can hold with one hand and hit yourself in the head until you find some sense... ...I'm just kidding by the way.  We've all done that one.  If you placed the whole thing on your main drive, copy it to an external, leave the original on your main drive as a backup.  Share the external drive.  Now map it to the same location (Drive letter) on your other system.  Now run the job in media encoder.  Ta and Da, you can use your main system while another system handles the grunt work; you'll still have some performance dedicated to file movement.  If you render on your slower system, it'll take longer.
AE can split up the Rendering Decompression step.  Once you have a folder of images, you can compress it with the audio added in AME much faster.  By splitting up the work, you can capitalize on all your resources.  Renderfarm in AE, and then use AME on the stronger or less used machine.  It'll cut the workload for both machines, and allow you to use your network backbone to transfer data.  I also recommend you attach a second network card, then link them together over an ad-hoc intranet by setting the ip and subnet tight.  If you disconnect the second (render only) machine from your router, it will only have intranet, and your computer will pass files to it faster, without confusing nic's.  Now your main internet connection won't bog down either.  If you can add a fibre based connection in this manner, you're gold, but you can get away with USB3 interconnection devices, or even thunderbolt for faster transfers.

Without having source file sitting on the computer it's not possible, although if you have a drive shared and that path is mounted on your notebook like it was a drive, Media Encoder will recognize it and consider it as an actual drive thus making it possible. create watch folder with AME on your note book and once you have finish you save as you project in that folder and it'll start automatically (the sequence you want to export should be the only one at the first level of you project window in Premiere Pro, the other ones, if there are, should be stored in bin folder, otherwise they will prompt in AME). Enjoy ;)


text:
Landscape video to show on iPhone 5/6 portrait mode? How?
I have the following issue to solve: a video was captured in 1131x693px resolution (landscape mode). Now this video should be able to play on a mobile screen in portrait mode. I have researched the internet for solution that are able to change the ratio of videos - e.g. Handbrake, Video converter ultimate, Quicktime Pro. However, I cannot figure out how to change the video dimensions properly so that it can play fine on an iPhone 5/6 screen without either extending the picture too much or leaving black fields on top and bottom.
Do you have any ideas how a maximum area of the picture is shown in portrait mode with minimizing loss?
Thank you so much for your great help in advance!
p.s. I have researched as much as possible and found only this topic as similar: iPhone Background Video

Maybe you can identify a vertical section of the video in the shape you need, that you can crop out of the horizontal image, perhaps panning the 'window' to follow the central action. If you can't then you're stuck with severe letterboxing (blank portions top and bottom). There's no magic that can preserve aspect ratio while changing aspect ratio. Physics... dammit.

Hello Jim. Thank you for your contribution. Imagine the following video in the lands. mode - footballer kicks the ball in the very left part of the screen and on the right side the ball is in the net in the next second. Physics put serious bounds for showing the ball shot and goal in portrait mode without letterbox on top and bottom. That is why I think the following solution should be the right one (if applicable):

is it possible with Adobe Premiere or Aftter Effects or ... to mark an object (e.g. the ball) in one frame and to keep this object always in picture although the portrait mode?

@query_question  I don't know enough to answer that, but if you post a more targeted question, like "Can I crop while tracking an object in AE or Premiere?" and add the tags for Premiere and After Effects, you'll get attention from more people who follow those tags. Good luck.


text:
How can I efficiently convert MOV / MPEG-4 files for long term storage?
I have a Canon 6D DSLR that I am shooting video on. The camera is set to capture 1280x720 60fps IPB MOV / MPEG-4 files. The video files are in the range of 250MB per minute of recording. I have literally no skills in video editing and at this point just capture important family events to potentially edit in the future. I understand compression and the loss of quality from a general perspective.
Is there a format or method that would be a reasonable trade-off between file size and quality beyond leaving the files in their existing state? Should I just leave them alone? Knowing that my DSLR has specific needs to write the file to a memory card immediately, it is understandable that it isn't in the optimal format for long term storage; so that is why I imagine an answer may exist to this question.
Related:
Compress or convert .mov to lighter format

Although @stib's advice is sound, I disagree with "to get an appreciable size reduction you would have to throw away a lot of quality". Cameras have to compress on-the-fly, so they use constrained baseline mode, which is to say, they skip most of the tricks that H.264 codec uses to efficiently compress videos. If space isn't a pressing concern, keep them as-is. But if you'd like to recover some space, you can use ffmpeg, a command-line tool, to compress them while generally retaining quality.
ffmpeg -i input.mov -c:v libx264 -crf 12 -c:a copy -c:d copy -map 0 compressed.mov

CRF values in the range of 12 to 15 will give you a smaller video stream, generally by 25 to 40%. Perversely, if your scene has a lot of fine texture detail like a forest or pebbles or embroidered cloth..etc, then compressibility won't be high and using these CRF values will likely produce output which is larger than the source. Skip compression in these cases. For most scenes, filled with smooth gradients or nearly-flat shaded surfaces, compression should yield a smaller file with good quality.

Leave them as they are. If storage space is limited you could recompress them,  but given that the files coming from the DSLR are already compressed, to get an appreciable size reduction you would have to throw away a lot of quality. As you're planning to edit them in the future - meaning another transcoding - this would be a last resort.
Buy more hard drives. And remember that if you haven't saved the files in two physically separate locations, you haven't saved them.


text:
How to use FFmpeg Command for Reverse Video?
i am use to FFmpeg library in android for reverse video. I can dump images from video but how to reverse all images and make video. See this link that from i am use to library in my gradle.. Library is compile 'com.github.hiteshsondhi88.libffmpeg:FFmpegAndroid:0.2.5' i can use some of command and some are not. i use command as like below
-i /storage/emulated/0/ffvid/frameCount.mp4 -an -qscale 1 /storage/emulated/0/ffimg/revi%06d.jpg
above command use for dump images from video. i can't use command as liki $ffmpeg , $sox and $cat
i have referred many link but not success in see below some links...
https://unix.stackexchange.com/questions/214327/how-can-i-reverse-a-video-clip
http://jiaxihu.blogspot.in/2012/05/reverse-video-clip-with-ffmpeg.html
So please help me and give me solution. if other library available then suggest me. thanks advance

FFmpeg has a reverse video filter and reverse audio filter.
For video only:
ffmpeg -i /storage/emulated/0/ffvid/frameCount.mp4 -vf reverse reversed.mp4

For audio and video:
ffmpeg -i /storage/emulated/0/ffvid/frameCount.mp4 -vf reverse -af areverse reversed.mp4

This filter buffers the entire clip. For larger files, segment the file, reverse each segment and then concat the reversed segments. Remember that you have to concat the reversed segments in the reverse order!

@Gyan is correct. You can reverse a video using ffmegs built in reverse video filter:
ffmpeg -i video.mp4 -vf reverse video_reversed.mp4

However this is incredibly memory intensive. I wont go into details but it has to do with the video is saved in a compressed format. To reverse it, it needs basically load each frame of the video into memory.
Therefor for any reasonably sized video (> 10 minutes) you are going to have a tough time using the above command. Thus to complete @Gyan's answer. Here is how to segment the video, reverse each part, and then concatenate them again.
You can first segment a video into 300 second chunks using:
ffmpeg -i video.mp4 -map 0 -c copy -f segment -segment_time 300 -reset_timestamps 1 video_%03d.mp4

This will output a bunch of video files named video_000.mp4, video_001.mp4 etc. Next you need to reverse each of these segments. You can either do that manually using the original reverse command, or you can use the loop provided below.
NOTE: Make sure you remove the original video video.mp4 from the folder before using the loop below (otherwise you are back to the start).
Alternatively for long videos you might want to use a loop. This loop looks for all mp4 files in the current directory and reverses each of them:
To reverse only the video but not the audio:
for f in *.mp4; do
    ffmpeg -i $f -vf reverse ${f/.mp4/_reversed.mp4}
done

To reverse the video and audio:
for f in *.mp4; do
    ffmpeg -i $f -vf reverse -af areverse ${f/.mp4/_reversed.mp4}
done

You will now have a set of reversed segments med video_000_reversed.mp4, video_001_reversed.mp4 etc. The final command concatenates them into a single video. To do that we need a text file with all the files we want to concatenate. You can automatically create this text file using the following:
for f in ./SegmentedVideos/*_reversed.mp4;  do
    echo file \'$f\' > tmp.txt
    cat fileList.txt >> tmp.txt
    rm fileList.txt
    mv tmp.txt fileList.txt
done

At this point you should have a text file fileList.txt that contains the video files in reverse order like this:
file './video_XXX_reversed.mp4'
...
file './video_001_reversed.mp4'
file './video_000_reversed.mp4'

Then all we need to do is concatenate everything:
ffmpeg -f concat -safe 0 -i fileList.txt -c copy final_revered_video.mp4

I tried this, got as far as the last step, but at that point got the moov atom not found error.


text:
Recompressing many huge MOV files
My camcorder produces huge MOV files, and I use it for about 1 hour every day, which gives me more than 7 GB of data per day (around 128 MB per minute of recording). Here is the codec information given by ffmpeg -i for a sample 12 minute clip:
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'Video.MOV':
  Metadata:
    major_brand     : qt
    minor_version   : 0
    compatible_brands: qt
    creation_time   : 2013-02-05 20:12:47
    original_format : NVT-IM
    original_format-eng: NVT-IM
    comment         : CarDV-TURNKEY
    comment-eng     : CarDV-TURNKEY
  Duration: 00:12:37.00, start: 0.000000, bitrate: 15935 kb/s
    Stream #0:0(eng): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1920x1080, 14745 kb/s, 30 fps, 30 tbr, 30k tbn, 60k tbc (default)
    Metadata:
      creation_time   : 2016-02-05 20:12:47
      handler_name    : DataHandler
      encoder         : h264
    Stream #0:1(eng): Audio: pcm_s16le (sowt / 0x74776F73), 32000 Hz, 1 channels, s16, 512 kb/s (default)
    Metadata:
      creation_time   : 2015-02-05 20:12:47
      handler_name    : DataHandler
These are files I would like to keep, and in a decent quality. I will not have storage enough to keep them all in the long term, and my country is one of the most expensive places (if not the most) to purchase or import hardware components, so buying new hard drives is really out of the question.
I have tried recompressing this 12 minute clip using different settings on Handbrake (including of course, the Normal and High profiles), but the resulting file is generally the same size, if not bigger (around 1.5 GB).
I have searched on YouTube for HD videos, and have downloaded a few videos just to check their size, and I got 1080p 12 minute clips for around 200-300 MB in size. They may have reduced some quality, but in my eyes, 1080p videos on YouTube generally look pretty sharp. If possible, I would like similar results!
While searching here on Video Production, I have found this answer which says that "cameras have to compress on-the-fly, so they use constrained baseline mode (...) if you'd like to recover some space, you can use ffmpeg". I have tried running that particular command, but still I am getting huge files.
I am on Linux, but could maybe run Windows in a virtual machine too.

My earlier answer still holds in general. Additional advice I can provide is to try higher CRF values and use the veryslow preset.
ffmpeg -i input.mov -c:v libx264 -crf 23 -preset veryslow -c:a copy -c:d copy -map 0 compressed.mov

You can also mimic a constrained quality mode by setting
ffmpeg -i input.mov -c:v libx264 -crf 21 -preset veryslow -maxrate 5M -bufsize 10M -c:a copy -c:d copy -map 0 compressed.mov

It took exactly 8 hours to process the 12 minute sample. The result is 940 MB (that would result in 4,7 GB a day, processed in 40 hours). Thank you, but I'm really looking for something I could do every day, and that would result in files of a size that I could keep in the long term!

Change preset to medium. Files will be somewhat bigger but encode faster. You can try other presets listed here.

Why don't you transcode the footage to h265?
Quote from https://trac.ffmpeg.org/wiki/Encode/H.265:
"H.265 (also known as HEVC) offers 50-75% more compression efficiency compared to H.264 video, while retaining the same visual quality."
Alternatively you could consider transcoding to VP9 codec which seems to offer a better compromise between file size and compression times. Both codecs should deliver same quality image at lower file sizes than h264.

The quoted comparison is between reference encoders. x265 wasn't as mature as x264, last time I checked. See last two graphs in conclusion section here: looks like x265 delivers same quality at 80-110% bitrate as x264.

while i would understand objections in terms of CPU time necessary for compression (which seems to be the downside of x265 right now), there are plenty of "practical" tests of people saying you will achieve the same visual quality at 60-70% file size. so what exactly is it you are trying to say?

That the quote is not representative of real-life results. Your own reference to "practical" tests contradicts it.  And the OP was hoping for Youtube-like sizes i.e. 300 MB for 12 minutes and not too much encoding time.  If you read her comment below my answer, x264 crf encoding produced 940MB files and that was with veryslow preset and thus took 8 hours. For x265 to produce 300MB files that look 'pretty sharp' will take comparable amount of time, if not much more. She wanted a solution that could be used daily.


text:
What is the state-of-the-art on using computers to "clean-up" videos?
TWO PART QUESTION - We've all seen the movies/TV shows where the police/feds/spies use computer software to take a grainy photo and do a "clean-up" to see a better picture and more details. I assume the concept is executed by some sort of uber-power pixel-smoothing or anti-aliasing type of algorithms to fill in the blanks based on deductive processing.
PART 1: How real is this technology in the public/commercial software world? I'm not asking about any speculation on alleged secret gov software or such, I just want to know where we actually are with this concept today? How much is fully automated vs human-assisted.
PART 2: Assuming there actually is some reality with this technology for photographs the second part of this question is how (if at all) has this been applied to videos? Again the issue of fully automated vs human assisted is of interest here.
At the heart of this post is the ultimate question of how viable is today's software for being able to take an old VHS or DVD recording and process the frames to create a new HD-resolution remaster. Considering that doing this would mean cleaning up tens-of-thousands of frames for even a simple wedding video I am not expecting this technology to be fast of course.

NOTE: Per in-topic and meta discussions I went ahead and cross-posted this in two other suggested SE forums to acquire their viewpoints and expertise on this matter. So far (it is still a little "early in the day" so to speak) I have received some pretty interesting information in 2 of the 3.
When this is all done (when good answers have been selected) I would appreciate a way to merge these for the benefit of all three SE communities:

Computer Graphics: https://computergraphics.stackexchange.com/questions/1880
Signal Processing: https://dsp.stackexchange.com/questions/28168
Video Production: What is the state-of-the-art on using computers to "clean-up" videos?

NOTE: This question was asked in the Computer Graphics SE but per discussion there and in the Meta forum is being cross-posted here and in the Signal Processing SE forums

Here are the links to the cross-posts: http://computergraphics.stackexchange.com/questions/1880/what-is-the-state-of-the-art-on-using-computers-to-clean-up-images and http://dsp.stackexchange.com/questions/28168/what-is-the-state-of-the-art-on-using-computers-to-clean-up-videos?noredirect=1#comment52603_28168

My understanding is that Teranex processors are the "state of the art" in terms of bringing analog video into the digital/HD world.  There may be other devices that make similar claims or that have similar signal-processing abilities, but these processors are an example of what people in the real world use to practically clean up video for HD.  Of course it is nothing like the science fiction of enhancing photographs to be able to read 20M pixels of data from a 300K-pixel SD video source.

300K --> 20M is certainly sci-fi, but what about 4:1 improvement (taking each pixel and deductively adding a 1px perimeter of 8 new pixels dynamically based on the central and surrounding older ones) ?

If you have a reference for a more state-of-the-art transformation than is offered by the Teranex processors, then please post it!  Speculations about what might be possible are not state of the art--they are theoretical, which is a different question (and most likely not related to Video Production).

My apologies, I was not meaning to speculate at all, but rather was asking what the capacity of these Teranex processors might be. To my mind the simplest level of quality improvement is 4:1 (four pixels replacing one). Your answer [here at SE, as opposed to any text found at the website linked] does not include any specifics of what the up conversion capacity of these units is, but did include the the "science fiction" comment which is mostly what I was replying to.


text:
Can I use a Linux Render Farm with a MAC Workstation running Adobe Premiere?
I am building a render farm running linux and I would like to be able to send my adobe projects to it for rendering from a mac workstation. I see that it's doable with a windows workstation(Build linux render farm in order to render adobe premiere projects). Is there anyway to send it from a mac or am I going to have to get a whole new windows workstation(not in my budget!!)?

Possible duplicate of Build linux render farm in order to render adobe premiere projects

There are two steps, broadly speaking, to rendering a project in a NLE such as Premiere.
First step is for the NLE to generate the uncompressed final composite image for each output frame. This is undertaken/managed by the rendering engine of the NLE. And the second is to encode these generated images using a codec into the final video output file.
For the first step to be parallelized or offloaded to other processors, the app has to support such a facility, in the form of piecemeal division of rendering tasks to compatible renderers installed on the slave machines and final assembly of their results. I haven't seen anything to indicate that Premiere does so, even across a Windows/OSX farm.
For the 2nd step to be parallelized, the encoder has to support such a facility. The post you link to has an answer which suggests that frameserving from Premiere to ffmpeg can accomplish this. Except that the solution doesn't demonstrate any parallelization. It simply uses ffmpeg on the source machine to relay frames to a single ffmpeg instance running on a linux machine for encoding. The point of a render farm is to split and distribute the processing load across multiple machines for quicker output. That solution, in all likehihood, simply adds latency for no useful reason.


text:
How to stream video with delay
I need some kind of rtsp buffer to delay video. I have a live cam and i need to start recording video on some event. But I need 10-15 seconds before that event too. Idea is to read from camera, use the delay buffer and stream delayed video to another port. Then to start recording from delayed stream on event. So i tried VLC but it can delay displayed video :sout-display-delay=15000 as mentioned here, and NOT the streamed one :sout-delay-id=1 :sout-delay-delay:15000 (Using VLC 1.1.9 cause VLC 2.2.1 breaks if you only mention delay :( )
I used this command for example
vlc -vvv rtsp://10.0.0.5:554/live.sdp :sout=#duplicate{dst=rtp{sdp=rtsp://:8554/live.sdp},delay-id=0,delay-delay=15000} :sout-keep

Any other thoughts, applications, experiences?
Ivan

Maybe have a look at ffmpeg ? It has a offset option that might work. https://ffmpeg.org/ffmpeg.html#Main-options

@HaydenThring First I thought that it's a bingo but sadly, -itsoffset works only on inputs that are read from files. It has no effect on streams. Furthermore it does work if you set -re option but -re option is not ment to be used on streams and ffmpeg has problems following the stream with -re option i.e. frames are dropped and not correctly ordered :(

what if you captured to disk, and then start the stream from that file some delay after the capture begins ?

That would be OK, but I don't have indefinite disk size. And it is difficult to determine at which point to start reading. For several cameras if I would start recording at midnight till the end of the day it would be a mess... In memory delay would be an optimal solution...

You could try using OBS streaming software (which is free), and then check out this tutorial for how to add delay to your stream. Basically you go into the advanced settings of OBS and go to the delay settings. There you can choose to add a delay of your choosing.
You can also record from the software too. Hope that helps.

Welcome! Answers that don't include much more than to see a link are discouraged. If the link becomes unavailable, then the answer won't help people in the future. Could you summarize or paraphrase the contents of the tutorial here?


text:
How to find dimensions of a shape layer
I was curious how I can find the dimensions of a shape layer. The reason I need to know is because I need to scale a shape layer, but I want it to scale from the left, not from the middle. I know how to do that part, all I have to do is divide the length of the shape layer in half, and add that keyframe the position. However, the problem is that I can't actually find out how to get the dimensions. If someone could help, that would be great. Thank you :)
EDIT: I found this solution that supposedly works here. But I don't actually know how to insert that expression, If someone could either find a different solution or tell me how to insert that one, it would be so helpful.

See this: http://video.stackexchange.com/a/13096/1871

i dont really understand it? sorry i dont know much about 2d stuff in after effects, i mainly just use it for 3d

w = thisLayer.sourceRectAtTime(time, includeExtents = false).width; h = thisLayer.sourceRectAtTime(time, includeExtents = false).height;

Assuming an irregular shape, here's a manual method to do it.
Create a solid layer of any color, stacked above the shape layer. Change its opacity to around 30%, enough to see the shape layer underneath. Unlink the scale controllers (X and Y) so that they can be scaled independently. Move and rescale the solid so that it can serve as a bounding box for the shape layer. Your original solid size should have been the same as your comp size, so the dimensions of your shape layer are
Shape width = Composition width * 'X' scale % of solid layer
Shape height = Composition height * 'Y' scale % of solid layer

Of course, this is a crude method for one-time polling. There's probably an expression for dynamically updated values if the shape is animated.


text:
How much video & audio bitrate do I need for dvd videos?
I have videos with ~5000 kbps of avg. bitrate, if I burn the videos to a PAL DVD, which the resolution is low...(720x576), with 1000 avg. bitrate, will it be obvious to see the difference in quality? If so, can you suggest how much bitrate do I need in a dvd video? I prefer better quality and lower in size. Since the ratio of PAL DVD is 1.25, but the videos' ratio is 1.7 (originally 1080p), will the side being cropped or shrinked until it fit the width? (First time trying :D)
Let say if this is my TV's size, exactly 720x576 :

And also, how much audio bitrate do I need (normally I use AAC 128 kbps when watching on pc)? Some video's audio codec is 16-bit, 2 channel FLAC, is it recommended using FLAC instead of AAC in dvd?
Thanks.

More than 'what do I need', you should ask yourself 'how much am I allowed'.
This page mentions an average bitrate of 4-5 Mbits/s, this is audio + video + subtitles. It also depends on the length of your content (as you also have a maximum capacity of about 4.7 Gb for a single layer DVD-Video).
FLAC is not supported on DVD-Video, common audio codecs are MPEG1-L2 and ac3.

I would take a page from Amazon and say that you should limit bitrate to 6.5 Mbps for audio and video combined but make full use of that ceiling, as much as the 4.7 GB single-layer DVD size allows.
Audio
The allowed codecs are MP2, Dolby AC-3 and PCM. I'd recommend MP2 with a bitrate between 192 to 256 kbps for stereo audio.
Video
Codec is MPEG-2. A couple of things to note: the picture isn't composed of square pixels, so the displayed picture ratio isn't 1.25; it will be 1.33 (4:3).
And it is possible to present an uncropped widescreen (16:9) picture without letterboxing. How to do so, depends on the software you are using to convert and/or author the DVD. But basically, when converting you ought to set the display aspect ratio to 16:9.

Hmm...so you mean I can make dvd that can present 16:9 video uncropped? That would be great, but how is.it possible.to present it without letterboxing? I can't imagine it ...

Ah, sorry, I missed that your display is physically 4:3, then of course, there will be black bars. But on a widescreen display, a DVD can display uncropped with no bars.


text:
How to fix color "waves" in SpeedGrade?
I'm using SpeedGrade to do some coloring for my first time. It's coming along well but having a problem area in one part.
Here's the original:

Basic stuff I've done so far:

The issue is the "waves" on the home's roof becomes much worse after I balanced things a bit. Original closeup:

After grading closeup:

Is there a term for this effect that I could edit into the Question title, and do a search for?
Would the best way to fix it be using some sort of Mask with different color changes on the roof section, or is there some other method I should be looking at?

That's the moiré pattern, which is caused when the camera debayers an image with fine details: Wikipedia about the Bayer Filter (see the Artifacts section)
Many cameras have this problem, some more, some less. The best solution is to get to know the sensibility of your camera regarding moiré and - when you have objects like bricks, roofs, fine-detailed clothes - reframe your shot or zoom out.
In your case you had the moiré problem already in the source image, but amplified it with your color grading actions. The solution here is to have an additional node or effect before your general grading is done. This node/effect defines a mask with the roof and a subtle blur effect. Nobody will miss details in the roof, as long as the rest of the scene has detail.
(I'm talking about nodes, which is the way Resolve names them. SpeedGrade has some other terms that I don't know: Effects or Layers? But the concept is similar.)

It's called moiré.
The main enemy here is sharpness. Try to play with it... But now, when you know the term, I bet you will find solution shortly.

Good luck!


text:
Change props of subcomp based on parent comp
This question was asked almost a year ago, and no solutions were offered at that time. The original poster described exactly what was needed in a follow-up comment which can't be linked to directly, so I'm pasting here for reference:

Imagine a comp called 'Red," within which is nested a comp called 'Circle.' Red has a color picker set to red, and Circle takes its color from Red. Now I want to duplicate Red, call it Blue, and have Circle -- the same Circle precomp, not a copy of it -- become blue when it's nested within 'Blue.' Does that make sense? Apparently it's not possible. Blue would have to be duplicated in order to reference the new parent comp. There is no way for a comp to discover which comp it is nested in. –  Ze'ev Aug 20 '14 at 15:41

I've found myself needing to do exactly the same thing. Was hoping with a year having passed new SE users might know a way to do this, or AE CC 2015 has added a slick way to do this. My research efforts including combing through SE, reading several Q&As and articles on Adobe's site, Google searches of course, no dice across the board. Grateful for assistance.
Thanks,
- DK

The layers in a pre-comp don't have access to information about the comp(s) they're nested in AFAIK, but I can think of a workaround in this case: apply a fill effect to the nested layer and drive its colour value using the name of the parent comp, e.g.
if (thisComp.name == "Blue"){[0,0,255]}
else if (thisComp.name == "Red"){[255,0,0]}…

and so on. Or you could name the comps by their colour values— something like 255-123-001—and use js string methods to extract the colours from the comp name.


text:
How to convert a quicktime 3d model .mov format into multiple images
I've tried exporting 3d model lab into images sequence format after going through this below answer.
exporting .mov vr to multiple still frames,
but all I can see same image output with different names?
Is there any other procedure to convert the 3d model mov file to panorama jpeg image?


text:
what is preventing me from streaming video correctly with nginx?
i am running nginx v.1.9.3 here to serve my website and also video files for streaming. i am seeing that the mp4 files are always served with a code of 200 and that partial content requests are ignored. sometimes videos are able to be 'seeked' in browsers and sometimes not. i have used various file formats and the results vary from ok-ish to fatally bad.
i have now ensured that all MP4 files have had heir moov atom relocated to the beginning of the file and that has not resolved the problems, in general - since most of the video files were ok in that regard anyway.
i used curl -I to view the return data from nginx and saw that there was no mention of the server accepting byte-ranges.
i asked about this in several places already, but so far no-one has found the solution and i have been forwarded to this video part of stackexchange on the premise that the video format may be the cause. however, i do not think that is the case because there are numerous formats involved and they all exhibit problems.
the thread i already opened on serverfault is here: https://serverfault.com/questions/710304/why-is-partial-content-not-being-served-in-nginx-mp4
i am not longer using any mp4 specific directives in nginx.
anyone know what i am missing here?
this is an example of an MP4 file that i am having problems seeking with in browsers (except strangely i am finding that firefox in fedora 22 works most of the time!?) https://www.ureka.org/file/play/17924/censored%20on%20google%202.mp4

the cause of the problem was the lack of range handling in the PHP page i am using for streaming the files. i forgot that that is a requirement of the process! i have added the videostream class (http://codesamplez.com/programming/php-html5-video-streaming-tutorial) to the page and so far the streaming is working well in my tests :)

tunist:
You've gotten pretty close to getting this going - nice that you did the curl to determine that the byte-range was not being honored.  I had done exactly that in the past when setting this up.
If you check here: http://nginx.org/en/docs/http/ngx_http_mp4_module.html  You may find what you're looking for - it is unclear whether you're using this module or not already, so perhaps this is what you need.
--dan

i did originally use the mp4 module, but i see that is only relevant for flash players and i am doing what i can to avoid flash. i am using video.js as a front end player, which does have a flash fallback mode, but the problems are occurring when flash is not being used.. so one of the nginx devs already pointed me to the reality that the mp4 module is not going to help here.
i did notice in the mp4 mod notes that the ?start=0 is needed - which i have never added.. so i'll bare that in mind for flash compatibility if i ever get that far!

oh, so it seems likely that i need to add extra logic into the PHP page that handles the video stream to support range requests - as detailed here: http://codesamplez.com/programming/php-html5-video-streaming-tutorial