put inside $observe your directive:
attrs.$observe('src', function(src) {
$(element).mediaelementplayer();
});
so you will init your plugin each time after SRC is changed
second issue has different solutions, for example using scope/service:
scope.mediaObject = $(element).mediaelementplayer();
UPD:
I've read docs for MediaElementPlayer, so should be pretty simple:
attrs.$observe('src', function(src) {
$(element).mediaelementplayer().setSrc(src);
});