Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/yakkun/goproconcat

Combine split videos by GoPro cameras
https://github.com/yakkun/goproconcat

ffmpeg gopro gopro-camera macos

Last synced: about 1 month ago
JSON representation

Combine split videos by GoPro cameras

Awesome Lists containing this project

README

        

# GoProConcat

GoProConcat is a tool for macOS that merges split video files generated by GoPro cameras into a single file. It also sets the creation and modification dates of the merged file to match those of the original files.

## Features

- Merge multiple GoPro video files into a single file.
- Preserve GoPro-specific metadata.
- Set the creation and modification dates of the merged file to match the original files.
- Handles both AVC (GH) and HEVC (GX) encoded files.

## Requirements

- macOS
- ffmpeg
- Command Line Tools (for `SetFile` command)

## Installation

### Install ffmpeg using Homebrew

```sh
brew install ffmpeg
```

### Install Command Line Tools

```sh
xcode-select --install
```

### Clone the repository

```sh
git clone https://github.com/yakkun/GoProConcat.git
cd GoProConcat
```

### Build the project

```sh
go build -o GoProConcat main.go
```

## Usage

```sh
./GoProConcat outputfile inputfile1 [inputfile2 ...]
```

### Example

```sh
./GoProConcat merged.mp4 GH011234.MP4 GH021234.MP4 GX011234.MP4
```

This command will merge `GH011234.MP4`, `GH021234.MP4`, and `GX011234.MP4` into a single file named `merged.mp4`.

## Testing

To run the tests, use the following command:

```sh
go test
```

## Contributing

Contributions are welcome! Please fork the repository and create a pull request with your changes.

1. Fork it (https://github.com/yakkun/GoProConcat/fork)
2. Create your feature branch (`git checkout -b feature/fooBar`)
3. Commit your changes (`git commit -am 'Add some fooBar'`)
4. Push to the branch (`git push origin feature/fooBar`)
5. Create a new Pull Request

## License

This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.

## Acknowledgements

- [ffmpeg](https://ffmpeg.org/) for the powerful multimedia framework.
- [djherbis/times](https://github.com/djherbis/times) for handling file timestamps in Go.