我的 Android 手机能够拍摄某种“动画” JPEG 图片,因为我无法正确使用该功能。
现在我已通过电缆将图片传输到桌面以节省空间,我怎样才能看到动画呢?
它们被命名为“MVIMG”并带有时间戳。如果我使用普通的 Google Photo 应用程序打开它们,它们会以动画形式循环播放。
Windows 中有类似的应用吗?我试过微软的 Stock Photos 应用,但它们仍然如此。在我的手机上,它们移动
答案1
所以显然这是一种由 JPEG 图像和 MP4 视频组成的自定义文件格式。
我发现这个 GitHub 存储库包含用于提取文件视频部分的 Bash 脚本。
由于(Apache-2.0 许可的)脚本非常简短且易于理解,因此我将在此引用它:
#!/bin/bash function extract { local file=$1 local newFile=${file/[.]jpg/.mp4} if [[ -f "$newFile" ]]; then echo "File $newFile exists, so ignoring $file" else # find the offset of the string 'ftypmp42' in the file local lines=( $(grep --only-matching --byte-offset --binary --text ftypmp42 $file| cut -f 1 -d:) ) # check that it was only found once in the file.. if not, well script probably needs improvement if (( ${#lines[@]} == 1 )) ; then # the mp4 begins 3 byte before the string 'ftypmp42' local offset=$(( ${lines[0]} - 3)) # extract everything beginning at offset to another file tail -c +$offset $file > $newFile else echo "Not processing $file because the string 'ftypmp42' did not occur exactly once in file" fi fi } for f in "$@"; do if [[ "$f" == MVIMG*jpg ]]; then extract $f else echo "Ignoring $f because its file name does not match MVIMG*jpg pattern" fi done
要运行它,您需要和bash
,它们几乎可以在任何 Linux 发行版上使用。由于您使用的是 Windows 10,因此您可以使用 WSL 和grep
tail
Debian。