Learning pieces
Color Theory
Harmony groups
- Analagous
- Monochromatic
- Complementary
Color terms
- Hue: The pure color (angle with the vertical axis in the color cube).
- Saturation: How vivid the color it is (distance from the vertical axis). Fully saturated is the pure color itself. Zero saturated is gray.
- Lightness: How bright the color it is (distance from the horizontal axis). Fully bright is white. Zero bright is black.
- Temperature: Cool is in the blue range; warm is in the orange range.
The color level curve
It is a diagram to make color adjustments in images. It is a 2D graph in which the horizontal axis represent the color values of the input image and the vertical axis represent colors values of the output image.
The initial diagram is a diagonal line, meaning that the pixels colors in the input and output images are equal.
If I move a point of this curve up, that means that in the output image, all the pixels having the color corresponding to the x-coordinate will now be colorized as the color in the y-coordinate.
Instagram video quality
You should respect the ratio resolution 9:16. Check this (calculator)[https://calculateaspectratio.com/] if in doubt.
The reference for Instagram is: 1080x1920.
I usually record my videos as 4K 16:9 (3840x2160). If I opt to not resize the video I can crop the frames to have a 1215x2160 crop.
Shotcut configurations
Same quality as gopro
- Codec: libx264
- Qualité: 100%
- Plage de couleurs: Complet (JPEG) instead of Difussion limitéé (MPEG)
- Désentrelacement: BDWIF (meilleur)
- Interpolation: Lanczos (best) instead of Bilinéaire (bon).
Unnoticed loss of quality but 10x smaller
- Codec: h264_vaapi
IPhone not recognizing videos
Non-standard resolutions
It seems that the IPhone has a problem with non-standard resolutions. When I execute the stabilization algorithm, I further apply a crop operation in the video frames, resulting in non-standard resolutions.
I was able to execute the videos when the output was coming from the
video-edit cli application, but not with FlowBlade. With FlowBlade I need
to use a standard profile in order to correctly run in IPhone.
- For 4K videos:
- For 2.7K videos: 2.5K QHD 1440p
Danger
It is very important that I select Lossless MPEG4 as the coded.
This problem happens when I record the video in the vertical position. Therefore, to avoid this to happen, I have to add the videos in the FlowBlade application as they were recorded, that is, rotated. I should edit the video like this and then use the transpose function in the IPhone to put it in the correct orientation. This was the only way I found it in order to not loose quality due to resizing.
VidGear Stabilization Algorithm Side-Effects
Staircase effect
I noticed that effect in the following recordings:
- 2023-08-20 arc-de-triomphe
- 2023-02-20 eiffel-tour
I took one frame from the raw and stabilized video to do the comparison. I used the following ffmpeg command:
ffmpeg -i arc-de-triomphe-50s.mp4 -ss 00:00:21 -vframes 1 frame-from-stabilized.png
ffmpeg -i arc-de-triomphe-50s-stabilized.mp4 -ss 00:00:21 -vframes 1 frame-from-original.png
The arc-du-triomphe example is located at Videos/stabilize-example. Unfortunatelly, for the eiffel-tour example I don't have the raw video anymore, but the stair case effect in the sky is very nitid in the stabilized video.
Bright reduction
I also noticed that the video resulting from the stabilized algorithm is less bright than the original. I believe this is a trick used by the algorithm to hide the imperfections created during the stabilization process.
About the raw video
Analysing the videos we notice that the raw videos has a mix of very nitid frames with very blurry ones. In this sense, the stabilization algorithm creates a video in which the quality of each frame is better than the original, in average.