I'm trying to stream a DTV channel to an RTMP server on the internet. Due to my DVB-T stick not being recognized on Linux, I'm using a computer with Windows 7 64 bit edition. This machine is new and has plenty of power for the task.
The configuration is as follows: I use VLC to tune in to the station, transcode/resize it to MP4 (in an FLV container) and stream it to localhost through http. At the same time, I start ffmpeg to catch the local stream and then send it to a Flash Media Server through RTMP in the internet.
This approach tend to work in theory. Practically, it has lots of flaws since both programs (VLC and ffmpeg) are crashing/having errors frequently, thus stopping the DTV channel from being continuosly streamed 24/7. Now I'll relate what I've been suffering and the approach taken to (try to) solve it (I'm telling about ffmpeg only for information purposes; I'm aware this is the VLC forum and I'm not asking for support for it):
For instance, I made a .bat file that would restart VLC every time it crashes (which is very frequently), but I quickly encountered the problem of the "VLC recently crashed - do you want to report it?" dialog when restarting it, which prevents the program to start streaming until someone clicks in one of the two options. I searched this forum and the entire internet for a sollution, found the --no-interact --no-qt-privacy-ask --no-qt-error-dialogs ---no-qt-updates-notif parameters and tryied them just to find that the dialog still appears when restarting after a crash.
So I noticed the "tunning as a service" option and thought maybe this way I could avoid the dialog from appearing, and, at the same time, assure it would be permanently running (which I already solved with the .bat file) and it would be starting automatically after a restart (which I also had already done, putting it in the "init" menu).
As I already had the correct parameters I needed to run VLC as a standalone program, I put them "the service way" and ended with this:
vlc -I ntservice --ntservice-install --ntservice-name="VLC_SERVICE" --ntservice-options="-V dummy --no-interact --no-qt-privacy-ask --no-qt-error-dialogs --no-qt-updates-notif dvb-t://frequency=612000000 :dvb-bandwidth=-1 :dvb-caching=300 :sout=#transcode{vcodec=h264,vb=140,fps=25,scale=1,width=320,height=240,acodec=mp4a,ab=48,channels=2,samplerate=22050}:http{mux=ffmpeg{mux=flv},dst=:1221/test} :no-sout-rtp-sap :no-sout-standard-sap :ttl=1 :sout-keep"
Then nothing happens, which is good, since when putting wrong parameters VLC would tell me. But there is no service created. I run services.msc and cannot find my VLC_SERVICE service anywhere on the local services list. Moreover, if I run Task Manager I can see a vlc.exe 32 bit process running (a new one will be created each time I run the command above). But this process does nothing; at least it's not doing what it sould do.
I'd like to know if someone has experienced this behaviour when trying to run VLC as a service on Windows 7 (x64), if there is a way to solve this, or at least a way of getting rid of the hateful crash report dialog. I'd like to compile VLC by my own to try to get rid of it but obviously I'd like to try "easier" ways before.
Also I would thank any advise on how to approach the task I'm trying to accomplish. I know there are plenty of programs I could try on Linux simply using pipes and/or using the Video4Linux device for the DVB-T tuner as the input device on the transcoding program, but as Windows don't support it I don't know of any other software appart from this. It would be great if VLC could stream to RTMP servers, but to my knowledge this isn't supported at the momment (and I don't know of any future plans about this).
Thanks in advance to anyone who has had the patience to arrive here!
![Razz :P](./images/smilies/icon_razz.gif)