Ok so I want to start this off with amazing props to the OP andreluizpd. Amazing write up on how to actually do this, now I'm throwing this in for those who may get confused or stuck because i had some minor difficulties. This is gonna detail the few clarifying steps I had to mess around with a bit to get working.
I had an issue where once I moved the file over and named it one of the slots, that it wouldn't work and or read improperly causing it to default over to the generic BMW Connected animation. Once i dug a bit further i figured out why. The file names in that directory you need to mess with are laid out as such.
eva_animation_0x0
X_0x0_0x00
Y_0x00.avi
Now what i came to find out is the
X is actually the slot ID (what a shocker) that correlates with the coding side. Meaning ID 01 is the M startup, 05 is the Rolls Royce startup, 09 is the new M startup and so on. This means you can actually slot in a custom animation and switch on and off of it with coding which i find cool. Now the
Y on the other hand actually relates to your display and resolution, it ranges from 1-3. 1 you can ignore as its for the old CIC display for vehicles with no navigation, 2 is for displays with a resolution of 1280x480, and 3 is for resolutions of 1440x540. When you rename the file in the directory (or if you want to rename it before copying it to the headunit) make sure this resolution flag is set appropriately. Having both of these ensures that regardless if you have APIX1 or APIX2 this will run on your display.
So with that said my next issue was formatting, I used FFMPEG and had issues with getting the metadata correct for the embedded decoder on the headunit to read correctly so had to fine tune the prompt a bit but below are the two i used for the 1440x540 and 1280x480 resolutions respectively
1440x540
Code:
ffmpeg -y -i *YOUR FILE NAME HERE* -an -vf "scale=1440:540,setsar=1/1" -r 25 -vsync cfr -c:v libx264 -profile:v baseline -level 3.1 -refs 1 -bf 0 -pix_fmt yuv420p -b:v 1994k -minrate 1994k -maxrate 1994k -bufsize 3988k -x264-params "nal-hrd=cbr:vbv-maxrate=1994:vbv-bufsize=3988:force-cfr=1" -aspect 8:3 -vtag H264 -bsf:v "h264_metadata=colour_primaries=2:transfer_characteristics=2:matrix_coefficients=2" eva_animation_1440x540_match_oem.avi
1280x480
Code:
ffmpeg -y -i *YOUR FILE NAME HERE* -an -vf "scale=1280:480,setsar=1/1" -r 25 -vsync cfr -c:v libx264 -profile:v baseline -level 3.1 -refs 1 -bf 0 -pix_fmt yuv420p -b:v 1120k -minrate 1120k -maxrate 1120k -bufsize 2240k -x264-params "nal-hrd=cbr:vbv-maxrate=1120:vbv-bufsize=2240:force-cfr=1" -aspect 8:3 -vtag H264 -bsf:v "h264_metadata=colour_primaries=2:transfer_characteristics=2:matrix_coefficients=2" eva_animation_1280x480_match_oem.avi
With these settings applied to the videos in FFMPEG it worked like a charm and took first try after i got these issues figured out. Hopefully this helps some of yall out if yall are stuck on it too. Honestly once you understand what is going on here (or just copy and paste) it actually becomes so painless following andreluizpd write up on this, so once again, big thanks to andreluizpd for even taking the time to write up a how to on this.