ffmpeg, vlc - Unable to find input stream - stream

Good day to all... I have some "little" problems with ffserver and ffmpeg...
What I need to do is to broadcast a live video. So I got the cam... used vlc and used send stream option. I sent it to 192.168.1.9:64555, which is a virtual machine on the same computer, running centos.
On the virtual machine I run the command ffmpeg -i 192.168.1.9:64555 output.mpg.
The response is "unable to find file whatever".
Can any1 tell me what I did wrong?
Thank you and have a great day.
Print-screen with error:

Seems that ffmpeg don't realize that it asked to open a network stream. So, it try to open the file with name "192.168.1.9:65444", not to connect a network on this address.
I suggest you consult the manual of ffmpeg. The network stream should have some prefix like udp:// or rtp:// or anything (the vlc itself uses such prefix)

Good day. I found the answer at the question. The problem was that ffmpeg can't manage live streams. It should be created a pipe.

Related

ROS: How to use sound_play to speak messages published to a topic?

I am a beginner with ROS and am trying to use ROS sound_play package to speak out loud my messages (which is in string format) that I have published to a particular topic.
So far, I am able to print out the messages onto my ROS terminal using the command $rostopic echo / , but I want my machine to concurrently SPEAK these exact messages that are printed out on my terminal.
I have also tried the command $rosrun sound_play say.py "" for my machine to speak the specific string text I input. My question is, how can I integrate sound_play to actually speak out the messages published to my topic that I have printed onto my terminal using the echo command?
Any help would be appreciated, thanks!
I think instead of using this package, I would recommend using a Python text to speech library like https://pypi.org/project/pyttsx3/
Instead of publishing the string, you can simply pass the string to the API of this library to play the sound.
Hope this helps.

Using vlcj with proxy

I have video file which is only playable using proxy in vlc player, when I try to open it with vlcj I am unable to connect to this media - I've been trying to use http proxy configuration option in mrl ( http://path_to_media :http-proxy=proxy_address ) - but it didn't work for me yet. I've also tried setting environment variable http_proxy but it also didn't work for me. Could anyone tell me what I am doing wrong? Maybe there shouldn;t be a whitespace between path to media and configuration option? Maybe config options do not work on Windows? How can I access this video (I know I could use transcoding to do it but it seems like overkill, I feel there should be a simpler way)
Generally, if you want to pass options such as "--http-proxy" then this is the way to do it:
MediaPlayerFactory factory = new MediaPlayerFactory("--http-proxy=<your settings");
Or:
String yourProxySettings = "http://whatever.com";
MediaPlayerFactory factory = new MediaPlayerFactory("--http-proxy", yourProxySettings);
Then use this factory instance to create your media player.
I suppose you use this mechanism rather than using media options when you invoke play() because you are configuring the VLC instance itself, not the individual media.
Caveat: In the versions of VLC I have, I do not see the --http-proxy option reported as an available command-line option.
You could make the request in Java, retrieve a stream and use https://github.com/caprica/vlcj/blob/de90d77bc288843b4d07dad84ff9d0515e906657/src/main/java/uk/co/caprica/vlcj/media/callback/AbstractCallbackMedia.java to give it to vlcj for playback.
Edit:
Else use
--http-proxy=<string> HTTP proxy
HTTP proxy to be used It must be of the form
http://[user#]myproxy.mydomain:myport/ ; if empty, the http_proxy
environment variable will be tried.
from https://wiki.videolan.org/VLC_command-line_help/. First try to find the correct command with the normal VLC CLI. Share your try in full here.

Wireshark does not recognize adapter

I am attempting to capture data using Wireshark and am getting this error message:
"The capture session could not be initiated on interface '\Device\NPF_Loopback' (Error opening adapter: A device which does not exist was specified. (433))."
So I went into Wireshark Options and am attempting to add an Input Capture Interface. How do I do that?
I had the same problem and couldn't fix it at all until today.
What I did was install an older stable version of Wireshark (v2.6.11 it is) and it works now.
So try this out and I hope it'll work for you as well.

Process Monitor Troubleshooting custom print driver, print spooler

Our users upgraded from Windows 7 to 10.
When they try to print using a custom print driver they get this error
The document Print Document, owned by User, failed to print on printer TEST-PRINT. Try to print the document again, or restart the print spooler.
Data type: NT EMF 1.008. Size of the spool file in bytes: 628788. Number of bytes printed: 12900. Total number of pages in the document: 6. Number of pages printed: 0.
Client computer: Devcomp. Win32 error code returned by the print processor: 2147500037. Unspecified error
Some of my observations: Internally we cannot reproduce this error internally. I have a windows 10 surface and also tried on a windows 8 machine. Our support tried it here too.
The customer can reproduce the issue without. The issue happens for some documents on some workstations. The PDF is generated from a 3rd party application for tellers. The customer saves the pdf from this signature desktop application to a PDF and uses our print driver to print to the our application.
Our print driver converts the file to PCL and sends it to the subscriber for further processing.
I can provide more info if needed regarding print driver. First of is it a problem with the print driver?
All the users who upgraded from windows 7 to a windows 10 laptop can see the issue happening. There are some windows 10 workstations that print just fine. Could it be something with the group policy or some registry settings. If I were to compare the registry or policies on the workstation that prints and the one that fails what would be the settings I need to look for? The customer's IT says that there is no difference between the two workstations except that it’s the production workstation that fails. Typical response nothing different but it doesn't work.
We also tried to disable “render print jobs on the client workstation” but this didn’t seem to make difference. I am happy to try any suggestions you’ll have.
I am looking for ideas of what kind of research and where should I start troubleshooting.
I won't be troubled if anyone chooses to vote the question down that I didn't do any research since I really don't know where to start. I am a .NET developer not a windows driver expert or systems admin.
Process Monitor Good File. The file gets created.
Create file success, create file name not found and finally create file succcess
Bad File: Create file success, create file name not found. The last create file is not called by the print.exe driver.
This solved my problem. Thanks Papercut!.
https://www.papercut.com/kb/Main/FixingPrintSpoolerCrashes
https://www.papercut.com/kb/Main/EnableAdvancedPrintingFeatures

VLC command line issue

Im very confused , the following command does not work it just opens the video , how ever if i stream manually using GUI it streams perfectly ,
i used the same code for other streams but for some reason its hit or miss whether it works or not
vlc http://192.168.1.213:8866/live?channel=3&client=1 --transcode{vcodec=h264,vb=800,scale=Auto}:http{mux=ffmpeg{mux=flv},dst=:8080/} :sour-keep
Also tried
vlc -vvv http://192.168.1.213:8866/live?channel=3&client=1 --transcode{vcodec=h264,vb=800,scale=Auto}:http{mux=ffmpeg{mux=flv},dst=:8080/} :sour-keep
and tried
--sout=#transcode{vcodec=h264,vb=700,vfilter=deinterlace,fps=25,scale=Auto,acodec=mpga,ab=128,channels=2,samplerate=44100}:http{mux=ts,dst=:8080/} :sout-keep
could someone shed some light on why the command is hit or miss for different links and any mistakes i have made
Thanks
I would try to do it like this:
--sout "#transcode{vcodec=h264,vb=700,vfilter=deinterlace,fps=25,scale=Auto,acodec=mpga,ab=128,channels=2,samplerate=44100}:std{access=http,mux=ts,dst=:8080/}"

Resources