Working with GoPro Timelapses

Brian-Obvilion wrote on 10/21/2024, 9:30 AM

Hello, 

Hoping to get some help and advice here as I have spent many days trying to work through this.

I have a pretty simple "night lapse" taken on a gopro hero 10. Given how long the sequences are, gopro doesn't stitch them together. All of the images are in a jpeg format with a resolution of 5568X4176, yuvj422p pixelformat and bt470bg colorspace. 

I'm using video pro x16 version 22.0.1.244 on windows 11 and use the neat video denoiser plug in. 

What I'm trying to do is put the individual frames together in a high quality, lossless (or nearly so) video file. The KEY issue for video pro x16 seems to be preserving the yuv422p chroma subsampling. 

Basically, the question I have is, what output format or options can I use with ffmpeg to encode a video format that I can import into video pro x16? ffmpeg does it's job perfectly. I can view/play whatever output I throw at it. I can run it through handbrake etc... rendering new content without issues. However the problems occur when I try to import it into video pro x16. Also open to other tools other than ffmpeg that will render high quality videos with 422p.

One of 2 things happen when I bring in any video format in yuv422p. If I encode yuv420p, video pro is fine.... no problem. 422 or 444, it either prompts me to buy another codec or simply imports it with all black frames... with sometimes a few all green sprinkled in early in the clip.... and every once in awhile I get a few frames of the actual content but all the other frames are black (empty).

I also tried the trick of setting the program settings to frame=1 and dumping all the jpgs into video pro.... that doesn't create good results for me with the neat video noise processing. 


In a nutshell, I need a high quality video format I can create from all these jpg images encoded in yuv442p preserving the original image data as much as possible - that video pro x16 can actually import correctly. 

Comments

Gid wrote on 10/21/2024, 1:08 PM

I have a pretty simple "night lapse" taken on a gopro hero 10. Given how long the sequences are, gopro doesn't stitch them together. All of the images are in a jpeg format with a resolution of 5568X4176, yuvj422p pixelformat and bt470bg colorspace. 

@Brian-Obvilion Hi,

Check your settings, this is a GoPro 10

https://community.gopro.com/s/article/How-to-Use-Night-Photo-Night-Lapse?language=en_US

This is my GoPro 11

Magix Movie Studio 2025
Magix VPX14
Vegas Pro 21

Boris Continuum & Sapphire, 
Silhouette Standalone + Plugin, 
Mocha Pro Standalone + Plugin, 
Boris Optics,
NewBlue TotalFX
Desktop PC Microsoft Windows 10 Pro - 64-Bit
ASUS PRO WS WRX80E-SAGE SE WIFI AMD Motherboard
AMD Ryzen Threadripper PRO 3975WX 3.5GHz 32 Core
Corsair iCUE H150i RGB PRO XT 360mm All-in-One Liquid CPU Cooler
RAM 256GB ( 8x Micron 32GB (1x 32GB) 2666MHz DDR4 RAM )
2x Western Digital Black SN850 2TB M.2-2280 SSD, 7000MB/s Read, 5100MB/s Write
(programs on one, project files on the other)
Graphics MSI GeForce RTX 3090 SUPRIM X 24GB OC GPU
ASUS ROG Thor 1200W Semi-Modular 80+ Platinum PSU 
Fractal Design Define 7 XL Dark TG Case with 3 Fans
Dell SE3223Q 31.5 Inch 4K UHD (3840x2160) Monitor, 60Hz, & an Acer 24" monitor.

At the moment my filming is done with a Samsung Galaxy S23 Ultra 5G & a GoPro11

I've been a Joiner/Carpenter for 40yrs, apprentice trained time served, I don't have an apprentice of my own so to share my knowledge I put videos on YouTube.

YouTube videos - https://www.youtube.com/c/Gidjoiner

Lots of work photos on Facebook - https://www.facebook.com/gid.joiner/photos_albums

 

Gid wrote on 10/21/2024, 1:50 PM

@Brian-Obvilion 

Here are two YUV422 files imported into VPX14

MP4 422 created with Handbrake,

MOV 422 created with Vegas.

Both of these work perfectly well.

I think you need to share your Handbrake settings as there's too many options for me to try all of them.

@browj2 will be able to help with importing the individual jpgs into VPX.

Magix Movie Studio 2025
Magix VPX14
Vegas Pro 21

Boris Continuum & Sapphire, 
Silhouette Standalone + Plugin, 
Mocha Pro Standalone + Plugin, 
Boris Optics,
NewBlue TotalFX
Desktop PC Microsoft Windows 10 Pro - 64-Bit
ASUS PRO WS WRX80E-SAGE SE WIFI AMD Motherboard
AMD Ryzen Threadripper PRO 3975WX 3.5GHz 32 Core
Corsair iCUE H150i RGB PRO XT 360mm All-in-One Liquid CPU Cooler
RAM 256GB ( 8x Micron 32GB (1x 32GB) 2666MHz DDR4 RAM )
2x Western Digital Black SN850 2TB M.2-2280 SSD, 7000MB/s Read, 5100MB/s Write
(programs on one, project files on the other)
Graphics MSI GeForce RTX 3090 SUPRIM X 24GB OC GPU
ASUS ROG Thor 1200W Semi-Modular 80+ Platinum PSU 
Fractal Design Define 7 XL Dark TG Case with 3 Fans
Dell SE3223Q 31.5 Inch 4K UHD (3840x2160) Monitor, 60Hz, & an Acer 24" monitor.

At the moment my filming is done with a Samsung Galaxy S23 Ultra 5G & a GoPro11

I've been a Joiner/Carpenter for 40yrs, apprentice trained time served, I don't have an apprentice of my own so to share my knowledge I put videos on YouTube.

YouTube videos - https://www.youtube.com/c/Gidjoiner

Lots of work photos on Facebook - https://www.facebook.com/gid.joiner/photos_albums

 

johnebaker wrote on 10/21/2024, 3:02 PM

@Brian-Obvilion

Hi

. . . . In a nutshell, I need a high quality video format I can create from all these jpg images encoded in yuv442p preserving the original image data as much as possible - that video pro x16 can actually import correctly.  . . . .

After importing in to VPX 16, what is the intended final usage of the video exported ?

John EB
Forum Moderator

VPX 16, Movie Studio 2025, and earlier versions 2015 and 2016, Music Maker Premium 2024.

PC - running Windows 11 23H2 Professional on Intel i7-8700K 3.2 GHz, 16GB RAM, RTX 2060 6GB 192-bit GDDR6, 1 x 1Tb Sabrent NVME SSD (OS and programs), 2 x 4TB (Data) internal HDD + 1TB internal SSD (Work disc), + 6 ext backup HDDs.

Laptop - Lenovo Legion 5i Phantom - running Windows 11 23H2 on Intel Core i7-10750H, 16GB DDR4-SDRAM, 512GB SSD, 43.9 cm screen Full HD 1920 x 1080, Intel UHD 630 iGPU and NVIDIA GeForce RTX 2060 (6GB GDDR6)

Sony FDR-AX53e Video camera, DJI Osmo Action 3 and Sony HDR-AS30V Sports cams.

Brian-Obvilion wrote on 10/21/2024, 5:18 PM

@Brian-Obvilion

Hi

. . . . In a nutshell, I need a high quality video format I can create from all these jpg images encoded in yuv442p preserving the original image data as much as possible - that video pro x16 can actually import correctly.  . . . .

After importing in to VPX 16, what is the intended final usage of the video exported ?

John EB
Forum Moderator

After cleaning up through the neat video plug in, I want to have all the individual timelapse videos as one "program" that plays them all.

I have some new information to add here and some disappointment which I hope is just me doing something wrong.

After much trial and error I did find an a set of command options that would render a video that VPX would "accept".

For anyone looking for help, here it is:

 

ffmpeg -r 8 -f concat -safe 0 -i filelist.txt -c:v libx265 -preset medium -pix_fmt yuv422p10le -r 8 -b:v 80M -aspect 4:3 -x265-params "colorprim=bt709:transfer=bt709:colormatrix=bt709:range=full:qp=6" output_HEVC_GOPRO_1.mp4

That filelist.txt file contains a list of all the JPGs in the directory. If you use linux, you can use the pattern/glob option and not bother with it. It outputs 8fps (-r 8) video.

 

 

However, I did encounter a couple of problems, the 1st of which I believe is a bug. The video is in 4:3 @ 8 fps. The "movie" parameters are set to custom. With the matching resolution and fps.

When I attempt to import it into VPX, it warns me, that the movie and file being imported don't match.... it's said the source is in 16:9. Clearly it's not. Error message shown below.

If I chose to adjust or not to adjust, VPX smashes down the video vertically making it look horrible.

Mediainfo reported the aspect ratio at 4:3

I added the -aspect 4:3 to command and that seemed to stop VPX from complaining and smashing the video file.

Victory right? Wrong.

I don't know what VPX is doing on import but there is a PROFOUND loss of detail/resolution and color depth. Both in the program preview (I don't have reduce resolution etc turn on) and in the rendered/exported file... no matter what format I chose. The color/detail is permanently lost when pulled in VPX it seems.

The difference between playing the video file in say VLC and what VPX previews/renders is night and day.


I suspect VPX is importing in my beautiful video file, running through it's lossy, yuv 4:2:0 codec then that is then being re-rendered out. I don't even have the option of 4:2:2 for HVEC/MPEG4 for export format.

 

I also tried changing the program device options import/processing/export to use CPU instead of my GPU. It made no difference.

 

Below is a screen shot of the error and the mediainfo of the input/output.

 

Any suggestions for improving import/export quality would be appreciated.

 

######################

 

###########################################

### VPX Garbage.
General
Complete name                            : C:\2024-10-21 - 02.MP4
Format                                   : MPEG-4
Format profile                           : Base Media
Codec ID                                 : iso4 (iso4/hvc1)
File size                                : 9.70 MiB
Duration                                 : 5 s 0 ms
Overall bit rate                         : 16.3 Mb/s
Frame rate                               : 25.000 FPS
Encoded date                             : 2024-10-21 21:44:18 UTC
Tagged date                              : 2024-10-21 21:44:18 UTC

Video
ID                                       : 1
Format                                   : HEVC
Format/Info                              : High Efficiency Video Coding
Format profile                           : Main 10@L6@High
Codec ID                                 : hvc1
Codec ID/Info                            : High Efficiency Video Coding
Duration                                 : 5 s 0 ms
Bit rate                                 : 16.1 Mb/s
Width                                    : 5 568 pixels
Height                                   : 4 176 pixels
Display aspect ratio                     : 4:3
Frame rate mode                          : Constant
Frame rate                               : 25.000 FPS
Color space                              : YUV
Chroma subsampling                       : 4:2:0
Bit depth                                : 10 bits
Bits/(Pixel*Frame)                       : 0.028
Stream size                              : 9.59 MiB (99%)
Language                                 : English
Encoded date                             : 2024-10-21 21:44:18 UTC
Tagged date                              : 2024-10-21 21:44:18 UTC
Codec configuration box                  : hvcC

Audio
ID                                       : 2
Format                                   : AAC LC
Format/Info                              : Advanced Audio Codec Low Complexity
Codec ID                                 : mp4a-40-2
Duration                                 : 4 s 949 ms
Bit rate mode                            : Constant
Bit rate                                 : 192 kb/s
Channel(s)                               : 2 channels
Channel layout                           : L R
Sampling rate                            : 48.0 kHz
Frame rate                               : 46.875 FPS (1024 SPF)
Compression mode                         : Lossy
Stream size                              : 116 KiB (1%)
Language                                 : English
Encoded date                             : 2024-10-21 21:44:18 UTC
Tagged date                              : 2024-10-21 21:44:18 UTC


####Beautiful. 

General
Complete name                            : C:\output_BE_HEVC_GOPRO_FULL.mp4
Format                                   : MPEG-4
Format profile                           : Base Media
Codec ID                                 : isom (isom/iso2/mp41)
File size                                : 180 MiB
Duration                                 : 9 s 250 ms
Overall bit rate                         : 163 Mb/s
Frame rate                               : 8.000 FPS
Writing application                      : Lavf61.5.101

Video
ID                                       : 1
Format                                   : HEVC
Format/Info                              : High Efficiency Video Coding
Format profile                           : Format Range@L6@Main
Codec ID                                 : hev1
Codec ID/Info                            : High Efficiency Video Coding
Duration                                 : 9 s 250 ms
Bit rate                                 : 163 Mb/s
Width                                    : 5 568 pixels
Height                                   : 4 176 pixels
Display aspect ratio                     : 4:3
Frame rate mode                          : Constant
Frame rate                               : 8.000 FPS
Color space                              : YUV
Chroma subsampling                       : 4:2:2
Bit depth                                : 10 bits
Scan type                                : Progressive
Bits/(Pixel*Frame)                       : 0.877
Stream size                              : 180 MiB (100%)
Writing library                          : x265 3.6+36-2cdd69a6d:[Windows][GCC 14.1.0][64 bit] 10bit
Encoding settings                        : cpuid=1111039 / frame-threads=4 / numa-pools=24 / wpp / no-pmode / no-pme / no-psnr / no-ssim / log-level=2 / input-csp=2 / input-res=5568x4176 / interlace=0 / total-frames=0 / level-idc=0 / high-tier=1 / uhd-bd=0 / ref=3 / no-allow-non-conformance / no-repeat-headers / annexb / no-aud / no-eob / no-eos / no-hrd / info / hash=0 / temporal-layers=0 / open-gop / min-keyint=8 / keyint=250 / gop-lookahead=0 / bframes=4 / b-adapt=2 / b-pyramid / bframe-bias=0 / rc-lookahead=20 / lookahead-slices=8 / scenecut=40 / no-hist-scenecut / radl=0 / no-splice / no-intra-refresh / ctu=64 / min-cu-size=8 / no-rect / no-amp / max-tu-size=32 / tu-inter-depth=1 / tu-intra-depth=1 / limit-tu=0 / rdoq-level=0 / dynamic-rd=0.00 / no-ssim-rd / signhide / no-tskip / nr-intra=0 / nr-inter=0 / no-constrained-intra / strong-intra-smoothing / max-merge=3 / limit-refs=1 / no-limit-modes / me=1 / subme=2 / merange=57 / temporal-mvp / no-frame-dup / no-hme / weightp / no-weightb / no-analyze-src-pics / deblock=0:0 / sao / no-sao-non-deblock / rd=3 / selective-sao=4 / early-skip / rskip / no-fast-intra / no-tskip-fast / no-cu-lossless / b-intra / no-splitrd-skip / rdpenalty=0 / psy-rd=2.00 / psy-rdoq=0.00 / no-rd-refine / no-lossless / cbqpoffs=0 / crqpoffs=0 / rc=cqp / qp=6 / ipratio=1.40 / pbratio=1.30 / aq-mode=0 / aq-strength=0.00 / no-cutree / zone-count=0 / no-strict-cbr / qg-size=64 / no-rc-grain / qpmax=69 / qpmin=0 / no-const-vbv / sar=1 / overscan=0 / videoformat=5 / range=1 / colorprim=1 / transfer=1 / colormatrix=1 / chromaloc=0 / display-window=0 / cll=0,0 / min-luma=0 / max-luma=1023 / log2-max-poc-lsb=8 / vui-timing-info / vui-hrd-info / slices=1 / no-opt-qp-pps / no-opt-ref-list-length-pps / no-multi-pass-opt-rps / scenecut-bias=0.05 / no-opt-cu-delta-qp / no-aq-motion / no-hdr10 / no-hdr10-opt / no-dhdr10-opt / no-idr-recovery-sei / analysis-reuse-level=0 / analysis-save-reuse-level=0 / analysis-load-reuse-level=0 / scale-factor=0 / refine-intra=0 / refine-inter=0 / refine-mv=1 / refine-ctu-distortion=0 / no-limit-sao / ctu-info=0 / no-lowpass-dct / refine-analysis-type=0 / copy-pic=1 / max-ausize-factor=1.0 / no-dynamic-refine / no-single-sei / no-hevc-aq / no-svt / no-field / qp-adaptation-range=1.00 / scenecut-aware-qp=0conformance-window-offsets / right=0 / bottom=0 / decoder-max-rate=0 / no-vbv-live-multi-pass / no-mcstf / no-sbrc
Color range                              : Full
Color primaries                          : BT.709
Transfer characteristics                 : BT.709
Matrix coefficients                      : BT.709
Codec configuration box                  : hvcC

 

 

 

 

AAProds wrote on 10/21/2024, 6:26 PM

@Brian-Obvilion

Could you put a short file up on Google Drive or another hosting service for us to have a look at?

Re the aspect ratio, if you think Magix is misinterpreting it eg saying it's 16:9 when it's really 4:3, you can manually set it: right-click on the object on the timeline, go to Video and set the ratio from the droplist.

So, choose "Do not adjust" and then set the ratio on the object.

If the file was coded correctly, Magix shouldn't have a problem interpreting it. Just because MediaInfo says something doesn't make it so.

All my forum comments are based on or refer to my System 1.

My struggle is over! I built my (now) system 2 in 2011 when DV was king and MPEG 2 was just coming onto the scene and I needed a more powerful system to cope. Since then we've advanced to MP4 and to bigger and bigger resolutions. I was really suffering, not so much in editing (with proxies) but in encoding, which just took ages. A video, with Neat Video noise reduction applied, would encode at 12% of film speed. My new system 1 does the same job at 160% of film speed. Marvellous. I'm keeping my old system as a capture station for analogue video tapes and DV.

System 1

Windows 11 v23H2 severely modified by Openshell and ExplorerPatcher

Power supply: 850W Cooler Master (should have got modular)

CPU: Intel i7 13700K running at 3400mhz, cooled by a Kraken 2x140mm All In One liquid cooler.

RAM: 64gb (2x32gb sticks) G.Skill "Ripjaws" DDR4 3200Mhz

GPU 1: iGPU UHD 770

GPU 2: NVidia RTX 3060Ti Windforce 8gb

C drive: NVME 500gb

Various other SSD and HDDs.

Monitor: 27"/68cm Samsung, 2560 x 1440, 43 pixels/cm.

MEP 2021 version 20.0.1.80

Movie Studio 2023 version 22.0.3.172

Magix Video Easy version 7.0.1.145

System 2

(Still in use for TV and videotape capture)

Windows 10 v22H2

CPU: i5-750 at 2670mhz with 12gb RAM

Onboard IEEE1394 (Firewire) port

GPU: ATI Radeon HD 4770 (512mb) which is ignored by MEP

Hard drives: C Drive 256gb SSD, various other HDDs.

Monitor: Dell 22"/56cm, 1680x1050, 35 pixels/cm

MEP 2021 version 20.0.1.80

Movie Studio 2023 version 22.0.3.172

VPX 12

Brian-Obvilion wrote on 10/21/2024, 9:33 PM

I will work on getting a clip together for you...but yes, I also did exactly that. It made no difference. It made no difference if I said adjust or do not adjust....then if I right click on object properties and forced it to 4:3, it made no difference. It smashed the image vertically and destroyed the detail/dynamic range. Thought it did display in 4:3.

The only way I stopped the vertical smashing was adding the -aspect 4:3 parameter in ffmpeg. I don't know what that did to convince VPX it was 4:3 but the the ratio is the ratio. 5568X4176 is 4:3. VPX should be "mathing out" the ratio from the resolution.

I'll note that VLC (et al media players) always showed it correctly in 4:3 without detritus effect regardless of that -aspect parameter.

Here's an image where I ran the video I created from ffmpeg from above, through handbrake (using Pro/Max settings, 4:4:4 chroma subsampling), and put that into VPX per the suggestion earlier that perhaps ffmpeg wasn't populating all the info needed. Same results. Utterly destroyed image quality when imported into VPX.

I have no effects at all. Literally just a brand new "UHD" project, changed the movie settings to the custom 4:3 res and fps settings and dropped the video on the track.

On the right/background image, I have the same video opened in VLC player in approximately the same spot. On the left is what VPX shows in the program window (I have no "reduce resolution" etc setting set ). If I were to export it, the output is the same or worse.

This is a screenshot, it's worse live. Sharpness details are gone (look at wall/sky). Dynamic range compressed. It appears VPX renders the input in some intermediate format before it gets rendered out - damage's done at that point; but I don't know.

 

 

 

 

Gid wrote on 10/21/2024, 10:43 PM


Frame rate mode                          : Constant
Frame rate                               : 8.000 FPS
Color space                              : YUV
Chroma subsampling                       : 4:2:2
Bit depth                                : 10 bits

@Brian-Obvilion Find whatever setting you can & change it to 8bit, as far as I know JPEGs are 8-bit files & this is a Nightlapse I just created with my GoPro.

Last changed by Gid on 10/21/2024, 10:44 PM, changed a total of 1 times.

Magix Movie Studio 2025
Magix VPX14
Vegas Pro 21

Boris Continuum & Sapphire, 
Silhouette Standalone + Plugin, 
Mocha Pro Standalone + Plugin, 
Boris Optics,
NewBlue TotalFX
Desktop PC Microsoft Windows 10 Pro - 64-Bit
ASUS PRO WS WRX80E-SAGE SE WIFI AMD Motherboard
AMD Ryzen Threadripper PRO 3975WX 3.5GHz 32 Core
Corsair iCUE H150i RGB PRO XT 360mm All-in-One Liquid CPU Cooler
RAM 256GB ( 8x Micron 32GB (1x 32GB) 2666MHz DDR4 RAM )
2x Western Digital Black SN850 2TB M.2-2280 SSD, 7000MB/s Read, 5100MB/s Write
(programs on one, project files on the other)
Graphics MSI GeForce RTX 3090 SUPRIM X 24GB OC GPU
ASUS ROG Thor 1200W Semi-Modular 80+ Platinum PSU 
Fractal Design Define 7 XL Dark TG Case with 3 Fans
Dell SE3223Q 31.5 Inch 4K UHD (3840x2160) Monitor, 60Hz, & an Acer 24" monitor.

At the moment my filming is done with a Samsung Galaxy S23 Ultra 5G & a GoPro11

I've been a Joiner/Carpenter for 40yrs, apprentice trained time served, I don't have an apprentice of my own so to share my knowledge I put videos on YouTube.

YouTube videos - https://www.youtube.com/c/Gidjoiner

Lots of work photos on Facebook - https://www.facebook.com/gid.joiner/photos_albums