Skip to content

Program to sort media on your file system by eBird checklistId

License

Notifications You must be signed in to change notification settings

seabamirum/ebird-media-sorter

Repository files navigation

eBird Media Sorter

A desktop application for birders who want to efficiently organize and upload their photos, audio, and video to eBird.

What It Does

Automatically organize your media by date, location, and eBird checklistID:

  • Matches your photos, audio, and video files to your eBird checklists using timestamps and locations
  • Creates organized folders by date (e.g., 2025-10-10/)
  • Groups media into subfolders for each checklist (e.g., 2025-10-10/US-TN_Hamilton_Standifer-Gap-Marsh_S278333280)
  • Generates a CSV index showing which checklists have matching media, making it easy to prioritize uploads

Fix common problems:

  • Bulk adjust photo timestamps (perfect when you forget to change camera timezone while traveling)
  • Reduce video file sizes below the 1GB limit for easier uploading (requires ffmpeg)
  • Extract audio tracks from video files (requires ffmpeg)

How It Works

  1. Download your eBird data from eBird.org
  2. Point the program to your media files and eBird CSV
  3. The program matches files to checklists based on timestamps
  4. Files are organized into dated folders with checklist subfolders
  5. Review the generated index to see which checklists have media ready to upload

Installation and Usage Guide

Step 1: Download Your eBird Data

  1. Go to https://ebird.org/downloadMyData
  2. Download your data file after receiving the email from eBird
  3. Extract the CSV file from the downloaded ZIP archive to a location you'll remember (like your Downloads folder)

Step 2: Install Java

Note: This application uses JavaFX for its user interface. I recommend installing Liberica JRE Full which includes JavaFX bundled in - it's simpler than the standard Oracle Java.

Windows

  1. Download and install Liberica JRE Full:

macOS

  1. Download and install Liberica JRE Full:

Linux (Ubuntu/Debian)

  1. Download and install Liberica JRE Full:

Step 3: Download the eBird Media Sorter

  1. Go to the Releases page in this repository
  2. Download the latest ebird-media-sorter-[version].jar file
  3. Save it to an easy-to-find location like your Downloads folder

Step 4: Run the Program

Windows

  1. Press Windows Key + R to open the Run dialog
  2. Type cmd and press Enter to open Command Prompt
  3. Navigate to your Downloads folder by typing: cd %USERPROFILE%\Downloads and pressing Enter
  4. Run the program by typing: java -jar ebird-media-sorter-[version].jar (replace [version] with the actual version number)
  5. Press Enter

macOS

  1. Open Terminal (press Command + Space, type "Terminal", press Enter)
  2. Navigate to your Downloads folder by typing: cd ~/Downloads and pressing Enter
  3. Run the program by typing: java -jar ebird-media-sorter-[version].jar (replace [version] with the actual version number)
  4. Press Enter

Linux

  1. Open Terminal
  2. Navigate to your Downloads folder by typing: cd ~/Downloads and pressing Enter
  3. Run the program by typing: java -jar ebird-media-sorter-[version].jar (replace [version] with the actual version number)
  4. Press Enter

Troubleshooting

"java is not recognized as an internal or external command" (Windows)

  • Java is not installed or not in your PATH. Review Step 2 above.

"command not found: java" (macOS/Linux)

  • Java is not installed. Review Step 2 above.

"Unable to access jarfile"

  • Make sure you're in the correct directory where you downloaded the .jar file
  • Check that the filename matches exactly (including the version number)

Need more help?

  • Open an issue in this repository with details about your operating system and the error message you're seeing

Screenshots

Application (Linux/Ubuntu):

Screenshot_20230207_100507

Generated CSV file:

Screenshot_20230207_101153