Git Product home page Git Product logo

Comments (35)

d-mendoza avatar d-mendoza commented on May 26, 2024

Hi @paschaldev,

In general, to help debug Cloudinary URLs, the response includes a X-Cld-Error header.
Looking at the URL you've shared, I see it generates the following error -

X-Cld-Error: Video is too large to process synchronously, please use an eager transformation with eager_async=true to resolve

There is an online (synchronous) video transformation limit(40MB for free plans and 100 MB for paid ones). This means that for videos larger than the limit you'll need to perform the video transformations eagerly.

Eager transformations can be set upon upload or by updating your current resources using the explicit API.

Let me know if this works.

from cloudinary_php.

paschaldev avatar paschaldev commented on May 26, 2024

Alright thank you very much.

from cloudinary_php.

d-mendoza avatar d-mendoza commented on May 26, 2024

@paschaldev

Did generating the video eagerly work for you?
If so, let me know and I will close this ticket.

from cloudinary_php.

paschaldev avatar paschaldev commented on May 26, 2024

Did not try it

from cloudinary_php.

kunall17 avatar kunall17 commented on May 26, 2024

@d-mendoza We are facing this issue, where I want to use eager_async: true, and we are passing this value as well. But the cloudinary sdk throws after 100% upload

X-Cld-Error: Video is too large to process synchronously, please use an eager transformation with eager_async=true to resolve

        String tag = MessageFormat.format("android:{0}", BuildConfig.VERSION_NAME);
        Map<String, Object> options = new HashMap<>();
        options.put("user_id", datastore.id().get(-1));
        options.put("resource_type", lookPostData.getType().equals("photo") ? "image" : lookPostData.getType());
        options.put("upload_preset", lookPostData.getType().equals("video") ? "videos" : "posts");
        if (lookPostData.getType().equals("video")) {
            Log.d("SEEHERE", "intitiateCloudinaryUpload:11 ");
            options.put("eager_async", true);
        }
        options.put("tags", tag);

        String requestid = MediaManager
                .get()
                .upload(imageAbsolutePath)
                .options(options)
                .policy(MediaManager.get().getGlobalUploadPolicy().newBuilder().maxRetries(1).build())
                .startNow(marsplayApplication);
        datastore.postImageRequestId().put(requestid);

This code is for android (java), let me know if we are doing anything wrong here?

from cloudinary_php.

aleksandar-cloudinary avatar aleksandar-cloudinary commented on May 26, 2024

@kunall17 Hi. May I please ask you to provide your cloud name so that I can take a look? One thing to check is your upload preset to make sure the "Eager Async" flag is ticked on there. You can find this in the "Upload Manipulations" tab when editing an upload preset.

from cloudinary_php.

dumkanki avatar dumkanki commented on May 26, 2024

Hello, I've uploaded a video over cloudinary but the transformation functionality is not working with that video. Can anyone help me to figure out what is wrong with the video.

https://res.cloudinary.com/dmdrjuy6z/video/upload/ryhlxlkqmjv1xcqlbish.mp4

https://res.cloudinary.com/dmdrjuy6z/video/upload/c_crop,h_200,w_300/ryhlxlkqmjv1xcqlbish.mp4

Please help!!

from cloudinary_php.

aleksandar-cloudinary avatar aleksandar-cloudinary commented on May 26, 2024

Hi @dumkanki - In general, in order to help debug Cloudinary URLs, the response for failed requests includes a header called X-Cld-Error which provides more information on why the request was not successful. If you inspect the X-Cld-Error response for the example URL you'll see the following:

X-Cld-Error: Video is too large to process synchronously, please use an eager transformation with eager_async=true to resolve

Cloudinary sets an 'online' video transformation limit of 40MB for Free plans and 100 MB for paid plans. This is not a limit on the size of videos you can upload into your account but is the maximum size of a video which can be transformed synchronously/on-the-fly. For videos larger than this limit these need to be generated Eagerly/asynchronously. Your example video is 58MB so it hits that limit.

Eager transformations can be requested for new videos in the upload API call or configured in an upload preset, including an upload preset that is used when you upload to Media Library.
For existing videos, you can request eager transformations via the explicit API method.

Once the video is transformed eagerly/asynchronously it will be available via the URL as normal.

from cloudinary_php.

dumkanki avatar dumkanki commented on May 26, 2024

Thanks @aleksandar-cloudinary, you help me a lot to understand.

from cloudinary_php.

manishatiwari1696 avatar manishatiwari1696 commented on May 26, 2024

Is there is any way to cut some portion from the middle of the video and play rest of remaining video using cloudinary. Please let me know how to do that.

from cloudinary_php.

francistagbo avatar francistagbo commented on May 26, 2024

Hi @manishatiwari1696, in trimming the videos, you can use the parameters start_offset (so in URLS), end_offset (eo in URLs), and duration (du in URLs). For your requirement, you can use the start_offset wherein it will specify the start of the video.

Example of trimming the video to the section that starts at 6 seconds :
https://res.cloudinary.com/demo/video/upload/so_6/dog.mp4

Please visit the documentation for more information:
https://cloudinary.com/documentation/video_manipulation_and_delivery#trimming_videos

Let me know if this helps you

from cloudinary_php.

manishatiwari1696 avatar manishatiwari1696 commented on May 26, 2024

Hello @francistagbo I need to remove trim part of the video and play rest of the video. I mean if my video is of 3 min and I trim video with start_offset = 1:00 and end_offset = 2:00 then I need video from 0 to 1:00 and from 2:00 to 3:00 to be played. I want to skip the trim portion of the video. Is there is any way to do it. Please let me know.

from cloudinary_php.

molanip avatar molanip commented on May 26, 2024

Hi @manishatiwari1696 You can refer to https://cloudinary.com/documentation/video_manipulation_and_delivery#concatenating_videos
As an example, I am taking the first 2 sec and last 2 sec of this video using so_0,eo_2 for the first part and so_11,du_2 for the last part (starting at 11 sec and duration is 2 sec from 11 sec):
https://res.cloudinary.com/demo/video/upload/so_0,eo_2/l_video:dog,so_11,du_2,fl_splice/fl_layer_apply/dog.mp4

Let me know if this helps.
Mo

from cloudinary_php.

manishatiwari1696 avatar manishatiwari1696 commented on May 26, 2024

Thanks @molanip,
Means this is the only way. Anyways, one more question, is there any way to get only src of video in node js while transformation of video, as for now I'm getting whole video tag but without "controls". I want either "controls" with the video tag or "src" only. Is there any way to do one of them.

from cloudinary_php.

molanip avatar molanip commented on May 26, 2024

Hi manishatiwari1696,
You can use the video function in node.js. Please refer to the example:
https://cloudinary.com/documentation/node_video_manipulation#video_transformation_examples
If you specify the "control" parameter you get the src and control; if you do not; then you get just the src.
Regards,
Mo

from cloudinary_php.

manishatiwari1696 avatar manishatiwari1696 commented on May 26, 2024

Thanks @molanip and sorry for delay. One more question, is there any way that we can convert or upload youtube video using cloudinary. Actually I've to create gif from youtube video.

from cloudinary_php.

molanip avatar molanip commented on May 26, 2024

Hi manishatiwari1696 ,
No problem. Unfortunately since you cannot download YouTube, currently you cannot create gif from it.
You can generate gif from video you download to your Cloudinary account. And you can convert YouTube video to thumbnail.
https://cloudinary.com/documentation/videos_to_animated_images#delivering_animated_gifs
https://cloudinary.com/blog/generating_video_thumbnails_from_youtube_and_other_video_sites
Best regards,
Mo

from cloudinary_php.

manishatiwari1696 avatar manishatiwari1696 commented on May 26, 2024

Thanks @molanip for helping me again. I'm here with my next problem. I need to find out the time duration of the video created. Is there is any way I can do that as I have to restrict user that after merging the video, that video can't be long enough then 5 mins. And I also want to know is there is anyway to get only Link of the video as now I'm getting whole video tag.

from cloudinary_php.

molanip avatar molanip commented on May 26, 2024

Hi manishatiwari1696,
You can get the duration of a video by using the duration function from our Video Player API: https://cloudinary.com/documentation/video_player_api_reference#duration
If you use the resource function of our Admin API https://cloudinary.com/documentation/admin_api#resources
the response you get back will contain the "url" field.
Hope this helps,
Best regards,
Mo

from cloudinary_php.

manishatiwari1696 avatar manishatiwari1696 commented on May 26, 2024

Hi @molanip thanks for the reply. But I guess I'm missing something. I don't know how to define "vplayer" while using "vplayer.duration()" in node. Do you have any reference from where I can get that how to use it with nodejs.

from cloudinary_php.

molanip avatar molanip commented on May 26, 2024

Hi manishatiwari1696,
You can check out the cloudinary video player documentation on github with how to instantiate and some code examples: https://github.com/Cloudinary/cloudinary-video-player
var cld = cloudinary.Cloudinary.new({ cloud_name: "demo"});
var vp = cld.videoPlayer('example-player')
If you need further assistance on anything specifics, please file a ticket on your cloudinary account.
Hope it helps.
Best regards,
Mo

from cloudinary_php.

manishatiwari1696 avatar manishatiwari1696 commented on May 26, 2024

Thanks @molanip for reply. I've tried this but no help. Is there is any other way to use this with node js. And I also want to know that is there any way that we can change the location of the text with video. I mean I want that text should be at top when video start and at some part it should go at the bottom of the video. Is that possible?

from cloudinary_php.

molanip avatar molanip commented on May 26, 2024

Hi manishatiwari1696,
Yes you can use node js to implement the video player. Please check out:
https://cloudinary.com/documentation/video_manipulation_and_delivery
For text overlay on video you can change the location of the text: please check out: https://cloudinary.com/documentation/video_manipulation_and_delivery#adding_text_captions
Hope it helps,
Best regards,
Mo

from cloudinary_php.

manishatiwari1696 avatar manishatiwari1696 commented on May 26, 2024

Hello, thanks for all your help till now.

I need one more help, as what I'm doing is, I have to merge multiple video and each video have it's own transformation properties like it's offsets and texts. Now the thing is user can add as many video he want, so the array which i'm getting is dynamic array. So, my question is how to do merge dynamic number of video. Is there is any way to do that. Please help me out with this situation.

from cloudinary_php.

molanip avatar molanip commented on May 26, 2024

Hi manishatiwari1696,
Thanks for your question.
Please check out the details on how to combining videos: https://cloudinary.com/documentation/video_manipulation_and_delivery#concatenating_videos
You can use upload presets to gather the incoming videos and then concatenate them once they are on Cloudinary. You can use our API to create a script to do it.
Thanks,
Mo

from cloudinary_php.

manishatiwari1696 avatar manishatiwari1696 commented on May 26, 2024

Thanks for the help. Here I stuck in new situation. As I mentioned above that each video has it's own text which is overlay for that particular video only. Now what happening is if user added text in two video at the same position, those text get merge visually. You can get better understanding from this link "https://res.cloudinary.com/dmdrjuy6z/video/upload/c_fill,eo_25,h_200,so_19,w_300/c_fill,eo_3,fl_splice,h_200,l_video:ffwx0v6fha2wqyt3sjpw,so_1,w_300/co_rgb:D91818,g_north,l_text:Impact_24px_center:secound,x_0,y_30/co_rgb:D91818,g_north,l_text:Impact_24px_center:%20,x_0,y_240/c_fill,eo_4,fl_splice,h_200,l_video:ycviy1c3wxaqzkaomzuv,so_2,w_300/co_rgb:D91818,g_north,l_text:Impact_24px_center:third,x_0,y_30/co_rgb:D91818,g_north,l_text:Impact_24px_center:%20,x_0,y_240/qkowmjrpsfp11yz33843.mp4"

I want that text should be look clean as per the video. How do get that. Hope you understand my situation.

from cloudinary_php.

manishatiwari1696 avatar manishatiwari1696 commented on May 26, 2024

Hello, got one new situation. I thought that I'm able to trim and concatenate the video at the same time. But it's not working, while using start and end offset for particular video during concatenation it is not trimming the video it's just for the duration of the video, like if start offset is 3 and end offset is 5 for the particular video during concatenation then the video will play from the beginning and stays for 2 sec as the difference between start and end offset set. I don't know what's the logic behind it. But I need if the start offset is 3 and end offset is 5 then video should get trim from 3 to 5 and then concatenate. Please help me out in this situation it's very important for me to do. It's a major part of my application, please help me out.

from cloudinary_php.

molanip avatar molanip commented on May 26, 2024

Hi manishatiwari1696,
Here is an example the video dog is trimmed to 300x200 and starts from 3 (so_3) and duration 2 (du_2) to add to the end of video dog.
https://res.cloudinary.com/demo/video/upload/a_180/w_300,h_200,c_fill/l_video:dog,fl_splice,w_300,h_200,c_fill,so_3,du_2/fl_layer_apply/dog.mp4. You can check out details:
https://cloudinary.com/documentation/video_manipulation_and_delivery#concatenating_videos

from cloudinary_php.

molanip avatar molanip commented on May 26, 2024

Hi manishatiwari1696,

This is to answer your question about concatinating vidoes with text overlays using fl_layer_apply, so (start of video in sec), du (duration of timeof video). As an example, I changed the text color to white to show up better and corrected the typo.
https://res.cloudinary.com/dmdrjuy6z/video/upload/c_fill,eo_25,h_200,so_19,du_6,w_300/c_fill,eo_3,fl_splice,h_200,l_video:ffwx0v6fha2wqyt3sjpw,so_0,du_5,w_300/co_rgb:fff,g_north,l_text:Impact_24px_center:second,x_0,y_30/co_rgb:fff,g_north,l_text:Impact_24px_center:%20,x_0,y_240/fl_layer_apply/fl_layer_apply/c_fill,eo_4,fl_splice,h_200,l_video:ycviy1c3wxaqzkaomzuv,so_2,du_5,w_300/co_rgb:fff,g_north,l_text:Impact_24px_center:third,x_0,y_30/co_rgb:fff,g_north,l_text:Impact_24px_center:%20,x_0,y_240/fl_layer_apply/qkowmjrpsfp11yz33843.mp4
Please check out https://cloudinary.com/documentation/video_manipulation_and_delivery#concatenate_videos_with_images for details.
Thanks,
Mo

from cloudinary_php.

manishatiwari1696 avatar manishatiwari1696 commented on May 26, 2024

Thanks for your response. It help me a lot.

from cloudinary_php.

manishatiwari1696 avatar manishatiwari1696 commented on May 26, 2024

Thanks for all your response. But I can see here the the text y axis is 30, but text is not align as per that. I tried to change it, but it won't effect anything to text. And when I tried to remove ,{ flags: "layer_apply" }, it worked. But I need to apply this, as because this only way I can separate text as per the video. I surly missing something. Here is my code:

[
{
width: 708, height: 350, crop: "fill",
start_offset: videoArray[0].startLimit,
end_offset: videoArray[0].endLimit
},
{
overlay:
{
font_family: videoArray[0].textBoxOne.fontFamily ? videoArray[0].textBoxOne.fontFamily : "impact",
font_size: videoArray[0].textBoxOne.fontSize ? videoArray[0].textBoxOne.fontSize : 24,
text: videoArray[0].textBoxOne.text ? videoArray[0].textBoxOne.text.replace("'", "’") : " ",
text_align: "center"
},
gravity: "north",
x: parseInt(videoArray[0].textBoxOne.Xaxis),
y: parseInt(videoArray[0].textBoxOne.Yaxis) + 30,
color: videoArray[0].textBoxOne.textColor
},
{
overlay:
{
font_family: videoArray[0].textBoxTwo.fontFamily ? videoArray[0].textBoxTwo.fontFamily : "impact",
font_size: videoArray[0].textBoxTwo.fontSize ? videoArray[0].textBoxTwo.fontSize : 24,
text: videoArray[0].textBoxTwo.text ? videoArray[0].textBoxTwo.text.replace("'", "’") : " ",
text_align: "center"
},
gravity: "north",
x: parseInt(videoArray[0].textBoxTwo.Xaxis),
y: parseInt(videoArray[0].textBoxTwo.Yaxis) + 30,
color: videoArray[0].textBoxTwo.textColor
},
{ flags: "layer_apply" },
{ flags: "layer_apply" }
]

I'am trying to create dynamic data. And I'm getting success in doing that. Now the dimension of text is only thing that getting between my way. Help me out.

from cloudinary_php.

molanip avatar molanip commented on May 26, 2024

Hi manishatiwari1696,

Thanks for your question. Would you please share the videos you are working on by using the above code.
It may be best if you open a ticket from your account so we can investigate this matter.

Best regards,
Mo

from cloudinary_php.

christine927t avatar christine927t commented on May 26, 2024

upload API call

Hello,
I'm having the same issues as others where I'm getting the error:
Video is too large to process synchronously, please use an eager transformation with eager_async=true to resolve
The video I'm trying to upload is 424mb on a Paid account. In my upload preset I have Eager Async: true under upload manipulations.
My goal is that immediately after uploading a video, a thumbnail is shown. When the user clicks on the thumbnail to enlarge it, they can play the video back. However, the thumbnail is not showing up using a regular html video tag or a cld-video tag and when I click to enlarge the video, I get 400 errors from the .webm, .mp4 and .ogv network calls.
Can someone please help me try to troubleshoot this?

from cloudinary_php.

patrick-tolosa avatar patrick-tolosa commented on May 26, 2024

Hey @christine927t thanks for reaching out,
this thread is extremely old and your issue probably isn't related to what was discussed here.

Can you please open a new issue so we can follow up on this?
Regardless, I'll pass this to our support teams.
Thanks

from cloudinary_php.

christine927t avatar christine927t commented on May 26, 2024

@patrick-tolosa Thanks Patrick. I did actually submit a support ticket already as well. Appreciate the follow up!

from cloudinary_php.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.