[ά Q8yPL n,hBS7 YMVuu;̂'4J7Hp{ O6P5(FY&1A \*g+U89-0>W!$RsUU 38 VJ Q'' \UH. z#% !D bg G dX s9  m  /q ?*J: ORbK Xn d, jF* ^ ' @ ŗqJ ŗr ŗs ŗt ŗu> ŗv{ ŗw D)U ϴ ?) ", P 5 v y# (XX PN% MR.    / 3w 3 CH@U QrD r _, bX  sf sH j@ g^&F +w S L9N A -] Cq ήqL< 뛼,L3]_>z7A?mTnJ(s)]Vá VR4'NM`_ PkCWqlQ3ۧm?.?nɷEj좁iaZ<html><head/><body><p><img src=":/icons/icon.svg" width="50" style="vertical-align: middle;"/><span style=" font-weight:600; vertical-align:middle;"> KShare</span><span style=" vertical-align:middle;"> - A2>1>4=8O 8 >B2>@5= A>DBC5@ 70 A?>45;O=5 =0 5:@0=</span></p><p>5@A8O %0<br/>8=:>25: <a href="https://github.com/ArsenArsen/KShare"><span style=" text-decoration: underline; color:#007af4;">@>3@0<5= :>4</span></a>, <a href="https://github.com/ArsenArsen/KShare/issues"><span style=" text-decoration: underline; color:#007af4;">"@0:5@ =0 ?@>1;5<8B5</span></a>, <a href="http://kshare.arsenarsen.com"><span style=" text-decoration: underline; color:#007af4;">#51A09B</span></a>, <a href="https://patreon.com/arsen"><span style=" text-decoration: underline; color:#007af4;">Patreon</span></a></p></body></html>5

KShare - The free and open source and cross platform screen sharing software

Version %0
Links: Source code, Issue tracker, Website, Patreon

AboutBox0 KShare About KShareAboutBox<a href="http://doc.qt.io/qt-5/qgraphicsblureffect.html#BlurHint-enum">0<5F8 70 70<J3;O20=5B>QBlur HintsBrushPenSelection"0<5: 70 0=8<0F8O Animated HintBrushPenSelection,0AB@>9:8 =0 AB@5;:0B0Arrow settingsBrushPenSelection@(8@>G8=0 8 28A>G8=0 =0 AB@5;:0B0Arrow width and heightBrushPenSelection$1@0B=> 4803>=0;=>Backwards diagonalBrushPenSelection. 048CA =0 70<J3;O20=5B> Blur RadiusBrushPenSelection40AB@>9:8 =0 70<J3;O20=5B> Blur settingsBrushPenSelection&2OB =0 G5B:0B0 Brush ColorBrushPenSelection;D0 =0 G5B:0B0 Brush alphaBrushPenSelection(0AB@>9:8 =0 G5B:0B0Brush settingsBrushPenSelection0715@5B5 F2OB =0 G5B:0B0Choose brush colorBrushPenSelection2715@5B5 F2OB =0 E8<8:0;0Choose pen colorBrushPenSelection>7<5B8G=>CosmeticBrushPenSelectionD0AB@>9:8 =0 @540:B>@0 70 :0AB@5=5Crop editor settingsBrushPenSelection (0@:0 A :@JAB>25 Cross patternBrushPenSelection;JB=> 1Dense 1BrushPenSelection;JB=> 2Dense 2BrushPenSelection;JB=> 3Dense 3BrushPenSelection;JB=> 4Dense 4BrushPenSelection;JB=> 5Dense 5BrushPenSelection;JB=> 6Dense 6BrushPenSelection;JB=> 7Dense 7BrushPenSelection&803>=0;=8 :@JAB>25Diagonal crossBrushPenSelection @02> 4803>=0;=>Forwards diagonalBrushPenSelection%>@87>=B0;=> HorizontalBrushPenSelection57 G5B:0No BrushBrushPenSelection4;5<5=B0 ?> ?JBO 8<0 G5B:0Path item has brushBrushPenSelection &2OB =0 E8<8:0;0 Pen ColorBrushPenSelection ;D0 =0 E8<8:0;0 Pen alphaBrushPenSelection*0AB@>9:8 =0 E8<8:0;0 Pen settingsBrushPenSelection20<5: 70 ?@>872>48B5;=>ABPerformance HintBrushPenSelection"0<5: 70 :0G5AB2> Quality HintBrushPenSelection!>;84=>SolidBrushPenSelection5@B8:0;=>VerticalBrushPenSelection(8@>G8=0WidthBrushPenSelection*>?8@0=> 2 :;8?1>@40!Copied to clipboard!ClipboardUploader2KShare 8718@0G =0 F25B>25KShare Color PickerColorPickerScene6KShare @540:B>@ 70 :0AB@5=5KShare Crop Editor CropEditor!B@5;:0Arrow CropScene0<J3;O20=5Blur CropScene B:07Cancel CropScene*7B@89 2A8G:8 @8AC=:8Clear all drawing CropScene>B2J@48Confirm CropScene7:0AB@O9Crop CropScene ;8?A0Ellipse CropSceneC<0Eraser CropScene"!2>1>4=> @8AC20=5 Free draw CropScene6KShare @540:B>@ 70 :0AB@5=5KShare Crop Editor CropScene:0B8A=5B5 F1 70 40 ?>:065B5 8;8 40 A:@85B5 B>78 =0<5: 04@J6B5 Shift 70 40 701028B5 :C@A>@0 Ctrl+@>2;0G5B5 =5I> 70 40 3> 87<5AB8B5 Alt+;8:=5B5 2J@EC @8AC=:0 70 40 O ?@5<0E=5B5 0B8A=5B5 Return/Enter 70 40 ?@8:;NG8B5 0B8A=5B5 ESC 70 40 >B:065B5 7?>;7209B5 ;5=B0B0 A <5=N 70 40 @8AC20B5 : "@O120 40 8715@5B5 '7:0AB@O9' ?@548 40 70B2>@8B5 @540:B>@0 :> =5 =0?@028B5 B>20, B>9 =O<0 40 A5 70B2>@8.Press F1 to toggle this hint Hold Shift to slow the cursor down Ctrl+Drag a thing to move it around Alt+Click a drawing to remove it Press Return/Enter to finish Press ESC to cancel Use the menu bar to draw NOTE: You must select 'Crop' before closing the editor If you do not it will not close. CropScene@02>J3J;=8: Rectangle CropScene0AB@>9:8Settings CropScene@020 ;8=8O Straight line CropScene "5:ABText CropSceneP8=:JB 70 :0G20=5 5 :>?8@0= 2 :;8?1>@40! Copied upload link to clipboard!CustomUploader^ 57C;B0BJB >B :>?8@0=5B> 5 :>?8@0= 2 :;8?1>@40!"Copied upload result to clipboard!CustomUploaderP3@0=8G5=85B> =0 D09;>25B5 15 ?@528H5=>!File limit exceeded!CustomUploader<KShare ?5@A>=0;878@0= J?;>C4J@KShare Custom Uploader CustomUploader$>@5=JB =5 5 >15:BRoot not an objectCustomUploaderT0G20=5B> 702J@H8, => @57C;B0BJB 5 ?@075=!Upload done, but result empty!CustomUploader0G20=5B> 702J@H8, => @57C;B0BJB =5 5 JSON >15:B!  57C;B0BJB 5 2 :;8?1>@40.@Upload done, but result is not JSON Object! Result in clipboard.CustomUploaderF2A8G:8 __E54J@8 B@O120 40 A0 =87>25all __headers must be stringsCustomUploader`2A8G:8 5;5<5=B8 >B BO;>B> B@O120 40 1J40B >15:B8$all elements of body must be objectsCustomUploaderz2A8G:8 G0AB8 B@O120 40 8<0B BO;>, :>5B> 5 8;8 >15:B, 8;8 =87!5all parts must have a body which is object or string!CustomUploaderl2A8G:8 G0AB8 >B BO;>B> B@O120 40 A0 8;8 =87, 8;8 >15:B*all parts of body must be string or objectCustomUploader0base64 B@O120 40 5 1C;52base64 must be booleanCustomUploader8base64 5 704J;68B5;5= A jsonbase64 required with jsonCustomUploaderLBO;>B> =5 5 <0A82 (=C6=> 70 multipart)%body not array (needed for multipart)CustomUploader"BO;>B> =5 5 >15:Bbody not objectCustomUploader(BO;>B> =5 5 704045=> body not setCustomUploaderPBO;>B> =5 5 =87 (?@8G8=0: format: PLAIN)'body not string (reason: format: PLAIN)CustomUploader&>?8A0=85B> =5 5 =87desc not a stringCustomUploader0fileLimit =5 5 45A5B8G5=fileLimit not decimalCustomUploader(D>@<0BJB 5 =520;845=format invalidCustomUploaderFD>@<0BJB 5 ?@54>AB025=, => =5 5 =87format provided but not stringCustomUploader8E54J@8B5 B@O120 40 A0 >15:B8headers must be objectCustomUploader(<5B>4JB =5 5 20;845=method invalidCustomUploader <5B>4JB =5 5 =87method not a stringCustomUploader8<5B> =5 5 =87name is not a stringCustomUploader*2@JI0=5B> 5 =520;84=>return invalidCustomUploaderG5;B0 ;8?A20target missingCustomUploaderG5;B0 =5 5 URLtarget not URLCustomUploaderN<html><head/><body><p><a href="http://doc.qt.io/qt-5/qpixmap.html#save"><span style=" text-decoration: underline; color:#007af4;">0G5AB2></span></a></p></body></html>

Quality

EncoderSettingsDialogP<html><head/><body><p><a href="https://trac.ffmpeg.org/wiki/Encode/H.264#crf"><span style=" text-decoration: underline; color:#007af4;">CRF</span></a></p></body></html>

CRF

EncoderSettingsDialog<html><head/><body><p><a href="https://trac.ffmpeg.org/wiki/Encode/H.264#crf"><span style=" text-decoration: underline; color:#007af4;">@5420@8B5;=> 704045=8 =0AB@>9:8</span></a></p></body></html>

Preset

EncoderSettingsDialog8B@59BBitrateEncoderSettingsDialog,$>@<0B ?> ?>4@0718@0=5Format defaultEncoderSettingsDialog 07<5@ =0 GOPGOP sizeEncoderSettingsDialogH0AB@>9:8 =0 5=:>45@0 70 87>1@065=8OImage Encoder SettingsEncoderSettingsDialog8KShare =0AB@>9:8 =0 5=:>45@0KShare Encoder SettingsEncoderSettingsDialog:57 703C10 (=5 A5 ?@5?>@JG20)Lossless (not recommended)EncoderSettingsDialogTODO: Find whatever configuration GIF can have in ffmpeg's libav@TODO: Find whatever configuration GIF can have in ffmpeg's libavEncoderSettingsDialogt@>O =0 A=8<:8B5 2 3@C?0 >B A=8<:8, 8;8 0 A0<> 70 2JB@5H=8CThe number of pictures in a group of pictures, or 0 for intra only EncoderSettingsDialog<0AB@>9:8 =0 5=:>45@0 70 2845>Video Encoder SettingsEncoderSettingsDialog 0?8H8RecordHotkeyInputDialog !?@8 70?8A20B5=>Stop recordingHotkeyInputDialogbJ2545B5 imgpl.us  :;NG0 (0<5@5= 2 0AB@>9:8).Enter the imgpl.us API key (Found in Settings)ImgplusUploader imgplus  :;NGimgplus API keyImgplusUploader<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'Noto Sans'; font-size:10pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">!J7409 =>2> ?@8;>65=85:</p></body></html>

Create a new application:

ImgurSettingsDialog#?J;=><>I8 AuthorizeImgurSettingsDialogID =0 :;85=B0 Client IDImgurSettingsDialog "09=0 =0 :;85=B0 Client SecretImgurSettingsDialog75<8 ?8=0 Get the pinImgurSettingsDialog$Imgur 02B5=B8:0F8O Imgur authImgurSettingsDialog>J2545B5 ID =0 :;85=B0 8 B09=0:Insert Client ID and secret:ImgurSettingsDialog&J2545B5 ?8=0 4>;C:Insert the pin below:ImgurSettingsDialog 01>B8! It works!ImgurSettingsDialog5 @01>B8 Not workingImgurSettingsDialog OAuth2OAuth2ImgurSettingsDialogB2>@8 Imgur Open imgurImgurSettingsDialogPINImgurSettingsDialogj0G20=5B> =5 5 CA?5H=>! 7>1@065=85B> 5 B2J@45 3>;O<>Failed upload! Image too big ImgurUploader`0G20=5B> =5 15 CA?5H=>! Imgur :070: HTTP %1: %2&Failed upload! imgur said: HTTP %1: %2 ImgurUploader0KShare J?;>C4J@ 70 ImgurKShare imgur Uploader ImgurUploader0KShare J?;>C4J@ 70 ImgurKShare imgur Uploader  ImgurUploader0G5=> 2 Imgur!Uploaded to imgur! ImgurUploader & 09>=&Area MainWindow&&718@0G =0 F25B>25 &Color Picker MainWindow&&O; 5:@0= &Fullscreen MainWindow &7;57&Quit MainWindow &0?8A &Recording MainWindow&=AB@C<5=B8 &Utilities MainWindow1>@B8@09Abort MainWindow0About MainWindow :B825= ?@>7>@5F Active window MainWindow &$09;Fi&le MainWindow=52=8:Log MainWindowz$>@<0BJB 70 70?8A20=5 =5 5 704045= 2 =0AB@>9:8B5. 1>@B8@0=5./Recording format not set in settings. Aborting. MainWindow"&!=8<:0 =0 5:@0=0 Scree&nshot MainWindow0AB@>9:8Settings MainWindow0?>G=8Start MainWindow!?@8Stop MainWindow!2J@720=5B> =0 :;028H0 %1 5 =5CA?5H=>! ;028HJB @538AB@8@0= ;8 5 25G5?@Could not bind the hotkey %1! Is the keybind already registered?QObjectZ!J4020=5B> =0 48@5:B>@8OB0 config 5 =5CA?5H=>Could not make config directoryQObjectl0G20=5B> 5 =5CA?5H=>! B3>2>@JB 5 :>?8@0= 2 :;8?1>4@02Failed to upload! Copied the response to clipboardQObject"5?@028;5= D09;: Invalid file: QObject4KShare J?;>C4J@ 70 imgplusKShare imgplus UploaderQObject&0G5=> 2 ImagePlus!Uploaded to ImagePlus!QObjectp!J74020=5B> =0 2@5<5==0 48@5:B>@8O 5 =5CA?5H=>. @5H:0: -Could not create temporary directory. Error: RecordingFormats&@5H:0 2 5=:>45@0: Encoder error: RecordingFormatsR@5<5: %1 04J@: %2 ;028H 70 A?8@0=5: %3Time: %1 Frame: %2 Stop key: %3RecordingPreviewR@5<5: 00:00 04J@: 0 ;028H 70 A?8@0=5: Time: 00:00 Frame: 0 Stop key: RecordingPreview|KShare: 715@5B5 @09>= (0B> A<5=OB5 @07<5@0 =0 B>78 ?@>7>@5F)-KShare: Select Area (By resizing this window)ScreenAreaSelector03;0A5B5 @09>=0 =0 70?8A20=5 :0B> ?@><5=8B5 @07<5@0 =0 B>78 ?@>7>@5F. %1x%20Set the recording region by resizing this. %1x%2ScreenAreaSelectorL%(date format)date 8 %ext Ae ?>44J@60B)%(date format)date and %ext are supportedSettingsDialogZ0:JA=5=85 ?@548 ?@025=5 =0 A=8<:0, 2 A5:C=48.A delay before taking a screenshot, in secondsSettingsDialog :B825= ?@>7>@5F Active windowSettingsDialog 07H8@5=8AdvancedSettingsDialog!=8<:0 =0 @09>= Area imageSettingsDialog0A=5<8 :C@A>@0Capture cursorSettingsDialogb0A=5<8 :C@A>@0 (87:;NG5=>: ;8?A20 8<?;5<5=B0F8O)1Capture cursor (disabled: implementation missing)SettingsDialog$718@0G =0 F25B>25 Color pickerSettingsDialogD0AB@>9:8 =0 @540:B>@0 70 :0AB@5=5Crop editor settingsSettingsDialogD0:JA=5=85 ?@548 ?@025=5 =0 A=8<:0 Delay before taking a screenshotSettingsDialog5AB8=0F8O: Destination:SettingsDialog>78F8O =0 @540:B>@0 (?@><5=5B5 0:> @540:B>@JB =5 ?>:@820 F5;8O 5:@0=)FEditor Position (tweak if the editor does not cover the entire screen)SettingsDialog*0AB@>9:8 =0 5=:>45@0Encoder settingsSettingsDialog:!E5<0 70 8<5=0B0 =0 D09;>25B5File name scheme:SettingsDialog:OAB> 70 70?8A20=5 =0 D09;>25File save locationSettingsDialog*!=8<:0 =0 F5;8O 5:@0=Fullscreen imageSettingsDialog;028H8HotkeysSettingsDialog A5:C=48 In secondsSettingsDialogDB2>@8 48@5:B>@8OB0 =0 =0AB@>9:8B5Open settings directorySettingsDialog0?:0 70 A=8<:8Pictures folderSettingsDialogh0B8A:0=5 =0 <X> A:@820 ?@>3@0<0B0 2 A8AB5<=88O trayPressing hides to traySettingsDialogTJ@7 @568< (A=8<:0 ?@8 ?CA:0=5 =0 <8H:0B0)&Quick mode (mouse release screenshots)SettingsDialog $>@<0B =0 70?8A8Recording formatSettingsDialogt0?:0 70 A=8<:8 =0 5:@0=0 (J2 20H0B0 ?>B@518B5;A:0 ?0?:0)(Screenshots folder (In your user folder)SettingsDialog*!B0@B8@09 70?8A20=5B>Start RecordingSettingsDialog6$>@<0B =0 =5?>4286=8 A=8<:8Still image formatSettingsDialog !?@8 70?8A20=5B>Stop RecordingSettingsDialogE>4InputTextItem""5:AB 70 4>102O=5 Text to addTextItem 5OA5= J?;>C4J@ Ambigious uploader UploaderSingletonLOAB>B> 70 A=8<:8 =5 <>60 40 A5 =0<5@8&Cannot determine location for picturesUploaderSingletonX><0H=0B0 28 48@5:B>@8O =5 <>60 40 A5 =0<5@80Cannot determine location of your home directoryUploaderSingletonx71@0=8OB J?;>C4J@ =5 5 =03;0A5= ?@028;=>! @JI0=5 :J< ImgurICurrently selected uploader is not set up properly! Falling back to imgurUploaderSingleton5?@028;=0 :>=D83C@0F8O [saveLocation =5 5 int 8;8 =5 5 2 480?07>=0]8Invalid config [saveLocation not int or is not in range]UploaderSingletonLKShare - 5CA?5H=> 70?8A20=5 =0 A=8<:0KShare - Failed to save pictureUploaderSingleton