I'm trying to upload an app preview video to my itunesconnect account, but i'm receiving the following error...
"This video has audio that is not two-channel, no-surround stereo"
As far as I can tell, there is not specific documentation discussing how to deal with this is issue, so any extra insight on this would be very helpful.
In my case I had created the video in iMovie and (intentionally) did not include any audio. To resolve the issue, I imported a silent audio track, added it to the timeline, decreased its volume to 0% just to be sure, then I shared the App Preview again. Uploading this file worked just fine. Seems the videos have to have audio included.
I have use this tool making the video https://handbrake.fr/ and uploaded the video in iTune . Work perfectly.
Related
one of the user of the app I work for has an issue, all the video she upload doesn't work in an HTML5 video player, except on Edge and Safari for iOS (and if it works there I assume it could work in other browsers)
The video can be played in our react-native app or after being downloaded, but not directly using the S3 or cloudfront link
Since the vieos from the other users work, I'm assuming it's related to encryption and S3 specifications, does anyone have met this problem and found a solution ?
EDIT: forgot to put a sample link
https://video-reetags.s3.eu-west-3.amazonaws.com/compressed/aed0a512a419334fe5d0c0c6fb4094a21610642052.mp4
Since the videos from the other users are working fine, I'm assuming it's related to encryption and/or S3 specifications...
No, the problem is not encryption or S3 server issues.
Your MP4 container has video in HEVC format (aka H.265), which is not supported in Chrome or Firefox. You should still be able to hear the sound part since AAC audio is supported.
Playing the video is possible with React-Native and other (native) video players because they rely on the O.S running the player App to decode video. If a browser brand didn't buy a license for HEVC then that browser cannot play it.
Solution:
Re-encode such videos to MP4 containing H.264 with AAC audio (...not H.265 with AAC).
Re-encoding takes time but it's the only way for now. Either the user does it before any uploading, or your own app accepts any file and re-encodes the "not supported" ones on server-side (eg: using FFmpeg or GStreamer tool).
Recently I have noticed that the video elements on my site no longer autoplay on iOS Safari or desktop Safari.
The current code looks something like this:
<video playsinline autoplay muted loop poster="/path/to/poster.jpg>">
<source src="/path/to/video.mp4" type="video/mp4">
</video>
From my understanding, this is enough to abide by Webkit's new video policies for iOS and MacOS to allow for a video to autoplay.
I have searched for similar questions and not come across a solution. In this question it seems like the source tag itself could be the problem.
This thread suggests that iOS blocks videos from autoplaying on low power mode as well. But I've determined this isn't causing my issue.
Has anyone come across this issue themselves? Do you have a solution? Can someone point me in the direction of some Safari change logs where this breaking change was introduced?
Details
iOS 11.4
MacOS Safari Version 11.1 (13605.1.33.1.2)
EDIT
The video isn't being loaded correctly, when I check the Network panel in Safari dev tools the MP4 shows up under 'Other' with the error "An error occurred trying to load the resource".
If I try to play the video directly in Safari (eg: go to https://my-website.com/path/to/video.mp4) I get the error Failed to load resource: Plug-in handled load
I think it's because my video is a file blob, and Safari expects videos to be from streaming servers (as mentioned in this question)
EDIT 2
Might be something to do with how Safari is introducing the ability to use videos in img tags? See this and this
On my homepage there is a video file. While single user click on site(www.rollcall.co.in) that video running very well. But When Multiple user come at my site and that time video streaming getting very slow. I dont know how to resolve this issue.
I am building an app similar to instagram and I was wondering hoe instagram is able to upload such high quality images and videos. I tried uploading a 1920x1080 res video in my ios app, to Amazon s3 but the video was a few MB so it took a significant amount of time to ipload and retrieve. How can I cut down that time in objective c? How does instagram do it?
Put the image that you are uploading in the cache the same as if you had downloaded it. No need to download it if you already have it. You can display the image at the same time you start uploading it.
You can run Charles Proxy to see what is happening, there is a method to proxy your iPhone through your Mac. See Using Charles from an IPhone.
I am playing a video in my app, the video is a HLS streaming which i am fetching from my remote server. And i need a functionaltiy to take the screenshot of currently playing video but i am not able to do the same, i checked the documentation apple is saying you can take the screenshot if you are playing a video if you are playing a video from LOCAL URL or LOCAL FILE and you can not take a screenshot if you are playing a video from remote stream.
I am kind of stuck on this issue, i tried several methods discussed on stack overflow and other sites but nothing worked.
Please help,
Thanks