Repository navigation
[image_picker] Extremely slow video selection with MOV format on iOS devices and Simulator #176355
Copy link
Copy link
Closed
flutter/packages
#10559Labels
P1High-priority issues at the top of the work listHigh-priority issues at the top of the work listc: performanceRelates to speed or footprint issues (see "perf:" labels)Relates to speed or footprint issues (see "perf:" labels)found in release: 3.36Found to occur in 3.36Found to occur in 3.36found in release: 3.37Found to occur in 3.37Found to occur in 3.37has reproducible stepsThe issue has been confirmed reproducible and is ready to work onThe issue has been confirmed reproducible and is ready to work onp: image_pickerThe Image Picker plugin.The Image Picker plugin.packageflutter/packages repository. See also p: labels.flutter/packages repository. See also p: labels.perf: speedPerformance issues related to (mostly rendering) speedPerformance issues related to (mostly rendering) speedplatform-iosiOS applications specificallyiOS applications specificallyr: fixedIssue is closed as already fixed in a newer versionIssue is closed as already fixed in a newer versionteam-iosOwned by iOS platform teamOwned by iOS platform teamtriaged-iosTriaged by iOS platform teamTriaged by iOS platform team
Description
Extremely slow video selection with MOV format on iOS devices and Simulator
Description
Video selection is extremely slow (10-30+ seconds) when picking MOV format videos on iOS (both physical devices and Simulator) using image_picker. The same videos load instantly with file_picker. This issue does not occur on Android devices.
Steps to Reproduce
- Use
image_pickerto pick a video from gallery on iOS (device or Simulator) - Select a video in MOV format (typically recorded with iPhone camera)
- Observe the loading time
Code sample:
import 'package:image_picker/image_picker.dart';
final ImagePicker picker = ImagePicker();
final XFile? video = await picker.pickVideo(
source: ImageSource.gallery,
);
// Takes 10-30+ seconds to return on iOS with MOV filesExpected results
- Video selection should complete within 1-2 seconds
- User should be able to select MOV format videos without noticeable delay
- Performance should be consistent across platforms
- The behavior should match
file_pickerpackage performance with the same MOV files
Actual results
- Video selection takes 10-30+ seconds when picking MOV format videos on iOS
- The app appears frozen/unresponsive during this time with no loading indicator
- iOS Simulator: Same delay issue (10-30+ seconds)
- Physical iOS devices: Same delay issue (10-30+ seconds)
- Android devices: Works fine, no delay
- Same MOV files with
file_picker: Loads instantly (under 1 second)
Code sample
import 'package:image_picker/image_picker.dart';
final ImagePicker picker = ImagePicker();
final XFile? video = await picker.pickVideo(
source: ImageSource.gallery,
);
// Takes 10-30+ seconds to return on iOS with MOV filesScreenshots or Video
Screenshots / Video demonstration
[Upload media here]
Logs
Logs
[Paste your logs here]Flutter Doctor output
Doctor output
[✓] Flutter (Channel stable, 3.32.5, on macOS 15.5 24F74 darwin-arm64, locale en-TR)
[✓] Android toolchain - develop for Android devices (Android SDK version 36.0.0)
[✓] Xcode - develop for iOS and macOS (Xcode 16.4)
[✓] Chrome - develop for the web
[✓] Android Studio (version 2025.1)
[✓] VS Code (version 1.104.2)
[✓] Connected device (3 available)
[✓] Network resources
• No issues found!Additional Information
- Package versions:
image_picker: 1.2.0image_picker_ios: 0.0.1
- Tested on:
- iPhone 16 Pro Max (Simulator) - iOS 18.5
- iPhone 15 Pro Max (Physical device) - iOS 26
Comparison with file_picker
The same MOV files can be selected instantly (< 1 second) using the file_picker package, suggesting this might be related to how image_picker processes or validates video files on iOS.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
P1High-priority issues at the top of the work listHigh-priority issues at the top of the work listc: performanceRelates to speed or footprint issues (see "perf:" labels)Relates to speed or footprint issues (see "perf:" labels)found in release: 3.36Found to occur in 3.36Found to occur in 3.36found in release: 3.37Found to occur in 3.37Found to occur in 3.37has reproducible stepsThe issue has been confirmed reproducible and is ready to work onThe issue has been confirmed reproducible and is ready to work onp: image_pickerThe Image Picker plugin.The Image Picker plugin.packageflutter/packages repository. See also p: labels.flutter/packages repository. See also p: labels.perf: speedPerformance issues related to (mostly rendering) speedPerformance issues related to (mostly rendering) speedplatform-iosiOS applications specificallyiOS applications specificallyr: fixedIssue is closed as already fixed in a newer versionIssue is closed as already fixed in a newer versionteam-iosOwned by iOS platform teamOwned by iOS platform teamtriaged-iosTriaged by iOS platform teamTriaged by iOS platform team
Activity
danagbemava-nc commentedon Oct 2, 2025
Hi @Harunn33, does this happen with every file regardless of the size of the video?
Also,
image_picker&image_picker_iosare you using?Harunn33 commentedon Oct 2, 2025
Hi @danagbemava-nc , Yes, it happens with MOV format regardless of the video size.
Versions:
image_picker: 1.2.0
image_picker_ios: 0.0.1
Tested on:
iPhone 16 Pro Max (Simulator) - iOS 18.5
iPhone 15 Pro Max (Physical device) - iOS 26
The issue occurs on both simulator and physical device.
danagbemava-nc commentedon Oct 3, 2025
Hi @Harunn33, kindly update your issue description. In your comment above you state that the issue is on physical devices and simulators but in the issue description, you state that it is only physical devices. It's not exactly clear which is correct
Harunn33 commentedon Oct 3, 2025
Hi @danagbemava-nc , thank you for feedback. I updated my issue description.
[-]Extremely slow video selection for MOV files on physical devices (10-30s delay)[/-][+]Extremely slow video selection with MOV format on iOS devices and Simulator[/+]danagbemava-nc commentedon Oct 6, 2025
Reproducible on the latest stable/master with the latest version of the plugins. I used the code sample below which allows picking an image with either file/image picker and the processing times for both were very different. I tested on an iPhone 16 Pro Max and the results were the same on that device too. File picker usually took a few seconds while image_picker took 10s sometimes 100s of seconds.
Simulator.Screen.Recording.-.iPhone.17.Pro.-.2025-10-06.at.08.18.15.mov
code sample
flutter doctor -v
12 remaining items
[-]Extremely slow video selection with MOV format on iOS devices and Simulator[/-][+][image_picker] Extremely slow video selection with MOV format on iOS devices and Simulator[/+]NavidFarahmandian commentedon Oct 17, 2025
mehmetemregokberk commentedon Oct 21, 2025
rokarnus commentedon Oct 29, 2025
I'm experiencing the same issue when picking longer high resolution GIFs on iOS. Have to wait 20-40s to get the returned path. Seem like videos and animated images are getting reencoded.
On Android this is almost an instant operation.
fix[image_picker_ios]: Prevent transcoding on video selection (flutte…
github-actions commentedon Dec 18, 2025
This thread has been automatically locked since there has not been any recent activity after it was closed. If you are still experiencing a similar issue, please open a new bug, including the output of
flutter doctor -vand a minimal reproduction of the issue.fix[image_picker_ios]: Prevent transcoding on video selection (flutte…
fix[image_picker_ios]: Prevent transcoding on video selection (flutte…