Coder Social home page Coder Social logo

konradit / gopro-linux Goto Github PK

View Code? Open in Web Editor NEW
333.0 333.0 50.0 56 KB

Bash script which helps with post production for GoPro cameras in Linux, can be used as a replacement for GoPro Studio

License: GNU General Public License v3.0

Shell 100.00%
gopro gopro-cameras gopro-linux linux post-processing

gopro-linux's People

Contributors

akstrfn avatar alexey-igrychev avatar boppybibbles avatar epse avatar habi avatar haliscz avatar hereje avatar konradit avatar marijaninjo avatar markuman avatar mickro avatar toadlybroodle avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

gopro-linux's Issues

Fusion

Is GoPro Fusion supported ?

Option 'sameq' is no longer available in FFmpeg

Here's the console dump when I try to run gopro superview on a folder:

GoPro Tool for Linux
To see a list of commands and syntax available run: gopro help
Checking dependencies...
GOPR4310+S
ffmpeg version 3.4 Copyright (c) 2000-2017 the FFmpeg developers
  built with gcc 7.2.0 (GCC)
  configuration: --prefix=/usr --disable-debug --disable-static --disable-stripping --enable-avisynth --enable-avresample --enable-fontconfig --enable-gmp --enable-gnutls --enable-gpl --enable-ladspa --enable-libass --enable-libbluray --enable-libfreetype --enable-libfribidi --enable-libgsm --enable-libiec61883 --enable-libmodplug --enable-libmp3lame --enable-libopencore_amrnb --enable-libopencore_amrwb --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libv4l2 --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxcb --enable-libxvid --enable-shared --enable-version3
  libavutil      55. 78.100 / 55. 78.100
  libavcodec     57.107.100 / 57.107.100
  libavformat    57. 83.100 / 57. 83.100
  libavdevice    57. 10.100 / 57. 10.100
  libavfilter     6.107.100 /  6.107.100
  libavresample   3.  7.  0 /  3.  7.  0
  libswscale      4.  8.100 /  4.  8.100
  libswresample   2.  9.100 /  2.  9.100
  libpostproc    54.  7.100 / 54.  7.100
Option 'sameq' was removed. If you are looking for an option to preserve the quality (which is not what -sameq was for), use -qscale 0 or an equivalent quality factor option.
Failed to set value '1' for option 'sameq': Invalid argument
Error parsing global options: Invalid argument

Probably need to update the ffmpeg arguments to match with a compatible alternative.

Improvements to the: "gopro help" command

Excellent work!
It has helped me a lot with my camera.
I just wanted to make a little contribution regarding the documentation:

  • gopro sort => Option "move" is not in: gopro help description.
  • gopro slowmo [video] => Arguments are missing in: gopro help description.
  • gopro speed => Is not in: gopro help description.

Thank you very much for your effort!
Greetings from Uruguay.

gopro merge support for different file endings

named all my clips with .mp4 but had to rename them to .MP4 to get gopro merge to work, maybe add commandline to just let me choose file ending to search for.

gopro merge .mp4 merged.mp4

something like that?

Wrong order of images when generating timelapse

gopro timelapse 30 tl.mp4 4000 3000 on set of images from GoPro Hero 7 produces "jumpy" timelapse because images are not in completely right order.

Images are ordered by this code:

$(type -P ls) -1tr ./*.JPG >gopro_timelapse_list.txt

here is an example result of this sorting in my case:

✔ rk:/tmp/gopro_tl> $(type -P ls) -1tr ./*.JPG
./G0011200.JPG
./G0011202.JPG
./G0011201.JPG
./G0011204.JPG
./G0011203.JPG
./G0011206.JPG
./G0011205.JPG
./G0011208.JPG
./G0011207.JPG
./G0011210.JPG
./G0011209.JPG
./G0011212.JPG
./G0011211.JPG
./G0011214.JPG
./G0011213.JPG
./G0011216.JPG
./G0011215.JPG
./G0011218.JPG
./G0011217.JPG
./G0011220.JPG
./G0011219.JPG

Fisheye command is not compatible with GoPro Hero 5

The fisheye command does not successfully de-fisheye GoPro Hero 5 Black images. It seems as if the function "bends the image too far", so that there is an inverse fisheye effect. I tried finding the correct parameters for mogrify for Hero 5, through with no success as of yet. But I thought it might be useful for you to be aware of the issue.

Invalid argument when using gopro convert

:> gopro convert GOPR0035.MP4 
GoPro Tool for Linux
To see a list of commands and syntax available run: gopro help
Checking dependencies...
GOPR0035
ffmpeg version 2.8.10-0ubuntu0.16.04.1 Copyright (c) 2000-2016 the FFmpeg developers
  built with gcc 5.4.0 (Ubuntu 5.4.0-6ubuntu1~16.04.4) 20160609
  configuration: --prefix=/usr --extra-version=0ubuntu0.16.04.1 --build-suffix=-ffmpeg --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --cc=cc --cxx=g++ --enable-gpl --enable-shared --disable-stripping --disable-decoder=libopenjpeg --disable-decoder=libschroedinger --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmodplug --enable-libmp3lame --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-librtmp --enable-libschroedinger --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxvid --enable-libzvbi --enable-openal --enable-opengl --enable-x11grab --enable-libdc1394 --enable-libiec61883 --enable-libzmq --enable-frei0r --enable-libx264 --enable-libopencv
  libavutil      54. 31.100 / 54. 31.100
  libavcodec     56. 60.100 / 56. 60.100
  libavformat    56. 40.101 / 56. 40.101
  libavdevice    56.  4.100 / 56.  4.100
  libavfilter     5. 40.101 /  5. 40.101
  libavresample   2.  1.  0 /  2.  1.  0
  libswscale      3.  1.101 /  3.  1.101
  libswresample   1.  2.101 /  1.  2.101
  libpostproc    53.  3.100 / 53.  3.100
Option 'sameq' was removed. If you are looking for an option to preserve the quality (which is not what -sameq was for), use -qscale 0 or an equivalent quality factor option.
Failed to set value '1' for option 'sameq': Invalid argument
Error parsing global options: Invalid argument

Is Superview just stretching to 16:9?

Hi, I've had a quick look at the source and unless I'm missing something, the "superview" function is just stretching the input file to 16:9

function superview() {
    for i in *.MP4;
        do name=`echo $i | cut -d'.' -f1`+S;
        echo $name;
        ffmpeg -i $i -q:a 1 -q:v 1 0 -vcodec mpeg4 -acodec ac3 -aspect 16:9 -strict experimental $name.MP4
    done
}

Isn't this missing the clever dynamic stretching that superview actually does, where the centre is unstretched and the edges are over-stretched to compensate?

I've been searching for a way to do this in Ubuntu, but not found anything yet.

gopro fisheye_video not implemented or missing documentation?

Description

When i run your script like this gopro help it dont print the same example as the one here on github.
i tried doing it any way like this gopro fisheye_video and this gopro fisheye_video <gopro_videofile without luck.

i expected to be able to use fisheye_video since it is stated in the example here on github but it seams to be left out of the code?
how can i get this to work?
is it a WIP feature?

Context

when i run: gopro help
i get:

GoPro Tool for Linux
To see a list of commands and syntax available run: gopro help
Checking dependencies...
GoPro Tool for Linux OS
Available commands:

- gopro timelapse [fps] [outfilename] [res width] [res height]
Makes a timelapse with pictures in the current folder, make sure to cd to a DCIM/XXXGOPRO folder!
Example: gopro timelapse 30 goproTL.mp4 1920 1080

- gopro superview
Applies SuperView to all GoPro videos in the current dir

- gopro fisheye
Fixes barrel distorsion to all GoPro pictures in the current folder

- gopro convert
Converts all GoPro MP4 videos to MPEG4 MOV videos for easy editing

- gopro slowmo [video]
Reduces the speed in a High FPS GoPro Video
Example: gopro slowmo GOPRO0553.MP4

- gopro trim [input video] [output video] [HH:MM:SS start] [HH:MM:SS stop]
Trims a video, use this to trim a slow motion video!
Example: gopro trim GOPR0553.MP4 Trimmed.mp4 00:05:04 00:07:43

- gopro sort
Sorts media, please execute in DCIM/XXXGOPRO!

Script by Konrad Iturbe (@KonradIT on GitHub | @konrad_it on Twitter)

what i expect:

- gopro timelapse [fps] [outfilename] [res width] [res height]
Makes a timelapse with pictures in the current folder, make sure to cd to a DCIM/XXXGOPRO folder!
Example: gopro timelapse 30 goproTL.mp4 1920 1080

- gopro superview
Applies SuperView to all GoPro videos in the current dir

- gopro fisheye
Fixes barrel distorsion to all GoPro pictures in the current folder

- gopro fisheye_video [video]
Fixes barrel distorsion on GoPro videos, [video] is optional, remove to apply to all mp4 videos in current dir

- gopro convert
Converts all GoPro MP4 videos to MPEG4 MOV videos for easy editing

- gopro slowmo [video]
Reduces the speed in a High FPS GoPro Video
Example: gopro slowmo GOPRO0553.MP4

- gopro trim [input video] [output video] [HH:MM:SS start] [HH:MM:SS stop]
Trims a video, use this to trim a slow motion video!
Example: gopro trim GOPR0553.MP4 Trimmed.mp4 00:05:04 00:07:43

- gopro sort
Sorts media, please execute in DCIM/XXXGOPRO!

what i get with: gopro fisheye_video and gopro fisheye_video <gopro_videofile

GoPro Tool for Linux
To see a list of commands and syntax available run: gopro help
Checking dependencies...
/usr/local/bin/gopro: line 75: fisheye_video: command not found

Sort command not compatible with Hero6

Camera: Hero6
File Import Method: copy off GoPro via MTP

gopro sort move produces the output below:

GoPro Tool for Linux
To see a list of commands and syntax available run: gopro help
Checking dependencies...
mv: cannot stat 'GOPR*.MP4': No such file or directory
mv: cannot stat 'GP*.MP4': No such file or directory
mv: cannot stat 'G*.JPG': No such file or directory
mv: cannot stat './*.LRV': No such file or directory
mv: cannot stat './*.THM': No such file or directory
Finished!

Output of tree looks like this:

.
├── GH010001.MP4
├── GX010000.MP4
├── photos
│   ├── single
│   │   ├── GOPR0003.JPG
│   │   └── GOPR0004.JPG
│   └── timelapse-burst-continuous
└── videos
    ├── chaptered
    ├── lowresvideos
    ├── single
    └── thumbnails

FR: able to add GPS data

I would be more then happy if i would be able to add gps data from the camera to the movie.
is there any way i can help with it let me know

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.