ShareX - Open source screen capture/recording and uploading software
286 replies, posted
Facepunch forum has too many programmers/power users and I thought this software can be useful for many of them therefore decided to open this thread.
I'm the developer of an open source software called [url=https://getsharex.com]ShareX[/url], a screen capture/recording and file sharing tool.
Example you can configure one hotkey to capture or record area of screen and it will automatically upload to selected host (Imgur, Dropbox etc.) and URL will be in your clipboard.
But also you can upload image, text, files or shorten, share urls etc. So it is more than screen sharing tool.
It is not easy to write description of ShareX because have so many features and people mainly won't like reading long texts.
You can find more detailed info about features of ShareX in here: [url]https://getsharex.com[/url]
[url=https://getsharex.com][img]http://getsharex.com/img/ShareX_Screenshot.png[/img][/url]
If you want to try it or check source codes (C#):
Web page: [url]https://getsharex.com[/url]
Project page: [url]https://github.com/ShareX/ShareX[/url]
Steam store page: [url]http://store.steampowered.com/app/400040/[/url]
Discord server: [url]https://discord.gg/E4R3Qa9[/url]
If you have any questions or need help, let me know.
Oh man, I love ShareX ever since I was introduced to it a year or so ago.
Every time it updates, it makes me love it more.
Great work and thanks for the awesome tool.
Pretty damn good, cubeupload support would make it totally awesome.
[QUOTE=Chryseus;45155334]Pretty damn good, cubeupload support would make it totally awesome.[/QUOTE]
You can use cubeupload like this:
[img]https://dl.dropboxusercontent.com/u/14076298/ShareX/2014/06/ShareX_GlePNWeIdk.png[/img]
Import: [url]https://dl.dropboxusercontent.com/u/14076298/ShareX/2014/06/VoZ5cc01vc.txt[/url]
Cubeupload is a great image host.
I started using this after my puush account started getting crowded. I should look into cubeupload too.
[QUOTE=KnightVista;45155404]Cubeupload is a great image host.[/QUOTE]
i'm partial to using g+/picasaweb
I checked here now: [url]http://cubeupload.com/faq[/url]
They don't want softwares to use their uploader service because of bandwidth concerns.
This is why they not offering API in their web site.
So i don't think adding their uploader to ShareX will be right thing to do.
But with custom uploader of ShareX you can do both anonymous and user upload like this:
Anonymous upload:
[code]{
"Name": "cubeupload.com Anonymous",
"RequestType": "POST",
"RequestURL": "http://cubeupload.com/upload_json.php",
"FileFormName": "fileinput[0]",
"Arguments": {
"userHash": "false",
"userID": "false"
},
"ResponseType": "Text",
"RegexList": [
"\"file_name\":\"(.+?)\""
],
"URL": "http://i.cubeupload.com/$1,1$",
"ThumbnailURL": "http://i.cubeupload.com/t/$1,1$",
"DeletionURL": ""
}[/code]
User upload:
[code]{
"Name": "cubeupload.com User",
"RequestType": "POST",
"RequestURL": "http://cubeupload.com/upload_json.php",
"FileFormName": "fileinput[0]",
"Arguments": {
"userHash": "Your user hash here",
"userID": "Your user ID here"
},
"ResponseType": "Text",
"RegexList": [
"\"file_name\":\"(.+?)\"",
"\"user_name\":\"(.+?)\""
],
"URL": "http://u.cubeupload.com/$2,1$/$1,1$",
"ThumbnailURL": "http://u.cubeupload.com/$2,1$/t/$1,1$",
"DeletionURL": ""
}[/code]
Copy these texts and press "Import" button.
For user upload you must find your user hash and user ID.
This hash and ID never changes so only need to find them one time.
Open cubeupload.com, view page source then find these lines:
[code]<!-- Load upload runtimes and scripts -->
<script type="text/javascript">
var user_hash = "...";
var user_id = ...;
</script>[/code]
So in main page source you can find your hash and ID to be able to do user upload in ShareX.
[img]https://dl.dropboxusercontent.com/u/14076298/ShareX/2014/06/ShareX_gr5vBghW4Z.png[/img]
[QUOTE=Jaex;45164388]I checked here now: [url]http://cubeupload.com/faq[/url]
They don't want softwares to use their uploader service because of bandwidth concerns.
This is why they not offering API in their web site.
So i don't think adding their uploader to ShareX will be right thing to do.
[/QUOTE]
Pretty dumb reason really, most people are not going to upload more just because
they can do it with the press of a button.
Could it be possible to have ShareX be more aggressive with URL recognition from clipboard?
for example: I use yourls, which supports ftp: steam: skype: mailto: etc
if I copy one of those, and use clipboard upload, ShareX uploads it as a paste, not a URL.
[QUOTE=LordCrypto;45196011]Could it be possible to have ShareX be more aggressive with URL recognition from clipboard?
for example: I use yourls, which supports ftp: steam: skype: mailto: etc
if I copy one of those, and use clipboard upload, ShareX uploads it as a paste, not a URL.[/QUOTE]
Having such support can make false results for some cases. Because that format not only starts with "name://..." but it can start with "name:..." too.
This is regular expression pattern ShareX using for figure out is it URL:
[code]string pattern =
"^" +
// protocol identifier
"(?:(?:https?|ftp)://)" +
// user:pass authentication
"(?:\\S+(?::\\S*)?@)?" +
"(?:" +
// IP address exclusion
// private & local networks
"(?!10(?:\\.\\d{1,3}){3})" +
"(?!127(?:\\.\\d{1,3}){3})" +
"(?!169\\.254(?:\\.\\d{1,3}){2})" +
"(?!192\\.168(?:\\.\\d{1,3}){2})" +
"(?!172\\.(?:1[6-9]|2\\d|3[0-1])(?:\\.\\d{1,3}){2})" +
// IP address dotted notation octets
// excludes loopback network 0.0.0.0
// excludes reserved space >= 224.0.0.0
// excludes network & broacast addresses
// (first & last IP address of each class)
"(?:[1-9]\\d?|1\\d\\d|2[01]\\d|22[0-3])" +
"(?:\\.(?:1?\\d{1,2}|2[0-4]\\d|25[0-5])){2}" +
"(?:\\.(?:[1-9]\\d?|1\\d\\d|2[0-4]\\d|25[0-4]))" +
"|" +
// host name
"(?:(?:[a-z\\u00a1-\\uffff0-9]+-?)*[a-z\\u00a1-\\uffff0-9]+)" +
// domain name
"(?:\\.(?:[a-z\\u00a1-\\uffff0-9]+-?)*[a-z\\u00a1-\\uffff0-9]+)*" +
// TLD identifier
"(?:\\.(?:[a-z\\u00a1-\\uffff]{2,}))" +
")" +
// port number
"(?::\\d{2,5})?" +
// resource path
"(?:/[^\\s]*)?" +
"$";[/code]
Hey, is OneDrive a possibility for a host?
[QUOTE=redBadger;45196681]Hey, is OneDrive a possibility for a host?[/QUOTE]
It is not supported currently.
I've used this software since it was called zscreen, and it's my favorite screen capture software.
[QUOTE=Jaex;45164388]I checked here now: [url]http://cubeupload.com/faq[/url]
They don't want softwares to use their uploader service because of bandwidth concerns.
This is why they not offering API in their web site.
So i don't think adding their uploader to ShareX will be right thing to do.
[/QUOTE]
The FAQ only states that we don't provide a [I]published[/I] API :)
We can't stop people working out how to use the JSON uploader via software like ShareX (which is a brilliant piece of engineering), and to be honest that would only make people dislike us anyway. However we are entirely advert-funded with all proceeds going towards the servers.
We do our best to have a "lean" server infrastructure to provide the best balance between service and cost, but CubeUpload does cost money to run.
We're quite lucky that advert revenue is pretty good so we are relatively self-sufficient, but if everyone used the service without actually going on the website (and maybe clicking an advert they're genuinely interested in), we would have to call it a day.
Therefore, it's down to the individual users to decide how they want to use our service.
Hey Jaex do you think it'd be possible to add a way to automatically sync up settings between multiple computers by using dropbox, google drive or anything of the sort?
I know it's kind of possible already but it'd be neat to have the program do that on its own.
How exactly do I use it for shortening URLs?
I know I talked about this before, but software such as xsplit and openbroadcaster has features such as live compression while doing screen recording and they appear to work perfectly fine, I'm pretty sure other streaming software does too with the options to encode directly to a local file rather than to a server. Is there not a way to incorporate that kind of encoding into sharex?
[QUOTE=Jvs;45218123]Hey Jaex do you think it'd be possible to add a way to automatically sync up settings between multiple computers by using dropbox, google drive or anything of the sort?
I know it's kind of possible already but it'd be neat to have the program do that on its own.[/QUOTE]
Syncing up with Dropbox require UploadersConfig file and before sync you can't use it because need to sync and get it first. But i don't want to separate settings of Dropbox just for be able to sync them. And also there will be concerns about startup speed of ShareX which i don't want to slow down.
[QUOTE=MasterFen006;45218226]How exactly do I use it for shortening URLs?[/QUOTE]
[img]https://dl.dropboxusercontent.com/u/14076298/ShareX/2014/06/FjFDXrDmz7.png[/img]
This will automatically URL shorten uploaded image/file.
But if you just want to shorten URL then:
[img]https://dl.dropboxusercontent.com/u/14076298/ShareX/2014/06/7CfBnuM7QW.png[/img]
So when you do clipboard upload when clipboard have url in it then it will shorten it.
[QUOTE=HetsuProcyon;45218939]I know I talked about this before, but software such as xsplit and openbroadcaster has features such as live compression while doing screen recording and they appear to work perfectly fine, I'm pretty sure other streaming software does too with the options to encode directly to a local file rather than to a server. Is there not a way to incorporate that kind of encoding into sharex?[/QUOTE]
In ShareX FFmpeg doing real time encoding too with x264 etc. what you mean?
Thanks man, you seem like one of the more helpful devs out there. Keep it up!
[QUOTE=Jaex;45220704]
In ShareX FFmpeg doing real time encoding too with x264 etc. what you mean?[/QUOTE]
I'm trying to say, OpenBroadcaster and Xsplit both can do live encoding at 60fps with no lag at all and no cost of the CPU. I don't know what they use for it but they're well optimized, would be neat to see sharex being capable of the same thing
[QUOTE=HetsuProcyon;45221418]I'm trying to say, OpenBroadcaster and Xsplit both can do live encoding at 60fps with no lag at all and no cost of the CPU. I don't know what they use for it but they're well optimized, would be neat to see sharex being capable of the same thing[/QUOTE]
OpenBroadcaster can do directx/opengl capture.
[QUOTE=Jaex;45221553]OpenBroadcaster can do directx/opengl capture.[/QUOTE]
Ah, that makes more sense. Is it a complicated job to get that implemented at some point or are you going to leave it as it is?
[QUOTE=HetsuProcyon;45221831]Ah, that makes more sense. Is it a complicated job to get that implemented at some point or are you going to leave it as it is?[/QUOTE]
I can't do it. If i could, i would have added it before.
This method of recording webm files is dated, what's the possibility of doing so in the current version?
[url]https://docs.google.com/document/d/1ni0fxGcZkoJ6QEVbBeRXatBk86cMsCjaJ9zbC3afPvo/preview[/url]
[QUOTE=Scratch.;45222037]You all deserve a clock if you're unfamiliar with the word Zscreen
Also funfact, I bought a domain and datacentre allowance for the sole purpose of using ShareX + Yourls
This method of recording webm files is dated, what's the possibility of doing so in the current version?
[url]https://docs.google.com/document/d/1ni0fxGcZkoJ6QEVbBeRXatBk86cMsCjaJ9zbC3afPvo/preview[/url][/QUOTE]
It's integrated natively now, I've been getting framerate issues though such as frameskips or drops (doesn't stop me using it though).
[QUOTE=Scratch.;45222037]You all deserve a clock if you're unfamiliar with the word Zscreen
Also funfact, I bought a domain and datacentre allowance for the sole purpose of using ShareX + Yourls
This method of recording webm files is dated, what's the possibility of doing so in the current version?
[url]https://docs.google.com/document/d/1ni0fxGcZkoJ6QEVbBeRXatBk86cMsCjaJ9zbC3afPvo/preview[/url][/QUOTE]
Check here: [url]https://docs.google.com/document/d/1xsdRBEZ9BsleYd1cbfpzSjCiOCkee4v8oTVFB06MrZ0/edit?usp=sharing[/url]
Shit I didn't know ZScreen was the predecessor to ShareX. I knew ZScreen and used it back when I was on Windows, I am not anymore though so I probably won't use ShareX, but I'm glad to see this awesome piece of software still making it in the modern world. I've read so much about ShareX, and it seems like a really amazing piece of software.
Bon voyage in your future endavours!
[QUOTE=Jaex;45222431]Check here: [url]https://docs.google.com/document/d/1xsdRBEZ9BsleYd1cbfpzSjCiOCkee4v8oTVFB06MrZ0/edit?usp=sharing[/url][/QUOTE]
[QUOTE=HetsuProcyon;45222344]It's integrated natively now, I've been getting framerate issues though such as frameskips or drops (doesn't stop me using it though).[/QUOTE]
Came across this article
[url]https://docs.google.com/document/d/1aKLSqsouoeC5Tjf-Z3P880V3rpzvQU0A2Clayn9ElZo/edit#heading=h.i39djmq6wq0x[/url]
Turns out I was of needing to use VP8 as my video codec, not the default x264, which had made the webm option unavaliable, thanks
[QUOTE=Scratch.;45222633]Came across this article
[url]https://docs.google.com/document/d/1aKLSqsouoeC5Tjf-Z3P880V3rpzvQU0A2Clayn9ElZo/edit#heading=h.i39djmq6wq0x[/url]
Turns out I was of needing to use VP8 as my video codec, not the default x264, which had made the webm option unavaliable, thanks[/QUOTE]
I think x264 better for real time encoding.
Sorry, you need to Log In to post a reply to this thread.