 <p>As I spend some time with a similar issue, I feel its worth sharing:</p> <ol> <li>If you want to display video fullscreen: dont use html tag as there is a media plugin for that. If you dont need to play offline: the video src pointing to a web server will work just fine.</li> <li>If you need to play offline and the video is part of your app package, have a look to <a href="https://github.com/jaeger25/Html5Video" rel="nofollow">https://github.com/jaeger25/Html5Video</a> (it help to automatically copy the video files in a public location)</li> <li>If you need to play offline videos dynamically downloaded: (my case) <ul> <li>Use fileTransfer plugin</li> <li>Save file in cordova.file.externalDataDirectory as its public</li> <li>In some case you may need to force the file to be public</li> <li>you can do that by adding 'file.setReadable(true, false);' to FileTransfer.java line 820</li> </ul></li> </ol> <p>Cheers</p>