I'm completely new to this topic and I'm trying to build an app that can do this. I guess what I'm looking for is something similar to the IDM's link grabber. I once read on Stack Overflow(can't find the topic, sorry) about how IDM downloads YouTube videos and other stuff, and someone said when you are watching a video you can see that parts of the video highlights in grey and that means those parts are cached in your pc and what IDM does is gathering those parts and combining them. Someone else said IDM gets the logs from the network tab and uses them for downloading. Can someone guide me or give me a roadmap of what knowledges do I need for this task?
Related
I am trying to recreate some features of Spotify in C# using the PostgreSQL database.
The reason is simple, I want to gain more knowledge, and I think this is a good challenge.
But I ran into an obstacle that I've been standing for days. Spotify he doesn't download the music, he does her streaming, plays the music while it's downloaded.
However, I can't do this in C#, I'm using the PostgreSQL database.
I'm well locked in this part, I tried several implementations, but I think I'm not on the right track, and on the internet I imagine I'm looking wrong, otherwise I would have found it.
Do you have any guidance for this streaming process in C#? I've tried to read the large_object bytes from PostgreSQL, but couldn't.
Any suggestions or guides about the process are welcome.
You start by getting the file into the database or its network location into the database, whichever gives you better performance; Then start with creating an implementation of a bytestream. You want to be transmitting raw data to c#.
you then build a real time interpreter that takes in using your file format, one byte at a time, and plays the value associated with that section. does that make sense? this is simple to do with many libraries and the brunt of it is just figuring those out.
You seem like you've PROBABLY got that first part down, and are instead having issues with the database. A lot of things we did at my last company involved saving file network locations and indexing files on disk. You might be able to instead point your streamer to a file locally using a server, and instead transmit data from one point to another in that manner instead.
You seem more than capable of doing this just judging by your speech. I hope this comment was helpful, and if it was not I apologize as well. I would be interested in seeing your finished result.
for clarification here would be that workflow:
request for a song listed in table dbo.Songs
matches that song onto dbo.songlocation
streams from dbo.songlocation.location from the filename dbo.songlocation.songname = dbo.song.name and verified directory returns true
enjoyment of that music
So, I need to obtain the current audio playback that is happening on my pc programatically in real time. This includes all the audio(you can check this in the playback devices tab of the Sound settings). I need it because I'm doing an analysis over the stream which I then put into use in another software. Until now, I've used the 'StereoMix' option, which actually relay's the current audio as an input(something like an internal microphone). However, I can't use this method when I connect external speakers to my pc(through HDMI, PC/AUX works though).
Is there some way to obtain the audio stream no matter if external speakers are connected or not.
The programming language does not matter in the current case, everything is fine with me. However, I prefer if there is a C# / Processing solution.
EDIT:
Here's the technique(and method) I currently use to obtain the audio in http://code.compartmental.net/minim/minim_method_getlinein.html. The library/code is related to Processing: https://processing.org/.
Basically, NAudio would be a good place to look for a prospective solution. Its not quite clear what you intend to do with the audio such as if you're recording/dumping data, or simply analyzing live-data so I'm thinking NAudio is going to have something such as you're looking for, as far as getting your hands on live-data.
NAudio has an FFT, but not quite robust in the area of analysis as the JS-libs you may be accustomed to ;)
http://naudio.codeplex.com/
https://github.com/naudio/NAudio
There are plenty of examples provided to get you started, and many in the wild.
Though its pretty outdated and the API may or not look slightly different (in regard to...), the following video may provide a nice relaxing quick-start to help familiarize you with this lib.
C# Audio Tutorial 6 - Audio Loopback using NAudio
I'm using AForge Video Source Player to playback a couple movie clips that exist in my local filesystem within a winforms application.
Example of my playback code:
videoSourcePlayer.VideoSource = new AForge.Video.AsyncVideoSource(new FileVideoSource(fileName), true);
videoSourcePlayer.VideoSource.VideoSourceError += VideoSource_VideoSourceError;
videoSourcePlayer.Start();
I found it odd it didn't showed any videos on production machines although it worked on my development machine. I went ahead and found this among the error logs.
This was outputted from the event VideoSourceError.
Did not find acceptable output video pin in the given source
Can someone tell me how do I solve this ?
Thank you.
Answer: Thanks to valter
Maybe you are missing a video filter for your particular video file. Try installing a filter/codec package.
The company I work for has many gigabytes of data on the Google Drive cloud. A lot of this data is contained in individual files of several Gigabytes.
We would like to operate on this data:
a file at a time
remotely (without downloading a whole file to local disk
with COTS applications that see the cloud as a local hard disk and may access the file non-linearly i.e. doing seeks and partial fetches from within a file
on Windows
I am trying to write a virtual disk driver that would appear to a COTS application as just another disk drive with read-only permissions. I am working in C# .net Visual Studio. There is nothing to require this development environment it's just one that I am comfortable using and should have the capabilities to do the job. I could be convinced to switch environments if this is a blocking impediment.
My biggest problem is that Google is changing their APIs faster than they are documenting the changes. I have found examples for downloading a (partial) file using HTTP and for reading directories to get file IDs but when I try to run them they just don't work. If they would work I'd have the building blocks for putting together a disk interface.
For example:
Installing the Google Drive API and Client Library was a challenge. The direction page https://developers.google.com/drive/quickstart-cs and its subsequent links to the library were clearly written before the latest V2 authentication library was released this month (October 2013). The C# code in the quick-start example produces all types of warnings about deprecated and obsolete functions that are going to go away with the next release but no guidance (yet) on the new equivalents.
https://developers.google.com/drive/v2/reference/files/list shows how to list files on a drive. When I execute the Try It! at the bottom of the page without parameters I get a list of all my files. When I try to limit it with a search query string parameter q on the page) I get a 500 Internal Server error. This is before I try to use the program that should do this.
Once I have a file ID (or I take several from the above page execution without queries, the page developers.google.com/drive/v2/reference/files/get has a Try It! for retrieving a file. I am always getting a 401 error (invalid ID).
I am very tempted to put this project aside for a few weeks and see what Google comes up with in new documentation. Of course that won't please my boss. Alternatively, is there anyone else trying to work with the Google Drive API in a similar manner that is willing to share/collaborate?
hi i am following this link
http://www.codeproject.com/KB/directx/directxcapture.aspx
to capture data from webcam.Its working fine but when i pause and do resume then the file that contains data, its size increases but old data is lost and only new data persists.
can anybody point me towards a working example/tutorial where pause feature works.
i tried/searched many links but still landed nowhere.
can anybody provide me some help!!!
There are a number of comments about this in the article:
Searching "pause" inside the article comments
All search results for "pause" in the article comments
I tried the pause behavior of directShow.net but somehow it did not worked.
when i paused a avi file was created and when i resumed i found that the new contents are written on the previous file. the size of the file increased but the older content was washed away.
So i tried this:
1) When i paused a file say test.avi was generated.
2) when i resumed i renamed test to test1.avi and created new test.avi
file and merged them when user clicks on stop.
In this way i achieved pause feature. though its indirect but its still working for me..
hope i could implement the direct way.