<p>For a web-compatible encode, you will need the video stream to have a <code>yuv420p</code> pixel format. ProRes, as a editing codec, uses different pixel formats.</p>
<p>Use</p>
<pre><code>ffmpeg -i in.mov -pix_fmt yuv420p -c:v libx264 -b:v 3500k -c:a aac -movflags +faststart out.mp4
</code></pre>
<p>The input framerate should already be between 25-30, as exported by your friend, as well the resolution. Bitrate values for streaming services are typically recommendations, not a requirement.</p>

CC BY-SA 4.0
2022-08-26T23:57:28.353Z
THANK YOU for this detail. I used your command here, and was still unable to post the video with a desktop web browser, but I was able to put the resulting video on a google drive and download it from there to my phone, where the iphone liked it much better. I was subsequently able to post the video with the instagram app on my phone. REALLY ANNOYING that I can't post this via desktop browser though. Youtube is SO MUCH BETTER designed.
S. Imp
CC BY-SA 4.0
2022-08-26T04:31:41.867Z
2022-08-26T04:31:41.867Z
Gyan
<p>My colleague made a really nice video to hype my record release. The file he exported is a 1.3GB MOV file, and appears to use the Apple ProRes codec in a quicktime container (I have no idea what this means). My goal is to post this video on instagram, which refuses to let me select it with a desktop browser.</p>
<p><a href="https://i.sstatic.net/NT1lB.png" rel="nofollow noreferrer"><img src="https://i.sstatic.net/NT1lB.png" alt="enter image description here" /></a></p>
<p>If I visit instagram in my desktop browser (ubuntu using latest firefox), I can browse for the video, I can choose it, but when I click OK, instagram simply ignores the video I've chosen, and the prompt to choose a video just stays the same.</p>
<p>I have tried uploading this video using the instagram app using my phone. Sadly, I can't seem to get the video into my Photos app. When I download to my phone using the WeTransfer link he sent me, it ends up in the Files folder and, curiously, i when i try to play it there, i can hear the audio but not see the video. I tried to share the video from Files and chose instagram. This seems to sort of work, but the file upload never seems to complete, and this approach completely fails to make use of my high speed internet connection, averaging a paltry 3.5 Mbit/second or so.</p>
<p>According to <a href="https://www.adobe.com/creativecloud/video/hub/ideas/best-instagram-video-format" rel="nofollow noreferrer">this adobe page</a>, one should use these parameters if you want to get the video into instagram:</p>
<ul>
<li>mp4 format</li>
<li>AAC audio</li>
<li>3500 kbps bitrate</li>
<li>30 fps (frames per second)</li>
<li>Maximum of 60 seconds long</li>
<li>1080 pixels wide (max)</li>
<li>1920 pixels tall</li>
<li>H.264 codec</li>
</ul>
<p>The problem seems to be a combination of instagram hating my video format and the file being too large to upload in a reasonable time frame. I'd like to try and convert it using FFMPEG on this ubuntu workstation to the parameters above. I know it's a bit long, but I'd like to try a straight conversion without cropping the ends first.</p>
<p>Can anyone help me cook up the right command? Seems like we need to change the codec to h.264, change the audio from pcm to AAC, and set the 3500 kbps bitrate. Any help would be MUCH appreciated.</p>
<p>EDIT: I've been searching for a suitable ffmpeg command and one i found <a href="https://superuser.com/questions/1155186/convert-mov-video-to-mp4-with-ffmpeg">here</a> seems pretty close:</p>
<pre><code>ffmpeg -i {in-video}.mov -vcodec h264 -acodec aac {out-video}.mp4
</code></pre>
<p>I'm not at all sure that will do the trick but it does appear to be converting to h.264 and audio to AAC. However, the output from the command looks like the bitrate, 4577kbps, is too high.</p>

<ffmpeg><quicktime><prores><bitrate>
How to convert ProRes/Quicktime MOV to instagram-friendly with ffmpeg so I can post it on IG
S. Imp
# How to convert ProRes/Quicktime MOV to instagram-friendly with ffmpeg so I can post it on IG

(Asked by: username_0 on 2022-08-26)

My colleague made a really nice video to hype my record release. The file he exported is a 1.3GB MOV file, and appears to use the Apple ProRes codec in a quicktime container (I have no idea what this means). My goal is to post this video on instagram, which refuses to let me select it with a desktop browser.

If I visit instagram in my desktop browser (ubuntu using latest firefox), I can browse for the video, I can choose it, but when I click OK, instagram simply ignores the video I've chosen, and the prompt to choose a video just stays the same.
I have tried uploading this video using the instagram app using my phone. Sadly, I can't seem to get the video into my Photos app. When I download to my phone using the WeTransfer link he sent me, it ends up in the Files folder and, curiously, i when i try to play it there, i can hear the audio but not see the video. I tried to share the video from Files and chose instagram. This seems to sort of work, but the file upload never seems to complete, and this approach completely fails to make use of my high speed internet connection, averaging a paltry 3.5 Mbit/second or so.
According to this adobe page, one should use these parameters if you want to get the video into instagram:

mp4 format
AAC audio
3500 kbps bitrate
30 fps (frames per second)
Maximum of 60 seconds long
1080 pixels wide (max)
1920 pixels tall
H.264 codec

The problem seems to be a combination of instagram hating my video format and the file being too large to upload in a reasonable time frame. I'd like to try and convert it using FFMPEG on this ubuntu workstation to the parameters above. I know it's a bit long, but I'd like to try a straight conversion without cropping the ends first.
Can anyone help me cook up the right command? Seems like we need to change the codec to h.264, change the audio from pcm to AAC, and set the 3500 kbps bitrate. Any help would be MUCH appreciated.
EDIT: I've been searching for a suitable ffmpeg command and one i found here seems pretty close:
ffmpeg -i {in-video}.mov -vcodec h264 -acodec aac {out-video}.mp4

I'm not at all sure that will do the trick but it does appear to be converting to h.264 and audio to AAC. However, the output from the command looks like the bitrate, 4577kbps, is too high.

**Tags:** ffmpeg, quicktime, prores, bitrate


---

## 1 answers

### Answer by username_1 on 2022-08-26. Score: 1 | Accepted answer

For a web-compatible encode, you will need the video stream to have a yuv420p pixel format. ProRes, as a editing codec, uses different pixel formats.
Use
ffmpeg -i in.mov -pix_fmt yuv420p -c:v libx264 -b:v 3500k -c:a aac -movflags +faststart out.mp4

The input framerate should already be between 25-30, as exported by your friend, as well the resolution. Bitrate values for streaming services are typically recommendations, not a requirement.

> **Comments:**
> **username_0**: THANK YOU for this detail. I used your command here, and was still unable to post the video with a desktop web browser, but I was able to put the resulting video on a google drive and download it from there to my phone, where the iphone liked it much better. I was subsequently able to post the video with the instagram app on my phone. REALLY ANNOYING that I can't post this via desktop browser though. Youtube is SO MUCH BETTER designed.  

---

