[FFmpeg-user] Problem with videos not playing in mobile browser

Dr Mark A. Garlick magarlick2 at gmail.com
Tue Jun 28 16:44:32 EEST 2022


Dear all

I am new to this forum.

I have noticed that some of my videos, encoded with ffmpeg and uploaded 
to my websites, do not play on mobile web browsers, but they work 
perfectly well on desktop browsers on my Linux machine. I get either a 
message saying 'file is corrupted' or no message at all (just a blank 
video) depending on the browser. I've tried Brave, Firefox and Chrome, 
on an iPhone, a Samsung tablet and a Samsung Galaxy s10 plus. The 'bad' 
videos consistently fail to play on mobile devices.

I've run an ffprobe on two .mp4 files: one which works on a mobile and 
desktop browser (good.mp4) and one which will only play on a desktop 
browser (bad.mp4. These are partial outputs (the rest of the output for 
the two files seems identical):

Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'bad.mp4':
   Metadata:
     major_brand     : isom
     minor_version   : 512
     compatible_brands: isomiso2avc1mp41
     encoder         : Lavf58.76.100
   Duration: 00:00:30.02, start: 0.000000, bitrate: 1582 kb/s
   Stream #0:0(und): Video: h264 (High 4:2:2) (avc1 / 0x31637661), 
yuv422p10le(tv, bt709), 1920x1080 [SAR 1:1 DAR 16:9], 1574 kb/s, 24 fps, 
24 tbr, 12288 tbn, 48 tbc (default)
     Metadata:
       handler_name    : VideoHandler
       vendor_id       : [0][0][0][0]
   Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, 
stereo, fltp, 2 kb/s (default)
     Metadata:
       handler_name    : SoundHandler
       vendor_id       : [0][0][0][0]

Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'good.mp4':
   Metadata:
     major_brand     : isom
     minor_version   : 512
     compatible_brands: isomiso2avc1mp41
     encoder         : Lavf58.76.100
   Duration: 00:00:30.00, start: 0.000000, bitrate: 4824 kb/s
   Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, 
bt470bg/unknown/unknown), 1920x1080 [SAR 1:1 DAR 16:9], 4821 kb/s, 24 
fps, 24 tbr, 12288 tbn, 48 tbc (default)
     Metadata:
       handler_name    : VideoHandler
       vendor_id       : [0][0][0][0]

The command I used to encode them both (via a bash scrip on Linux) is

for f in *.mp4
     do ffmpeg -i "$f"  -vf "drawtext=text='© Mark A. Garlick / 
markgarlick.com':x=w-tw-10:y=10: 
fontfile=/usr/share/fonts/truetype/msttcorefonts/Trebuchet_MS.ttf:fontsize=25:fontcolor=white" 
-write_tmcd false -s 1280x720 -preset medium -crf 24 "full/${f%.*}.mp4"
done

Can anybody offer any insight?

My thanks.

-- 
Dr Mark A. Garlick 	*Dr Mark A. Garlick 
<http://www.markgarlick.com/about.html> * 	[Follow me on Facebook!] 
<https://www.facebook.com/markgarlickcom/> [Follow me on Twitter!] 
<https://twitter.com/SpaceBoffin> [Follow me on LinkedIn!] 
<https://www.linkedin.com/in/mark-a-garlick-2355a350/> [Subscribe on 
YouTube!] <https://www.youtube.com/user/magarlick> [Follow me on 
Instagram!] <https://www.instagram.com/spaceboffin>
Illustrator | Author | Animator
e: mag at markgarlick.com <mailto:mag at markgarlick.com>
t:+44 7952 830 945
w: markgarlick.com <https://www.markgarlick.com/>
w: space-art.co.uk <https://www.space-art.co.uk/>


More information about the ffmpeg-user mailing list