Clear all

Instagram Export Preset


Topic starter

Hi there,

I am trying to export videos with which to create Instagram stories. I use the ffmpeg Youtube preset to create .mp4 files, which works fine if I post the videos from my computer, but if I attempt to post them from my cell phone, it tells me 'The video file type you have chosen is unsupported. Please try again'.

Any suggestions on how I can resolve this?




Topic Tags
5 Answers

Probably Andrea or IgorBeg will have a good answer.  Is the video really mp4 or is it webm?  The error message seems to indicate that the filetype internally differs from expectations.  If you have mediainfo loaded on your computer, from a terminal window execute the command "mediainfo filename.mp4" and check to see what Format shows.


The "youtube" presets use the VP9 codec and not h265-5. Maybe that's what makes it incompatible with the smartphone. Try using an mp4 preset with x264-5 codecs.

@andreapaz that either gives me a weird, pixellated stuttering render, or no visible output at all.

I chose File Format FFMPEG and MP4, then tried all kinds of codec presets with similar results. The only one that actually worked was h265-lo, everything else I tried stuttered and got pixellated.

Can you provide a more specific indication of exactly what I should select, and why these other options are turning out so weird?


Strange behavior, I don't have any quality problems with rendering. Try setting the "bit rate" manually, for example to 8,000,000 or 12,000,000, and see if it changes the result. See image. Also go to Preferences>Appearence tab and put "YUV Color Space = BT709" and "YUV Color Range = MPEG".
What source do you start from? A very compressed mp4?

@andreapaz I tried that. The quality is now good, but it plays back jerkily - it plays for a second, then freezes, then plays, then freezes.


EDIT: For the sake of thoroughness, I tried playing it with another player, and playback is good. Perhaps VLC has some kind of problem? Any ideas on how to troubleshoot this?



Try rendering with faststart_h264.mp4 - which adds faststart to the mov flags.  From the ffmpeg filters documentation:

MOV/MP4/ISMV (Smooth Streaming) muxer.

The mov/mp4/ismv muxer supports fragmentation. Normally, a MOV/MP4 file has all the metadata about all packets stored in one location (written at the end of the file, it can be moved to the start for better playback by adding faststart to the movflags, or using the qt-faststart tool). A fragmented file consists of a number of fragments, where packets and metadata about these packets are stored together. Writing a fragmented file has the advantage that the file is decodable even if the writing is interrupted (while a normal MOV/MP4 is undecodable if it is not properly finished), and it requires less memory when writing very long files (since writing normal MOV/MP4 files stores info about every single packet in memory until the file is closed). The downside is that it is less compatible with other applications.


@phylsmith2004 Thanks, that works a little better with VLC, although still somewhat smoother on mpv.


dankinzelman wrote: which works fine if I post the videos from my computer, but if I attempt to post them from my cell phone, it tells me 'The video file type you have chosen is unsupported. Please try again'

It is really strange. Is it the same file?

As phylsmith2004 wrote, could you report the info of MediaInfo (or the output of "ffprobe -i <namefile>" , please?

@igorbeg here you go. these files don't even show up in the Instagram app on my cell phone.

ffprobe -i idea\ stories.mp4001
ffprobe version 4.3.1-2~mx19+2 Copyright (c) 2007-2020 the FFmpeg developers
built with gcc 8 (Debian 8.3.0-6)
configuration: --prefix=/usr --extra-version='2~mx19+2' --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --enable-avresample --disable-filter=resample --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libdav1d --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librabbitmq --enable-librsvg --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opencl --enable-opengl --enable-sdl2 --enable-pocketsphinx --enable-libmfx --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libx264 --enable-shared
libavutil 56. 51.100 / 56. 51.100
libavcodec 58. 91.100 / 58. 91.100
libavformat 58. 45.100 / 58. 45.100
libavdevice 58. 10.100 / 58. 10.100
libavfilter 7. 85.100 / 7. 85.100
libavresample 4. 0. 0 / 4. 0. 0
libswscale 5. 7.100 / 5. 7.100
libswresample 3. 7.100 / 3. 7.100
libpostproc 55. 7.100 / 55. 7.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'idea stories.mp4001':
major_brand : isom
minor_version : 512
compatible_brands: isomiso2avc1mp41
encoder : Lavf58.45.100
Duration: 0014.95, start: 0.000000, bitrate: 1871 kb/s
Stream #0 Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709/unknown/unknown), 1920x1088 [SAR 1:1 DAR 30:17], 1735 kb/s, 50 fps, 50 tbr, 12800 tbn, 100 tbc (default)
handler_name : VideoHandler
Stream #0 Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 128 kb/s (default)
handler_name : SoundHandler


Thanks @dankinzelman for the FFprobe info.
Your file seems good but may be Instagram doesn't like that.
I don't use Instagram, but I found the requires below.

=== Video Resolution and Size ===
You can upload a video with an aspect ratio between 1.91:1 and 9:16.
Videos should have a minimum frame rate of 30 FPS (frames per second) and minimum resolution of 720 pixels.
The maximum file size for videos that are 10 minutes or less is 650MB. The maximum file size for videos up to 60 minutes is 3.6GB.

=== Video codec ===
Progressive scan (no interlacing).
High profile.
2 consecutive B frames.
Closed GOP. GOP of half the frame rate.
Chroma subsampling: 40.

=== Audio codec ===
Channels: Stereo or Stereo + 5.1.
Sample rate 96khz or 48khz.


It seems to me that your video is interlaced, no progressive (50 fps, 50 tbr, 12800 tbn, 100 tbc).
Can you make a new Rendering with 30fps, please?
I just noticed that the filename is "idea\ stories.mp4001". There is a blank space at the beginning of the filename and "001" at the end. Is it a typewrite error here in the forum? (Maybe this is the reason your Instagram App can not to see your file)
It would be better it were "idea\stories.mp4