如何使用Cloudinary API从上传的视频中检索缩略图?

2020年8月7日 10点热度 0条评论

我一直很难从Cloudinary上托管的视频中检索缩略图。如果我在浏览器中输入视频的网址,则视频已成功检索并显示在屏幕上。我想使用此网址从视频中获取缩略图。我尝试使用Cloudinary api来完成此任务。根据文档,您所需要做的就是将扩展名从.mp4更改为.jpg:

https://cloudinary.com/documentation/video_manipulation_and_delivery#generating_video_thumbnails

但是,当我这样做时,我收到一个带有x-cld-error标头的404错误,提示“找不到资源”。这是意外的,因为视频确实存在,并且Cloudinary自己的网站声称更改文件扩展名会将媒体转换为缩略图或相关的媒体类型。

我正在尝试使用Cloudinary的Java API作为Android应用程序的一部分来检索这些缩略图。我编写的用于获取缩略图网址的Java代码如下:

String videoPath = replaceExtension(strings[0], ".jpg");
Map<String, String> config = new HashMap<String, String>();
config.put("cloud_name", "<my_cloud_name>");
Cloudinary cloudinary = new Cloudinary(config);
cloudinary.url().resourceType("video").imageTag(videoPath);

任何帮助是极大的赞赏!

解决方案如下:

您用于生成视频URL的代码看起来正确,但不会提供缩略图。media_lib_thumb是为每个上载的视频/图像生成的默认缩略图。

String thumbnail=cloudinary.url().resourceType("video").transformation(new Transformation().named("media_lib_thumb")).imageTag("dog.jpg");

也许您可以尝试打印视频路径,并检查您的帐户中实际存在的public_id。