I want to record and play the video. I have found the below article to capture the same. but the recorded video is playing so fast and not playing all of the actions. after 32 seconds, it gets reset to starting position.
http://html5-demos.appspot.com/static/getusermedia/record-user-webm.html
I have used the code from (http://www.html5rocks.com/en/tutorials/getusermedia/intro/#toc-history). I can share it if required.
Any clues to resolve this?
Thanks
Off the top of my head, a reason why the video plays back too fast may be the fact that you are using a resolution that is to high for the current API to handle when recording.
I've tested similar attempts to record video directly in browser and had the same issue with playbacks of recording made with high resolutions.
Maybe this link could help
https://www.webrtc-experiment.com/RecordRTC/
or for an extensive overview of the current state of webRTC you can read the following article:
http://hdfvr.com/html5-video-recording
Related
I was watching some videos in twitch.tv to be sure how variants work for live streaming.
I see that, in the beginning a master manifest is downloaded and then a playlist is selected. After this, I used tomcast to throttling network and I waited until videos resolution changes to other variant, but it did not happened never (video was lagged but continued downloading the variant video selected in the beginning).
My question is, if live-HLS adapts the streaming with the variants once it started to play.
The selection of what variant to play is done by the player. Every player is different, and Twitch uses their own. To understand why that specific player is behaving that specific way would require Twitch to comment.
I am trying to get audio from the microphone and stream it across as data through socket to a node server. Since I haven't really done this before, I am confused on how to do this properly.
First of all, how do you actually stream data from a specific microphone? I need the audio to be streamed, not recorded then sent. In other words, it needs to be like a call, where the word you say is automatically sent to to the recipient rather than recorded, then sent as some sort of recording.
Second of all, how do I specify where the audio comes in? I have seen some questions about this but I couldn't find a good solution to how to do this, especially for my case, where the audio input is from the lightening audio.
I couldn't find a good example of how to do this using AVAudioSession. Is there any good resources (examples, tutorials) that I can use to help me?
Thanks!
I have an Array of ArrayBuffers that I send through WebRTC from peerA to peerB. The major inconvenience that I'm experiencing is this: if peerA changes the tab to another one, then he is sending at a horribly slow rate. When peerA comes back to the app's tab, the sending speed hops back to normal levels.
Is there any way to address this particular problem?
I had a similar issue when I was slicing the files, that a change of tabs dropped the rate, and overcame this by using WebWorkers. As long as I have searched the WebRTC methods are not accessible from WebWorkers (just many people asking for this feature).
Any ideas?
There's a demo page at https://webrtc.github.io/samples/src/content/datachannel/datatransfer/ that will generate and transfer data. I'm unable to see any issue like the one you describe when I put the tab in the background. If this problem persists, please file a bug at https://bugs.webrtc.org.
I believe this may be a problem with the system timer resolution. Chrome sets this to 1 ms for certain active tabs, and sets it back to a higher value for backgrounded tabs to preserve battery life. To test this, try switching to a tab that is playing a YouTube video, and see if the send speed drops in the meantime.
I am currently creating a youtube downloader and I have the code to retrieve video thumbnails, however I want to find out a way to retrieve the video title and possibly the video size etc. If anyone can help please answer :D
I would concider you use version 3 of the Youtube API. I don't suggest parsing the html of a youtube page, you never know when they will change the format and you'll be downloading too much information. The API is much more stable.
If you look at the video section .
https://www.googleapis.com/youtube/v3/videos?id=BaW_jenozKc&part=snippet
(I can't test it on this computer)
By changing the part (or adding multiple part) you can get all the information you need about a video. Since the result is returned in json, you can use it with pretty much any programming language.
Also, read the Gettting Started. Youtube limits the number of query unless you register your application and get a developper key.
You need to read the .NET YouTube API documentation, specifically the YouTube API v2.0 – Retrieving Data for a Single Video section.
You will need to query for a single video by the video's ID and then the pieces of data in the ATOM feed that comes back to you are:
feed/entry/Title for the title of the video
feed/entry/media:group/yt:duration for the length of the video
There does not appear to be a value returned for the size of the video, however.
Try the youtube API:-
https://www.youtube.com/get_video_info?video_id=BaW_jenozKc
It should return something along the lines of:-
"&title=youtube-dl+test+video+%22%27%2F%5C%C3%A4%E2%86%AD%F0%9D%95%90".
Credits to youtube-dl:-
https://github.com/rg3/youtube-dl/blob/master/youtube_dl/extractor/youtube.py
Lots of ancient, non-negotiable history due to mergers and acquisitions, so I realize there are better ways to do all of this, however... I am faced with the following:
I have an osmf based video player where a particular playlist item (for a live video), must do the following:
play a preRoll prior to displaying a countdown
display a countdown until the video start time (synched with the server time)
play another preRoll prior to video playback
play the live stream until the server time reaches the stream end time
then play a post roll video
I've gotten this working for the most part, but I'm running into walls with the arbitrary insertion of "ads", since I don't want to trigger events associated with loading new media. If I try to inject a new ad (particularly after the stream has played), the live stream will display again. While I could figure out some horrible way to make this work, I just wanted to make sure first that I'm not missing something critical about osmf and live events. I'm also a bit uncertain as to what is native osmf in the architecture I'm working with and what is homegrown.
1) Does osmf have a concept for a scheduled live event that might make this easier
2) Does osmf have an option to arbitrarily insert a video into playback based on some external call without changing the playlist index or returning to the beginning of the video.