GoPro
3 days ago
To bring the image quality and ease of use of GoPro devices to the highest level, GoPro Paris relies on a lot of tools, including an in-house camera analyzer. Fully integrated in the Imaging Firmware team, your role is to develop a key feature in the camera analyzer tool, allowing to visualize proprietary data embedded in media created by GoPro Cameras.
Why Work With Us?
Create your own destiny. GoPro enables you and trusts you to get your own job done, because we believe that autonomy in role brings out the best in our employees.
Live your best life. We’ve adopted remote and flexible work arrangements to support work at GoPro alongside our commitment to supporting employee wellbeing, belonging and connection with one another.
Work with leading edge technologies. We encourage employees to cultivate and use the latest and greatest technology, to provide the best solutions to serve our customers. We celebrate creative solutions that bring innovation to GoPro technology.
Subject
When a GoPro camera creates a media either video or jpg, it embeds specific data in a dedicated track (called GPMF), containing many information about the context, the sensors (image, movements…), the scene (face/smile/blink detection, object tracking…), the decisions made by the camera, the parameters applied to the image, but also debug logs.
This data is then used by the Mobile App to help create automatic edits. It is also used during the development of the camera, by engineers, to analyze the defects or bugs raised by field testing.
Today we have an internal Python & HTML-based tool which extracts and displays some information contained in the media but it’s old, relies on lots of legacy, and becomes difficult to maintain and make evolve.
On the other hand, during the last two years, a new debug tool, with graphical interface was developed (called gpdev-gui), able to communicate in real time with the camera, in a very reliable way (implementation in Rust), to control and analyze many aspects of the camera.
The purpose of this internship is to implement a visualizer of GPMF data in gpdev-gui, to combine this aspect with other existing debug features in gpdev-gui.
What You Will Do
- Analyze the GPMF format, the current tools, their legacy & the way it works
- Study the design & architecture of the new debug tool “gpdev-gui”
- Propose a design & development roadmap of the various GPMF data to visualize
- Implement the solution, with proper test coverage
- Produce design documents and code documentation
- Bonus: add a similar feature as in html viewer, decoding the original media and synchronizing the timelines between data & video/audio
Technical Environment
- Complex SoC, ARM based, Real Time Operating System.
- Rust, C++, C
- Python, bash
- Git, Make, cMake, waf
Skills We’re Excited About
- Computer sciences (4th year or final degree of engineering school)
- Continuous Integration (Github Actions, Jenkins)
- C++, Rust, C
- Good knowledge of Git
- Scripting language (Shell, Python at least)
- Good interpersonal skills
- Technical English and French practice required
- Curiosity for new technologies in embedded world
GoPro Highlights
- Get your very own GoPro camera + gear
- Subsidized lunch and snacks galore
- LiveHealthy monthly wellness reimbursement
- Monthly phone and internet reimbursement
- Transit benefit – % of the applicable public transportation pass
- Flexible work arrangements
- Professional + personal development opportunities, i.e. LinkedIn Learning, technology trainings, certifications, Peer-to-Peer learning, conferences and more
We are committed to creating a more equal, inclusive and just world. GoPro is proud to be an Equal Opportunity Employer.
## flexible ## LI-Hybrid ## LI-ST1