5

Recently strava added video upload feature. (Available on mobile only, so far.) However it seems to be really picky about the format. I could not find any documentation about the exact requirements. I am using an action camera and the videos obviously need to be processed before uploading. I was unable to produce a file that strava accepts. I have a sample video that works, ffprobe gives the following details:

Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'strava.mp4':
  Metadata:
    major_brand     : mp42
    minor_version   : 0
    compatible_brands: isommp42
    creation_time   : 2022-05-16T17:06:21.000000Z
    location        : +47.1887+018.6241/
    location-eng    : +47.1887+018.6241/
    com.android.version: 8.1.0
  Duration: 00:00:09.25, start: 0.000000, bitrate: 19760 kb/s
  Stream #0:0[0x1](eng): Video: h264 (Baseline) (avc1 / 0x31637661), yuv420p(tv, smpte170m/bt470bg/smpte170m, progressive), 1920x1080, 19656 kb/s, SAR 1:1 DAR 16:9, 29.96 fps, 30 tbr, 90k tbn (default)
    Metadata:
      creation_time   : 2022-05-16T22:07:54.000000Z
      handler_name    : VideoHandle
      vendor_id       : [0][0][0][0]
    Side data:
      displaymatrix: rotation of -90.00 degrees
  Stream #0:1[0x2](eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 96 kb/s (default)
    Metadata:
      creation_time   : 2022-05-16T22:07:54.000000Z
      handler_name    : SoundHandle
      vendor_id       : [0][0][0][0]

I am using openshot on linux to edit the video, but ffmpeg is available as well for transcoding/post processing. I would welcome any hints how to produce a video in the correct format. Also, details about other accepted formats, if any, would be welcome.

4 Answers 4

6

It's not supposed to be really picky, it basically just doesn't work yet. Take a look through the comments section on DC Rainmakers article and you'll find many users having problems. One user even mentions being in contact with Strava and they have identified a bunch of quirks in video files that they didn't know about and now need to resolve.

https://www.dcrainmaker.com/2022/06/strava-adding-video-support-heres-how-it-works.html

2
  • 5
    Side note: I wonder how long it will take Strava to realise that working on social media features like this instead of athlete focussed features is exactly why people don't subscribe.
    – Andy P
    Jun 28, 2022 at 19:38
  • 2
    They realize, but more money in mining data from 100 people than selling a subscription to 1.
    – mattnz
    Jun 28, 2022 at 21:18
4

Even simple animated gifs don't work.

Strava clearly has released an initial concept without enough testing of edge cases.

Anticipate that the functionality to improve over time, but also realise that cycling video is mostly boring and people won't want to watch anything over a few seconds. If Strava find this costs them more than it earns, the video function will go away.

2
  • 2
    cycling video is mostly boring Or rather - interesting cycling video is hard, needing good presenting skills and a lot of post-processing. I've seen some good stuff - one of my clubmates can be very entertaining if you're into long-distance stuff. Slapping it onto a Strava post isn't the way to publish that work. It would work better for the snippets I occasionally record (though that's a bit long at a full minute) (links are to YouTube)
    – Chris H
    Jun 29, 2022 at 10:16
  • 4
    Because GIFs aren't a video format, they may not be intended to work. Who know what they're thinking? If anything works I'd expect it to be as-shot files from a recent Samsung or iPhone, because that's likely for testing.
    – Chris H
    Jun 29, 2022 at 10:17
3

What you have there, from the ffprobe info, doesn't look like anything specal: H.264 Baseline Profile and AAC-LC (which are are the compatibility subsets of the most common codecs of the past 15 years) in an ISO MP4 container (which is the dominant standard). The video has a rotation matrix (which I'm sure isn't mandatory, but indicates that it's fine to have one) and the color format is standard-gamut SDR 4:2:0, which is, again, perfectly boring.

Your file has location metadata in 3GPP format (location: +47.1887+018.6241/ indicates somewhere in Hungary) stored in the udta/loci box. It's possible that Strava requires such location tagging.

3

First I thought strava was picky about the major_brand field but turns out it's happy as long as the video stream is "baseline" profile. ffmpeg by default seems to produce "high" profile. Luckily the libx264 encoder has an option to specify the profile. What I found to work is:

ffmpeg ... -vcodec libx264 -profile:v baseline ...

The result is Video: h264 (Constrained Baseline) (avc1 / 0x31637661), yuvj420p(pc, bt709, progressive) which is not an exact match but seems to be good enough.

Unfortunately I did not find a way to specify this in the openshot video editor directly (even though that also uses ffmpeg/libx264 internally).

1
  • 1
    Well done. Yes, the difference between CBP and Baseline is completely unimportant here, and yuv420p vs. yuvj420p is also a minor detail and whichever one ffmpeg defaults to for a given source will be fine.
    – hobbs
    Jun 29, 2022 at 22:16

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.