konradit / gopro-linux Goto Github PK
View Code? Open in Web Editor NEWBash 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
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
Is GoPro Fusion supported ?
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.
Missin ' at end of help function causes script to fail.
Excellent work!
It has helped me a lot with my camera.
I just wanted to make a little contribution regarding the documentation:
Thank you very much for your effort!
Greetings from Uruguay.
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?
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
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.
:> 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
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.
Line 385 : - gopro help
>>show this usage message
}'
Should be
Line 385 : - gopro help
>>show this usage message'
}
Also 'translate=2' at line 362 could be wrtitten as "translate=2" as to not exit quotation of the Help echo.
I think the title is pretty clear. Would love to access the live feed of the camera in linux, hoping this library can do that somehow. Please let me know!
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?
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
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
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
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.