I am trying to play youtube video using android cardboard sdk provided by google but I am not able to play it.
Here is my code
Options options = new Options();
options.inputFormat = Options.FORMAT_HLS;
options.inputType = Options.TYPE_MONO; // for 360 video
videoWidgetView.loadVideo(Uri.parse("https://www.youtube.com/watch?v=xyzzyz"), options);
Error Log :
E/VrVideoPlayer: 205251285AdaptiveMediaSourceEventListener.onLoadError com.google.a.a.g.v: Input does not start with the #EXTM3U header.
I got a example from github you can go through this link:https://github.com/googlevr/gvr-android-sdk
Related
I have an android project where I integrate the JWplayer sdk, the player is playing video well
The problem is when the player arrive to play the ads it show me this exeption :
"Mixed Content: The page at 'https://intercept.jw//data/user/0/user/files/jwplayer/jw_core/' was loaded over HTTPS, but requested an insecure XMLHttpRequest endpoint 'http://myXmlAdsFile'. This request has been blocked;
I tried those solution without a result:
turn my link to https:
did not work, it shows me an insecure link exeption
allow mixed content:
I dont have a web view in the player so can not use this method
this is my code to initialize my jwplayer:
List<AdBreak> adSchedule = new ArrayList<>();
AdBreak adBreak = new AdBreak.Builder()
.tag(My Xml Link)
.offset(time when the ads show up)
.build();
adSchedule.add(adBreak);
Advertising advertising = new Advertising(AdSource.VAST, adSchedule);
PlaylistItem playlistItem = new PlaylistItem.Builder()
.file(videoUrl)
.build();
List<PlaylistItem> playlist = new ArrayList<>();
playlist.add(playlistItem);
config = new PlayerConfig.Builder()
.playlist(playlist)
.advertising(advertising)
.build();
jwPlayerView.setup(config);
Hello i have problem i want to play video stream from url link but i have some issue after i use complete url link or without blank space exoplayer player library can detected but after i use file url link blank space cannot detected
example
http://www.something.com/folder/hmmm.mp4 //worked success
after i use this
http://www.something.com/folder/hmmm iknow this blank space.mp4// cannot worked
can someone helpme please thanks
I am gonna answer using the code I used to play video at a URL in exoplayer--
String videoURL="https://d17h27t6h515a5.cloudfront.net/topher/2017/April/58ffdcc8_5-mix-wet-and-cry-batter-together-brownies/5-mix-wet-and-cry-batter-together-brownies.mp4" ;
MediaSource mediaSource = ExtractorMediaSource.Factory(new DefaultHttpDataSourceFactory("exoplayer-codelab"))
.createMediaSource(Uri.parse(videoURL));
So you'll have to give the entire address of video along with video type extension to run successfully.
I'm developing a cardboard app. In my app I want to play a 360 youtube video, I want it to go straight to VR mode so the user doesn't have to remove their headset.
I don't mind whether this video is embedded in my app or opens the youtube app, but I need it go directly into VR mode with no non-VR interaction.
I've looked into doing the following:
streaming the video onto a surfaceTexture and using this to render stereoscoptically: not Possible
Launching the youtube app in cardboard mode: Not Possible
Using the YoutubePlayerView/Fragment/standalonePlayer : None expose functions to enable cardboard mode.
Is this possible?
I ended up using DASH with exoplayer.
I grabbed the direct url like so:
String GET_VIDEO_INFO_URL = "http://www.youtube.com/get_video_info";
Bundle params = new Bundle();
params.putString("video_id", info.getId());
UrlUtils.HttpURLRequest request = new UrlUtils.HttpURLRequest(GET_VIDEO_INFO_URL, "GET", params);
String response = request.execute();
if(response != null) {
Bundle urlParams = UrlUtils.decodeUrl(response);
String manifest_url = urlParams.getString("dashmpd", null);
info.setPath(manifest_url);
}
Then I use exoplayer to render the dash stream to a texture as explained here.
I am developing vimeo video app in native android. But it is not supported in VideoView. May I know any samples or related query for Android. I want final output to be in .mp3/.mp4 format.
I have tried iframe in Android WebView, It works well in Android WebView but I am not able to get seek bar. And OnPause() not able to Pause the video.
Here I am able to get Pause and Play button Only
Example: player.vimeo.com/video/49462103
I want play this video in android native
<VideoView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="#+id/videoView"
android:layout_centerVertical="true"
android:layout_centerHorizontal="true" />
Update link in :
Vimeo site Thread-1
Vimeo site Thread-2
I am getting above error
I made a native player for vimeo, base by WebView. Support public and private video.
Try it : https://github.com/ct7ct7ct7/Android-VimeoPlayer
<com.ct7ct7ct7.androidvimeoplayer.view.VimeoPlayerView
android:id="#+id/vimeoPlayer"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
VimeoPlayerView vimeoPlayer = findViewById(R.id.vimeoPlayer);
getLifecycle().addObserver(vimeoPlayer);
//public video
vimeoPlayer.initialize(59777392);
//If video is open. but limit playing at embedded.
vimeoPlayer.initialize({YourPrivateVideoId}, "SettingsEmbeddedUrl")
//If video is pirvate.
vimeoPlayer.initialize({YourPrivateVideoId},"VideoHashKey", "SettingsEmbeddedUrl")
Vimeo's embed codes should work inside an Android WebView.
Vimeo only offers .mp4 links to PRO users on those users own videos.
Another option is to use the official Deep Link library for the android application. This will let you open any vimeo video in the Android app.
You can use Exoplayer to play vimeo Videos. Exoplayer is more customizable. All you need is to extract the url link from the video config link. You may use retrofit to extract the video url.
BASE_URL = "https://player.vimeo.com/video/"
You will need to use a get method like below:
#GET("{id}/{config}")
Call<JsonObject>getVideoLink(#Path("id") String id, #Path("config") String config);
You will get the id from video link. Example: "https://vimeo.com/123456789/" Here the id is: 123456789 .
JsonObject jsonObject = response.body();
JsonObject req = jsonObject.getAsJsonObject("request");
JsonObject file = req.getAsJsonObject("files");
JsonArray arr = file.getAsJsonArray("progressive");
String url = arr.get(0).getAsJsonObject().get("url").getAsString();
// Build the media item.
MediaItem mediaItem = MediaItem.fromUri(url);
// Set the media item to be played.
player.setMediaItem(mediaItem);
// Prepare the player.
player.prepare();
// Start the playback.
player.play();
Don't forget to initiate Exoplayer first.
I can stream some videos from URL (server) successfully,
But the others (my video up to my server) is not.
You can see both in my code (Working/Not working)
I'm on stuck with this problem.
"Sorry, this video is not valid for streaming to this device"
The following code :
String url = null;
// url = "rtsp://v5.cache5.c.youtube.com/CiILENy73wIaGQmC00ZlwwIDOxMYDSANFEgGUgZ2aWRlb3MM/0/0/0/video.3gp"; // Working
// url = "http://daily3gp.com/vids/747.3gp"; // Working
url = "http://www.ooklnet.com/files/381/381489/video.mp4"; // Working
// url = "rtsp://184.72.239.149/vod/mp4:BigBuckBunny_115k.mov"; // Working
// url = "http://dl.dropbox.com/u/80419/santa.mp4"; // Working
// url = "http://trekvn.hostoi.com/encode_normal.mp4"; // Not Working
// url = "http://trekvn.hostoi.com/output_encode_mp4_box.mp4"; // Not Working
// url = "http://www.ourserversite.com:14556/ingCloud/users/400010001/mp4_320p/e8d8535852a98c949640c5d618ac23d320131022174507.mp4"; // Not Working
// url = "http://trekvn.hostoi.com/mpeg_2_ts.ts"; // Not Working
videoviewer.setVideoURI(Uri.parse(url));
videoviewer.requestFocus();
videoviewer.setKeepScreenOn(true);
videoviewer.setOnErrorListener(this);
videoviewer.setOnPreparedListener(this);
#Override
public void onPrepared(MediaPlayer mp) {
videoviewer.start()'
}
All of these video can play good on the site,
have format *.mp4 (mpeg-4 part 10), Video : .H264, Audio : aac.
Please tell me why,
and how to fix it.
p/s : Samsung Galaxy Tab 7" - 2.2.1
Thanks,
This is the issue that many people met, ensure you understand following content to fix the issue.
Through my experience and the answer in this Sorry, this video cannot be played - streaming mp4 to android
Finally, I found the reason and the solution:
- Reason : Almost the *.mp4 file was produced for developing focus on iOS, and have the encoding : H264 Main. While Android side can only stream & play the files have the encoding : H264 Baseline.
- Solution : We need convert from the encoding H264 Main to H264 Baseline (guaranteed enabled Web Optimized (move -moov atom before -mdat) feature)
- Bugs :
Sorry this video is not valid for streaming to this device.
Sorry, this video can not be played.
HandBrake tool is the easiest and cheapest way to complete it.
Thanks,
p/s : But if you use this method, you need upload your video to the server for testing.