The ffmpeg command below does convert mp4 file from avi file successfully for chrome browser, but with browsers such as safari and IE(I have not tested with other browsers yet.) I can not see the video and I only can hear the audio which simply means that safari and IE browsers do not accept the conversion of video from avi file to mp4 file.
for i in /xxxxxx/xxxxxxx/xxxxxxx/*.avi; do ffmpeg -i "$i" -pix_fmt yuvj422p "/xxxxxx/xxxxxxx/xxxxxxx/$(basename "$i" .avi).mp4"; done
By the way, when I tried from flv file to mp4 with the same ffmpeg command both video and audio were successfully converted for chrome, safari, and IE.(I have not tested yet with others.)
The avi file is the one I shot with my camera, and flv file is the one I downloaded from web.
Can anyone please help me out?
The log file below is for the ffmpeg command from avi to mp4.(avi file is the one I shot with my camera)
[root@server-xxxxxxx-x ~]# for i in /xxxxxx/xxxxxxx/xxxxxxx/09190100_5ba1211c6905e.avi; do ffmpeg -i "$i" -pix_fmt yuvj422p "/xxxxxx/xxxxxxx/xxxxxxx/$(basename "$i" .avi).mp4"; done
ffmpeg version N-46948-g776cdd1dc8-static https://johnvansickle.com/ffmpeg/ Copyright (c) 2000-2018 the FFmpeg developers
built with gcc 6.3.0 (Debian 6.3.0-18+deb9u1) 20170516
configuration: --enable-gpl --enable-version3 --enable-static --disable-debug -- disable-ffplay --disable-indev=sndio --disable-outdev=sndio --cc=gcc-6 --enable-fontconfig --enable-frei0r --enable-gnutls --enable-gray --enable-libaom --enable-libfribidi --enable-libass --enable-libvmaf --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-librubberband --enable-libsoxr --enable-libspeex --enable-libvorbis --enable-libopus --enable-libtheora --enable-libvidstab --enable-libvo-amrwbenc --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 -- enable-libxml2 --enable-libxvid --enable-libzimg
libavutil 56. 19.101 / 56. 19.101
libavcodec 58. 30.100 / 58. 30.100
libavformat 58. 18.100 / 58. 18.100
libavdevice 58. 4.103 / 58. 4.103
libavfilter 7. 31.100 / 7. 31.100
libswscale 5. 2.100 / 5. 2.100
libswresample 3. 2.100 / 3. 2.100
libpostproc 55. 2.100 / 55. 2.100
Guessed Channel Layout for Input Stream #0.1 : mono
Input #0, avi, from '/xxxxxx/xxxxxxx/xxxxxxx/09190100_5ba1211c6905e.avi':
Metadata:
creation_time : 2018-09-14 00:18:07
encoder : CanonMVI06
Duration: 00:00:04.20, start: 0.000000, bitrate: 12999 kb/s
Stream #0:0: Video: mjpeg (MJPG / 0x47504A4D), yuvj422p(pc, bt470bg/unknown/unknown), 640x480, 12384 kb/s, 30 fps, 30 tbr, 30 tbn, 30 tbc
Stream #0:1: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 44100 Hz, mono, s16, 705 kb/s
Stream mapping:
Stream #0:0 -> #0:0 (mjpeg (native) -> h264 (libx264))
Stream #0:1 -> #0:1 (pcm_s16le (native) -> aac (native))
Press [q] to stop, [?] for help
[libx264 @ 0x66f7c40] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2
[libx264 @ 0x66f7c40] profile High 4:2:2, level 3.0, 4:2:2, 8-bit
[libx264 @ 0x66f7c40] 264 - core 157 r2932 303c484 - H.264/MPEG-4 AVC codec - Copyleft 2003-2018 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=3 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
Output #0, mp4, to '/xxxxxx/xxxxxxx/xxxxxxx/09190100_5ba1211c6905e.mp4':
Metadata:
encoder : Lavf58.18.100
Stream #0:0: Video: h264 (libx264) (avc1 / 0x31637661), yuvj422p(pc), 640x480, q=-1- -1, 30 fps, 1000k tbn, 30 tbc
Metadata:
encoder : Lavc58.30.100 libx264
Side data:
cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: -1
Stream #0:1: Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, mono, fltp, 69 kb/s
Metadata:
encoder : Lavc58.30.100 aac
frame= 126 fps= 42 q=-1.0 Lsize= 243kB time=00:00:04.20 bitrate= 474.3kbits/s speed= 1.4x
video:203kB audio:35kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 2.440238%
[libx264 @ 0x66f7c40] frame I:1 Avg QP:24.22 size: 16730
[libx264 @ 0x66f7c40] frame P:32 Avg QP:24.48 size: 4020
[libx264 @ 0x66f7c40] frame B:93 Avg QP:25.83 size: 662
[libx264 @ 0x66f7c40] consecutive B-frames: 1.6% 0.0% 0.0% 98.4%
[libx264 @ 0x66f7c40] mb I I16..4: 11.2% 86.4% 2.4%
[libx264 @ 0x66f7c40] mb P I16..4: 1.0% 0.8% 0.0% P16..4: 54.9% 7.1% 6.3% 0.0% 0.0% skip:29.8%
[libx264 @ 0x66f7c40] mb B I16..4: 0.1% 0.1% 0.0% B16..8: 26.0% 0.2% 0.0% direct: 1.1% skip:72.5% L0:47.1% L1:52.0% BI: 1.0%
[libx264 @ 0x66f7c40] 8x8 transform intra:68.3% inter:88.6%
[libx264 @ 0x66f7c40] coded y,uvDC,uvAC intra: 51.1% 78.4% 10.4% inter: 4.8% 24.4% 0.1%
[libx264 @ 0x66f7c40] i16 v,h,dc,p: 17% 26% 5% 52%
[libx264 @ 0x66f7c40] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 21% 32% 22% 3% 4% 2% 6% 5% 5%
[libx264 @ 0x66f7c40] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 31% 25% 12% 1% 12% 3% 10% 4% 2%
[libx264 @ 0x66f7c40] i8c dc,h,v,p: 48% 23% 25% 4%
[libx264 @ 0x66f7c40] Weighted P-Frames: Y:3.1% UV:3.1%
[libx264 @ 0x66f7c40] ref P L0: 45.3% 9.1% 32.9% 12.4% 0.3%
[libx264 @ 0x66f7c40] ref B L0: 74.7% 20.7% 4.7%
[libx264 @ 0x66f7c40] ref B L1: 88.4% 11.6%
[libx264 @ 0x66f7c40] kb/s:394.12
Change -pix_fmt yuvj422p
to -pix_fmt yuv420p
which is the only widely supported pixel format.
Unrelated to the issue in the question, but also add -movflags +faststart
as it appears you are providing the videos as progressive download.