<p>The <code>curves</code> filter converts the input to RGB coding but most video players require a specific YUV scheme.</p>
<p>So use,</p>
<pre><code>ffmpeg -i input.mp4 -vf curves=vintage,format=yuv420p -c:a copy ouput.mp4
</code></pre>

CC BY-SA 4.0
2020-07-08T13:25:35.897Z
Its working. Now android default player can play the video after adding output format parameter. Btw what other formats are available and what impact they can have on outout?
Khawar Raza
CC BY-SA 4.0
2020-07-08T16:29:43.067Z
There are dozens of other formats but `yuv420p` is the only widely supported format.
Gyan
CC BY-SA 4.0
2020-07-08T11:31:02.263Z
2020-07-08T11:31:02.263Z
Gyan
<p>I am using ffmpeg 3.3.4 for android. I am executing below simple command:</p>
<pre><code> ffmpeg -i input.mp4 -vf curves=vintage -c:a aac ouput.mp4
</code></pre>
<p>and</p>
<pre><code> ffmpeg -i input.mp4 -vf curves=vintage -c:a copy ouput.mp4
</code></pre>
<p>The resultant video is not playing in android default player and Exoplayer. I tried on windows using windows media player, it only plays sound but no video. Although VLC media player is playing it properly on android and windows. Any idea whats missing in the above command?</p>
<p>Output video metadata:
<a href="https://www.metadata2go.com/result/e9f9b7db-0a91-4148-9073-1a1162f0c7f0" rel="nofollow noreferrer">https://www.metadata2go.com/result/e9f9b7db-0a91-4148-9073-1a1162f0c7f0</a></p>

<ffmpeg>
Video not playing properly after ffmpeg vintage effect applied
Khawar Raza
# Video not playing properly after ffmpeg vintage effect applied

(Asked by: username_0 on 2020-07-08)

I am using ffmpeg 3.3.4 for android. I am executing below simple command:
 ffmpeg -i input.mp4 -vf curves=vintage -c:a aac ouput.mp4

and
 ffmpeg -i input.mp4 -vf curves=vintage -c:a copy ouput.mp4

The resultant video is not playing in android default player and Exoplayer. I tried on windows using windows media player, it only plays sound but no video. Although VLC media player is playing it properly on android and windows. Any idea whats missing in the above command?
Output video metadata:
https://www.metadata2go.com/result/e9f9b7db-0a91-4148-9073-1a1162f0c7f0

**Tags:** ffmpeg


---

## 1 answers

### Answer by username_1 on 2020-07-08. Score: 2 | Accepted answer

The curves filter converts the input to RGB coding but most video players require a specific YUV scheme.
So use,
ffmpeg -i input.mp4 -vf curves=vintage,format=yuv420p -c:a copy ouput.mp4

> **Comments:**
> **username_0**: Its working. Now android default player can play the video after adding output format parameter. Btw what other formats are available and what impact they can have on outout?  
> **username_1**: There are dozens of other formats but `yuv420p` is the only widely supported format.  

---

