I'm trying to make a little script which involves playing YouTube videos from the command line using VLC. I'm using Windows 7 with VLC in the search path.
Typing
vlc http://www.youtube.com/watch?v=v0faacLn8K4
plays the video, but always at the highest quality. In the internet browser, appending the term '&fmt=18' forces a low-resolution mode. However, using this in the command line,
vlc http://www.youtube.com/watch?v=v0faacLn8K4&fmt=18
gives an error:
´fmt´ is not recognized as an internal or external command,
operable program or batch file.
I've tried quoting the url with various quotes, to no avail. The entire link gets passed to VLC, including the quotes.
What's the solution to this? Is there a VLC switch for selecting stream quality? The VLC command-line help may have the answer, but understanding the meaning of all the switches is a little beyond me.
Music credit: By Your Side by Breakbot
Go to VLC directory from command prompt and then type
vlc "http://www.youtube.com/watch?v=v0faacLn8K4&fmt=18"
Works for me.
Install Streamlink:
sudo -H pip install streamlink
Send the stream to cvlc --fullscreen:
streamlink --player="cvlc --fullscreen" "https://www.youtube.com/freecodecamp/live" best
To save bandwidth you could use worst instead of best.
Also posted here.
Do you need to run from the command line?
If you just start VLC itself then use 'ctrl+N' to open an 'Open Media' dialogue, which will be on the network tab, you can enter the url + the "&fmt=18" in the "Please enter a network URL:" area.
ie just the full path without any quotes.
Works with my VLC version 2.2.1.
Related
I'll take a batch or powershell solution, but I need to launch Edge to a specific url in kiosk mode and not having much luck. The following sees the kiosk parameter as part of the url string. This method of launching the app doesn't appear to accept parameters
start "" "shell:AppsFolder\Microsoft.MicrosoftEdge_8wekyb3d8bbwe!MicrosoftEdge" --Kiosk http://website.com
In powershell but it keeps telling me the application was not found, enter a valid appname or AUMID. But that is the correct aumid and its recognized by the batch file.
set-assignedAccess -UserName "kiosk" -AppName "Microsoft.MicrosoftEdge_8wekyb3d8bbwe!MicrosoftEdge --kiosk http://website.com"
Though similar this is not a duplicate of How to set up Microsoft Edge Chromium in kiosk mode with silent printing?
They reference edge from program files and mine is not located there. Above has been the only way I've been able to reference it successfully from batch.
Is there any way to save the PuTTY output to a file using the command line? I know this is easily done using the GUI but in my case it has to be done automatically.
What I'm working on:
User clicks batch file -> starts PuTTY, automatically connects to my device over SSH and runs a bunch of commands -> PuTTY should save the output to a file.
The last part I can't get working. Is there any command to do this?
This can be done with putty. The answer is little late considering the time the questions was asked, however this might help someone.
In putty, using GUI, you can save sessions with logging option on, as shown below.
Enter Host Name, Name the session, Go to Logging Option in the left top corner, select all sessions, provide log file name and location, go back to Session tab, click on the save button. Done, you have saved a session.
Now open CMD and write the command as below
You are done. Every time this session is invoked, the commands and output will be logged.
Hope this helps.
The specific program putty is not designed for this. Instead use plink, a different program in the PuTTY suite,
which uses the same session settings and keys as putty but gets input from stdin and puts output to stdout,
both of which can be redirected in the usual ways. See http://the.earth.li/~sgtatham/putty/0.63/htmldoc/Chapter7.html#plink .
As mentioned in previous answer, use plink for this.
Make sure it is in your environment path, by typing
plink -V
in your console. If it returns a version number, then you know it is in environment path variables. If it doesn't, probably best to fix this first. There are plenty of good SO answers to help you with this. Failing that, use the full path to your plink.exe in the CLI command that follows.
Then use plink to open your ssh connection, with the option -v set to provide verbose output. Finally, this all needs to be piped to a log file.
The complete cli command that I use is
plink -v username#xxx.xxx.xxx.xxx > ssh-output.log 2>&1
Open up the file ssh-ouput.log to see the results.
Expanding on Dave's and Charlie's answers...
Apart from making sure plink is in the path, also check whether you have write access to local ouput file.
This is how you redirect command output from remote machine to local file with plink. In this example we store an output from man page for nfcapd:
plink joe#192.168.50.50 -pw joespassword man nfcapd > output.log 2>&1
The first time you try to access the server, it will ask you store key in cache. So make sure to access the machine at least once before:
plink joe#192.168.50.50 -pw joespassword
The server's host key is not cached in the registry. You
have no guarantee that the server is the computer you
think it is.
...
Store key in cache? (y/n)
I need a way to open a file in a Metro app from command line.
So far I've figured out how to start the app from command line without any third-party scripts
explorer shell:AppsFolder\Microsoft.Reader_8wekyb3d8bbwe!Microsoft.Reader
but I haven't been able to figure out how to include a file name yet.
Launching
explorer shell:AppsFolder\Microsoft.Reader_8wekyb3d8bbwe!Microsoft.Reader example.pdf
just opens up a default explorer window.
Any idea from Windows 8 experts on how to accomplish this without any third-party tools/cmdlets/etc.?
Note: In fact I'm using Windows 10 but I guess if there's a Windows 8 / 8.1 way to do it, it'll work for 10, too.
If you're still looking for the answer, the best way to open a file in a metro app is to use an execution string like a normal app protocol does. The execution string looks like this:
bingnews:[arguments, can be left blank.]
microsoftvideo:[arguments, can be left blank.]
netflix:[arguments, can be left blank.]
So, to start up netflix, it's as simple as typing in Start netflix: into the command line.
To find the execution string for an app, go here: Control Panel\Programs\Default Programs\Set Associations
More info and examples can be found here.
http://windowsitpro.com/windows-8/opening-windows-8-apps-command-prompt-or-script
http://www.itsjustwhatever.com/2012/10/28/launch-windows-8-metro-apps-from-a-desktop-shortcut-or-command-line/
PLEASE NOTE: To open an app WITHOUT A PROTOCOL (One not listed in the registry or under "Set Associations") use OP's method:
explorer shell:AppsFolder\[appuid]![appfullname]
The app UID is the folder name without the version number. For example,
4DF9E0F8.Netflix_2.11.0.8_x64__mcm4njqhnhss8
becomes
4DF9E0F8.Netflix_mcm4njqhnhss8
The app fullname is the [App author].[App name] For example, 4DF9E0F8.Netflix. 4DF9E0F8 is the author, and Netflix is the name.
Put it all together to get
explorer shell:AppsFolder\4DF9E0F8.Netflix_mcm4njqhnhss8!4DF9E0F8.Netflix
Store Apps can only be started by the shell. So try this:
explorer.exe shell:AppsFolder\Microsoft.WindowsAlarms_8wekyb3d8bbwe!App
Or from run (Win+R):
shell:AppsFolder\Microsoft.WindowsAlarms_8wekyb3d8bbwe!App
If the app is the default handler then you can just launch the file or protocol. There isn't a good in-box way to launch a file into a non-default handler from the command line.
Windows Store apps aren't designed to run from the command line and there isn't a straightforward way to launch them from the command line. Apps which handle specific files or protocols receive them through FileActivatedEventArgs or ProtocolActivatedEventArgs rather than command line arguments
You could write a launcher app which uses CLSID_ApplicationActivationManager's IApplicationActivationManager to ActivateForFile a specific app.
The best way I've found to pass command-line arguments to the executable targeted by the shell command is via the Windows start command.
Using your example, you would end up with this:
start "" shell:AppsFolder\Microsoft.Reader_8wekyb3d8bbwe!Microsoft.Reader example.pdf
I don't have Microsoft.Reader installed, so I can't test that. However, I can verify that this pattern works with Windows Terminal. In this case, I pass it a command-line argument to tell it which profile I want to open.
start "" shell:AppsFolder\Microsoft.WindowsTerminal_8wekyb3d8bbwe!App new-tab -p "GitBash"
The first argument to the start command here — the empty string — is just the title of the window.
You can also pair this with cmd /c, which I've found is necessary for some launcher applications, such as my personal favorite, SlickRun:
cmd /c start "" shell:AppsFolder\Microsoft.WindowsTerminal_8wekyb3d8bbwe!App new-tab -p "GitBash"
I have a blog post with more info on running Modern apps from the command line, which you might find helpful in constructing these ridiculously obtuse commands.
Not sure if it works on Windows 8, but on Windows 10 I use this:
cmd /C start <app-name>:
For example, to start Slack:
cmd /C start slack:
I'm trying to use the inkscape command line interface. I have windows 7.
First I open up command line, and I run these:
cd "C:\Program Files\Inkscape-0.48"
inkscape "C:\Users\me\Desktop\Pic\Class_UML.png" --export-png="C:\Users\me\Desktop\Pic\raster.png" --export-area=0:0:100:100
Then the inkscape popup opens, and I click embed, and then click ok, and then nothing happens, and the file doesn't show up.
Does anyone know what I am doing wrong?
Thanks
As of now, there doesn't seem to be a way to do perfect silent processing in Windows. However, any command using inkscape in Windows triggers an empty window while processing in background.
If you don't want it to open separate inkscape windows everytime, try entering the inkscape interactive shell (using inkscape --shell).
PS: I don't think we can do anything more in interactive shell, more than what we can do using cmd. Hopefully someone solves the aforementioned problem in Windows and adds more functionality inside shell.
Have you tried to open the file C:\Users\me\Desktop\Pic\raster.png and see how it looks like?
Supposedly by using --export-png in the command line, inkscape will not open the interface but simply process what you requested silently.
In this case you should have the cropped image should be saved in C:\Users\me\Desktop\Pic\raster.png.
I use Linux and tried your example to test and I get the same behaviour you described plus the response in the command line
Background RRGGBBAA: ffffff00
Area 0:0:100:100 exported to 100 x 100 pixels (90 dpi)
Bitmap saved as: raster.png
Hope it helps
On Windows, in the C:\Program Files\Inkscape\bin folder, you will see both inkscape.exe and inkscape.com. Use inkscape.com.
Here is an example from PowerShell:
> & "C:\Program Files\Inkscape\bin\inkscape.com" --help
#echo off
REM setup Inskcape File Location
cd /d "C:\Program Files\Inkscape"
inkscape path\filename.svg --export-dpi=120 -e exported_image_name.png --without-gui
I have Windows mobile 6. I have installed Cre-ME+, and command line. In the command line we need to type the following command and execute it, to load Oracle Mobile Application:
\Windows\CrEme\bin\CrEme.exe -Of -classpath \Windows\CrEme\lib\AWTclasses.zip;\XONTMWA\lib\j4205328.zip oracle.apps.mwa.awt.client.StartGUI
However, Windows Mobile does not support the bat/cmd file execution, so what would be a equivalent way of starting the Oracle Mobile Application, without having to type the command every time?
Create a shortcut with the command line, either via API or with your favorite text editor.
The contents would look like this (if my character count is right anyway):
139#\Windows\CrEme\bin\CrEme.exe -Of -classpath \Windows\CrEme\lib\AWTclasses.zip;\XONTMWA\lib\j4205328.zip oracle.apps.mwa.awt.client.StartGUI