akinKaplanoglu
akinKaplanoglu

Reputation: 768

Get video url from twitter with twitter4j

Is there anyone who can help me to find video url in twitter post with twitter4j?

I can not find video url with getExtendedMediaEntities() method.

EDIT:

ExtendedMediaEntity[] extendedMediaEntities = status.getExtendedMediaEntities();
                        for (int i = 0; i < extendedMediaEntities.length; i++) {
                            ExtendedMediaEntity extendedMediaEntity = extendedMediaEntities[i];
                            System.out.println("extendedMediaEntity type : "+extendedMediaEntity.getType());
                            String url = extendedMediaEntity.getURL();
                            System.out.println("extended url: "+ extendedMediaEntity.getMediaURL());
                        }

Thank you

Upvotes: 0

Views: 2579

Answers (1)

Abhijeet Dhumal
Abhijeet Dhumal

Reputation: 1809

You will need to use the Variant on the ExtendedMediaEntities to retrieve the video URL. This will give you multiple URLs in a multiple formats. getExpandedURL() will give you the direct url to the video post.

Please find below example with the use of variant:

    Paging paging = new Paging();
    paging.setCount(200);

    List<Status> statuses = twitter.getHomeTimeline(paging);
    for (Status status : statuses) {
        MediaEntity[] media = status.getMediaEntities();
        ExtendedMediaEntity[] extendedMediaEntities = status.getExtendedMediaEntities();
        for (int i = 0; i < extendedMediaEntities.length; i++) {
            ExtendedMediaEntity extendedMediaEntity = extendedMediaEntities[i];
            ExtendedMediaEntity.Variant[] variant = extendedMediaEntity.getVideoVariants();
            if (extendedMediaEntity.getType().equals("video")) {
                for (int j = 0; j < variant.length; j++) {
                    System.out.println("variant url: " + variant[j].getUrl());
                }
                String url = extendedMediaEntity.getURL();
                System.out.println("extended url: " + extendedMediaEntity.getExpandedURL());
            }
        }
    }

Which will give the output like below:

variant url: https://video.twimg.com/amplify_video/829771724442959873/pl/jKd0KfMseDh88K0s.m3u8 variant url:

https://video.twimg.com/amplify_video/829771724442959873/vid/1280x720/QtF1QLexBBjcpt_L.mp4 variant url: https://video.twimg.com/amplify_video/829771724442959873/vid/320x180/b-bsY76n5VkngoAo.mp4 variant url: https://video.twimg.com/amplify_video/829771724442959873/vid/640x360/YjWDVec8gD19LHOE.mp4 extended url: https://twitter.com/mashable/status/918201793208762368/video/1

Upvotes: 1

Related Questions