Designed 2 Use...

Cheshire Web Development

07810 640 239

  • Home
  • About
  • App Development
  • Scripts
  • Basket
  • Contact
GoPro Video Join & Compress — PowerShell Script

GoPro Video Join & Compress — PowerShell Script

Free

Joins and compresses split GoPro video files using ffmpeg. GoPro cameras split long recordings into multiple chapters (e.g. GH010042, GH020042, GH030042) — this script automatically detects those sets, joins the chapters losslessly, then compresses the result to H.265/HEVC for dramatically smaller file sizes.

Free download — if you find it useful, consider supporting development

Categories: PowerShell, Script
  • Description
  • Reviews (0)

Description

Joins and compresses split GoPro video files using ffmpeg. GoPro cameras split long recordings into multiple chapters (e.g. GH010042, GH020042, GH030042) — this script automatically detects those sets, joins the chapters losslessly, then compresses the result to H.265/HEVC for dramatically smaller file sizes.

Features

    • Automatically detects and groups GoPro chapter files by set number
    • Supports GoPro naming conventions: GH (Hero 5–8), GX (Hero 9–11), GP (Hero 12+)
    • Joins chapters without re-encoding (fast, no quality loss)
    • Compresses to H.265/HEVC with configurable quality (CRF) and speed preset
    • Outputs to a `compressed` subfolder, keeping originals safe
    • Optional `-DeleteOriginals` flag to remove source files after verified compression
    • `-WhatIf` flag to preview what would be processed
    • Skips non-GoPro files with a clear message

Usage

Navigate to your video folder, then run the script

cd "D:\Footage\2024\20240715"
reduce-videos.ps1

Custom quality and speed (lower CRF = better quality, slower preset = smaller files)

reduce-videos.ps1 -CRF 20 -Preset medium

Preview what would happen

reduce-videos.ps1 -WhatIf

Delete originals after successful compression

reduce-videos.ps1 -DeleteOriginals

Parameters

| Parameter | Default | Description | |—————–|————|——————-| | `-CRF` | 23 | Quality (0–51, lower = better). Recommended: 18–28 | | `-Preset` | slow | Encoding speed. Options: ultrafast, superfast, veryfast, faster, fast, medium, slow, slower, veryslow | | `-OutputPrefix` | compressed_ | Prefix for output filenames | | `-DeleteOriginals` | off | Remove source files after verified compression | | `-WhatIf` | off | Preview without processing |  

Requirements

    • Windows with PowerShell 5.1 or later (included with Windows 10/11)
    • ffmpeg — free, open-source video toolkit

Installing ffmpeg

    1. Open PowerShell and run: `winget install Gyan.FFmpeg`
    1. Restart any open terminal/PowerShell windows.
    1. Verify by running: `ffmpeg -version`

Alternatively, download manually from https://ffmpeg.org/download.html – grab the “essentials” build, extract it, and add the `bin` folder to your system PATH.  

unning PowerShell Scripts

If you haven’t run PowerShell scripts before, you may need to allow it once. Open PowerShell as Administrator and run:

Set-ExecutionPolicy RemoteSigned -Scope CurrentUser

Then navigate to the folder containing the script and run it.  

Adding the Script to Your PATH (Optional)

For convenience, you can add the folder containing the script to your system PATH so you can run it from any directory:

    1. Press Win + S and search for “Environment Variables”
    1. Click “Edit the system environment variables”
    1. Click Environment Variables at the bottom
    1. Under User variables, select Path and click Edit
    1. Click New and paste the full path to the folder where you saved the script (e.g. `C:\Scripts`)
    1. Click OK on all dialogs
    1. Restart any open terminal windows

You can now run `reduce-videos.ps1` from anywhere without navigating to the script’s folder first.

Free download — if you find it useful, consider supporting development

 

Reviews

There are no reviews yet.

Only logged in customers who have purchased this product may leave a review.

Related products

  • Batch Resize & Convert to WebP — PowerShell Script

    Batch Resize & Convert to WebP — PowerShell Script

    Free
    Add to basket
  • QR Code Generator — PowerShell Script

    QR Code Generator — PowerShell Script

    Free
    Add to basket
  • Convert PNG to WebP — PowerShell Script

    Convert PNG to WebP — PowerShell Script

    Free
    Add to basket
  • Organise Media by Date — PowerShell Script

    Organise Media by Date — PowerShell Script

    Free
    Add to basket

Contact me on 07810 640 239 or on [email protected]

© Designed 2 Use a web development company based in Cheshire, UK
Part of The John Hulme Partnership Ltd

We are using cookies to give you the best experience on our website.

You can find out more about which cookies we are using or switch them off in .

Privacy Overview

This website uses cookies so that we can provide you with the best user experience possible. Cookie information is stored in your browser and performs functions such as recognising you when you return to our website and helping our team to understand which sections of the website you find most interesting and useful.

Strictly Necessary Cookies

Strictly Necessary Cookie should be enabled at all times so that we can save your preferences for cookie settings.

Cookie Policy

More information about our Cookie Policy

Powered by  GDPR Cookie Compliance