Convert SRT subtitle files to Final Cut Pro FCPXML subtitle format.
This software uses Final Cut Pro X 10.4.6 version FCPXML files as a template. If you encounter any issues, please upgrade to the corresponding version.
This fork includes the following improvements over the original project:
- Auto-find SRT files - No need to manually specify file paths
- Simplified CLI - More intuitive parameter settings
- Version query support - Supports
--versionparameter - Enhanced resolution settings - Supports resolution settings with default frame rate
- Multi-platform builds - Supports Windows, macOS, Linux
- Native architecture support - Supports AMD64 and ARM64
- Automated release workflow - Auto-release via GitHub Actions
- Quality assurance - Automated testing and validation
- Dependency updates - Modern Go module management
- Optimized output format - Clearer user feedback
- Cross-platform compatibility - Enhanced platform compatibility
- Project structure optimization - Standardized configuration and structure
First, ensure you have the Go language development environment installed.
Then execute the make command in the project directory to generate the srt2fcpxml executable file in the build directory.
Users who prefer not to compile can download the executable files directly.
- Windows (AMD64, ARM64)
- macOS (Intel, Apple Silicon)
- Linux (AMD64, ARM64)
First, grant the program execute permission:
chmod +x ./srt2fcpxmlThe program will automatically find SRT files in the current directory and convert them.
# Auto find SRT file with default settings (1920x1080@30fps)
./srt2fcpxml
# Auto find SRT file with specified frame rate (1920x1080@60fps)
./srt2fcpxml 60
# Auto find SRT file with custom resolution and default frame rate (30fps)
./srt2fcpxml 1920 1080
# Auto find SRT file with custom resolution and frame rate
./srt2fcpxml 1920 1080 29.9723.98, 24, 25, 29.97, 30, 50, 59.94, 60
# Convert with default settings
./srt2fcpxml
# Convert with 60fps
./srt2fcpxml 60
# Convert with custom resolution and default frame rate
./srt2fcpxml 1920 1080
# Convert with custom settings
./srt2fcpxml 1920 1080 29.97The fcpxml file will be automatically generated in the same directory as the SRT file, named after the SRT file.
# Build for current platform
go build -o srt2fcpxml cmd/main.go
# Build for all platforms using the build script
./build.sh v1.0.0-
Create and push a version tag:
git tag v1.0.0 git push origin v1.0.0
-
GitHub Actions will automatically:
- ✅ Run tests on Ubuntu
- 🔨 Build binaries using native runners for better performance:
- Windows builds on
windows-latest - macOS builds on
macos-latest - Linux builds on
ubuntu-latest
- Windows builds on
- 🎯 Support for AMD64 and ARM64 architectures
- 📦 Create GitHub release with all binaries
- 🔐 Generate SHA256 checksums for security
- ✨ Test native binaries for quality assurance
- Tag push (
v*) → Full build + release - Branch push (main/master/develop) → Build only
- Pull Request → Test only
- Manual trigger → Custom version build
You can manually trigger builds through the GitHub Actions interface with custom version numbers.
MIT