How To Convert Google Motion Photos To Video And Copy Them To PC

I take a lot of photos on my Pixel 3, and I've found that Motion Photos are great for capturing the perfect moment when a subject is moving, even a little. Sometimes, I even find that I'd like to keep the very short video. The Motion Photo format has not yet been standardized across platforms, and I don't want to get locked into Google Photos, so I'd like a way to export the videos in a standard video format. For a single video, this is easy: on your Android device, just browse to the image in your camera app and choose the export option from the three-dots menu in the upper-right corner. You can currently export the video as a GIF or an MP4 video.

However, if you'd like to export a bunch of Motion Photos to video, then copy them to a PC, there's currently no good way to do this. The easiest way I've found is to browse to a photo on the Google Photos website, let the video play in your browser, then right-click and save the .mp4 file. If the file isn't on Google Photos, you can also export the videos on your device and copy the .mp4 files to your PC (detailed below). There's also at least one custom utility out there that can be used to extract the video from within the Motion Photo JPEG files, but I haven't tested it.

For more info on working with Motion Photos, this is a nice article: How to Share Motion Photos from Google Pixel.

Alternative Approach (No Google Photos Website Needed): Export-To-Video On Device, Then Copy To PC

Another approach is to export to video one-by-one on your device, then do a bulk copy of the video files.

To copy exported Motion Photo videos to your PC, the obvious choice would be to transfer files via USB -- just connect your device to your PC with a USB cable, choose file transfer mode on the device, and copy what you want. In practice, however, I've found this painfully slow. All the images on my camera are in a single DCIM/Camera directory, and getting a listing of them in Windows File Explorer is slow. I prefer to use adb.

This command lists the exported files, trims the unwanted carriage return, and saves the list to a script:
adb shell "ls /storage/emulated/0/DCIM/Camera/*exported*" | tr -d '\r' | awk '{print "adb pull " $0}' > script.bat

I can then review the script, remove lines for any files I don't want to copy, then run the script in Windows cmd, where I've found adb pull tends to work more reliably.

If you have a Unix environment on your Windows PC where adb pull doesn't give you trouble, you can just do this, and skip the extra step of generating a script file and then running it:
adb shell "ls /storage/emulated/0/DCIM/Camera/*exported*" | tr -d '\r' | xargs adb pull


comments powered by Disqus