Background, I often download (good) audio + (bad) video from YouTube, rename the audio to xyz.m4a, the video to xyt.m4v, and use a (in theory one-liner) FFmpeg script to mux both into one xyz.mp4. So far that always worked, i.e., MPC-HC, mplayer, mpv and SMplayer can play it, and ffprobe or MediaInfo can tell me, what it is.
Today I stumbled over a case, where only smplayer-portable-16.4.0.0-x64 fails to play the audio, with mplayer or mpv, but on a command line the same mplayer or mpv work. Wall of code (paths stripped):`
>ffmpeg.exe -hide_banner -err_detect aggressive -i "video.m4a" -i "video.m4v" -c copy "video.mp4"
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'video.m4a':
Metadata:
major_brand : dash
minor_version : 0
compatible_brands: iso6avc1mp41
creation_time : 2014-02-14 14:27:14
Duration: 00:04:19.33, start: 0.033367, bitrate: 174 kb/s
Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p, 640x360 [SAR 1:1 DAR 16:9], 5 kb/s, 29.97 fps, 29.97 tbr, 90k tbn, 59.94 tbc (default)
Metadata:
creation_time : 2014-02-14 14:27:14
handler_name : VideoHandler
Input #1, mov,mp4,m4a,3gp,3g2,mj2, from 'video.m4v':
Metadata:
major_brand : dash
minor_version : 0
compatible_brands: iso6mp41
creation_time : 2014-02-14 14:27:01
Duration: 00:04:19.41, start: 0.000000, bitrate: 127 kb/s
Stream #1:0(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 4 kb/s (default)
Metadata:
creation_time : 2014-02-14 14:27:01
handler_name : SoundHandler
Output #0, mp4, to 'video.mp4':
Metadata:
major_brand : dash
minor_version : 0
compatible_brands: iso6avc1mp41
encoder : Lavf57.25.100
Stream #0:0(und): Video: h264 ([33][0][0][0] / 0x0021), yuv420p, 640x360 [SAR 1:1 DAR 16:9], q=2
-31, 5 kb/s, 29.97 fps, 29.97 tbr, 90k tbn, 90k tbc (default)
Metadata:
creation_time : 2014-02-14 14:27:14
handler_name : VideoHandler
Stream #0:1(und): Audio: aac (LC) ([64][0][0][0] / 0x0040), 44100 Hz, stereo, 4 kb/s (default)
Metadata:
creation_time : 2014-02-14 14:27:01
handler_name : SoundHandler
Stream mapping:
Stream #0:0 -> #0:0 (copy)
Stream #1:0 -> #0:1 (copy)
Press [q] to stop, [?] for help
frame= 7773 fps=0.0 q=-1.0 Lsize= 9641kB time=00:04:19.41 bitrate=304.5kbits/s speed= 559x
video:5426kB audio:3977kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 2.53090
5%
>ffprobe.exe -hide_banner -err_detect aggressive -v warning -show_entries format=format_name,duration,tags:error:stream=codec_type,codec_name,duration,sample_fmt,sample_rate,channels,channel_layout,pix_fmt,width,height,bit_rate,r_frame_rate,sample_aspect_ratio,display_aspect_ratio -of csv=p=0:svr=? -unit -sexagesimal -strict experimental -probesize 2MiB "video.mp4"
h264,video,640,360,1:1,16:9,yuv420p,30000/1001,0:04:19.359100,171397 bit/s
aac,audio,fltp,44100 Hz,2,stereo,0/0,0:04:19.413333,125588 bit/s
"mov,mp4,m4a,3gp,3g2,mj2",0:04:19.414000`
Can you send the mplayer log (options -> view logs) after trying to play that video?