Search code examples
androidfilterffmpegeffect

Video not playing after ffmpeg vintage effect is applied


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 video player and Exoplayer as well. 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


Solution

  • I have found the answer. The curves filter converts the input to RGB coding but most video players require a specific YUV scheme. So I added yuv420p as output format.

    ffmpeg -i input.mp4 -vf curves=vintage,format=yuv420p -c:a copy ouput.mp4