I have upload and play videos on both Android and iPhone devices but video uploaded from iPhone is not working on Android.it's not play in android video player. It's give me error message
"sorry this video can not be played"
video is in mp4 format.
As we know, iPhone videos' default format is MOV, which cannot be supported by Android. If you want to play iPhone videos on Android without extra apps or codecs installed, you need to convert MOV to common formats such as MP4, AVI, MKV, etc.
The Send Anywhere app makes it easy to share videos (and other files) from iPhone to Android. Just install the free app, allow it to access your media library, and then find the video you want to send. Tap the circle to the left of the video to select it and then hit send.
Reasons for videos not playing on your Android phoneYour Android Operating System needs to be updated. Incomplete download of the video. Corrupt mobile SD Card. You might have downloaded on your device some unreliable software or app.
Download the SHAREit app on your Android (from the Google Play Store) and on your iPhone (from the Apple App Store). Ensure that both devices are connected to the same Wi-Fi network. Open the SHAREit app on both the Android and the iPhone. On the Android, tap the Send button and select the files you wish to send.
Yes, That's right.
It happens because the android support limited codecs in-built like mp3,mp4,mpeg.
While iphone support most of codecs.
What is the way to resolve this?
MP4 for video and MP3 for audio are widely accepted and work on both platforms.
So you need do some stuff at the server. Implement the ffmpeg library that will convert all the videos to MP4 and audio to MP3.
We are doing same mechanism to resolve this issue.
Find FFMPEG implementation for PHP Here and
Command to convert all videos to MP4 Here Hope this helps you.
Thanks.
If it is mp4, then you need to check what codecs are used. iPhone usually encodes everything in h264, however, there are different profiles of h264 and high profiles might not be supported on Android, because they are more complex for decoding.
Even apple says in their documentation:
H.264 Baseline Level 3.0, Baseline Level 3.1, Main Level 3.1, and High Profile Level 4.1.
iPad, iPhone 3G, and iPod touch (2nd generation and later) support H.264 Baseline 3.1. If your app runs on older versions of iPhone or iPod touch, however, you should use H.264 Baseline 3.0 for compatibility. If your content is intended solely for iPad, Apple TV, iPhone 4 and later, and Mac OS X computers, you should use Main Level 3.1.
Baseline profile should be played everywhere.
See the list here - http://en.wikipedia.org/wiki/H.264/MPEG-4_AVC#Profiles
So if you have control over encoding (if the video is recorded from your iOS application), then you can do it programmatically. I just googled and found a piece of code where the profile is set: http://forums.macrumors.com/archive/index.php/t-1512924.html
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With