Use the link prefs.properties (click link) to edit the preferences.2. Set the property vcr_dir
(You can also use an ASCII editor. The preferences files are usually stored within your home directory, for example "C:\Dokumente und Einstellungen\myname\cowfish_streamingserver\" on a german windows OS or "/Users/myname/" on MacOS X for user "myname".)
a) Acces via (SMB) Filesystem
ATTENTION: Use two backslash characters to specify a backslash.
Example:The *.crid files are located at the server "Media", Share "vcr" (which means: the shared windows folder is "\\media\vcr").
So set in prefs.proprties:vcr_dir=\\\\media\\vcr
b) Acces via FTP3. Additional Properties: Hide DebugGUI, disable BrowserStart, navi.refresh, readwrite_access (timeshift)
If the Harddisk drive is directly connected to the Settop Box you have to use the FTP access. FTP is also recommended if want to use the timeshift feature (see additional property readwrite_access).Example:
- Your Settop Box must be running and being connected to the network.
- Get the IP address of the box.
- Check the firmware version of the box and the USB port where the HD is connected to.
- First make sure that you can access the FTP directory containing the *.crid files with your browser or FTP client.
- set the property vcr_dir to ftp://USER:PASSWORD@BOX-IP/DIRNAME (see the following examples).
- If you have the "lemmi"-firmware installed ensure that LEMMI_START_FTP_SERVER is set to "daemon" (see FAQ and www.m740.de/wiki ).
Since Firmware version 2.1: set in prefs.proprties:
vcr_dir=ftp://media:media@192.168.1.101/USB-HDD-1
(recorded files stored on HDD USB1)
vcr_dir=ftp://media:media@192.168.1.101/USB-HDD-2
(recorded files stored on HDD USB2)
vcr_dir=ftp://usb1:usb1@192.168.2.2/Video
(recorded files stored on HDD USB1)
vcr_dir=ftp://usb2:usb2@192.168.2.2/Video
(recorded files stored on HDD USB2)
Firmware version number less than 2.0: set in prefs.proprties:The ftp server of the dvb-box seems not to be the fastest one - If you want to watch a smooth timeshift you might give it a 10 minute delay. The ftp server of the latest firmware seems also be a little bit faster. I've experienced a very good timeshift operation with an external NAS Device (Buffalo LinkStation) accessed via FTP.
vcr_dir=ftp://media:media@192.168.1.101/USB-HDD
(FTP is supported by the box since firmware 1.50.6)
4. Start Viewer via Hyperlink(You have to restart the server to activate the changed properties)
- If everything works fine you should set the property "
gui_enabled=false
" to hide the server's debugging GUI.- the boolean property readwrite_access enables the timeshift and the current recording playback. It's enabled for FTP access by default. "
readwrite_access=true
" to enable the playback links for usual filesystem access. (It depends on the FileSystem if readwrite access is supported or not. FTP access is recommended.)- You might also set the property "
startBrowser=false
" to disable the automatic browser start.- navi.refresh specifies the refresh period of the navi control elements. Set this property to 5 to refresh the navi elemenents every 5 seconds (A fast computer is recommended for this option, because the rendering of the navi-bar might interrupt the streaming or the local viewer).
- vlcPlugin.enabled shows or hides the VLC Plugin link (Mozilla and Internet Explorer). See the next section.
- admin.remote.enabled set the value true if you want to allow remote administration.
- loglevel - this property defines the details of logging. Valid values are "DEBUG","INFO","WARN","ERROR" and "OFF".
Method A: If you use a Mozilla (Firefox) or Internet Explorer WebBrowser you can install the VLC Plugin (shipped with the VLC Setup) to start the VLC via hyperlink. (For the Internet Explorer you have to install the VLC-ActiveX component, too). Set the property vlcPlugin.enabled=true to enable the PlugIn links.5. Encode Jobs (ffmpeg/ Apple iPod Video / Sony PSP..)
Method B: If your WebBrowser and your Cowfish server runs on the same machine you can enable the localplayer option. All you have to do is adjust the following three properties:The VLC player is also suitable to convert a recording to be played on another device (Apple iPod video). (You have to restart the server to activate the changed properties) Please keep in mind that the viewer is started as a subprocess of the server - so it runs in the same user context as the server which might be an security issue if you run the server as a system-service of user 'root'. Also the operation might fail (on Unix Systems), because the viewer would be started for the wrong user-display.
- Ensure, that the property 'localplayer.bin' points to the correct executable. (Do not forget to place values with Space characters into quotes.)
- The property 'localplayer.args' holds the arguments for the application. The placeholder '${file}' will be expanded to the http://servername/navi/stream/xyz.ts URL. You might add additional viewer options like --fullscreen. Please check your viewer (VLC) commandline documentation for additional options.
To list all vlc options enter 'vlc -H --advanced'.
Do NOT place the whole argument list into quotes because the player would not be capable to parse them.- Finally, do not forget to set the property 'localplayer.enabled=true'.
The server offers a job-based encoder interface to convert the recordings to another video format. The preconfigured settings generate LOWRES MP4 .mov files to be viewed on an iPod Video using the ffmpeg encoder (not included).6. Export to ProjectX
Requirements: get the encoder (ffmpeg) and place it in the cowfish's bin/ directory. (A lot of similar encoder programs use ffmpeg internally. So you might copy the ffmpeg-Application for MacOS from the ffmpegX package or for windows from the "SUPER" Converter. Some binaries for windows are hosted at http://arrozcru.no-ip.org/ (we used version "ffmpeg-SVN-r7166-static-gpl-win32.zip" for the tests) You might use your favourite search engine to find the executable on the web.) Check the "encoder.program" settings and set the property encoder.enabled=true. Restart the server. Use the new hyperlink "iPodEncoder" to manage the job scheduling.# enable the encoder encoder.enabled=true # flag: encode all recordings automatically # set this flag to false to start all jobs manually encoder.autoprocess.enabled=false # name of your encoder (shown as hyperlink) encoder.name=iPodEncoder # destination directory for encoded videos encoder.out.dir=C\:\\Dokumente und Einstellungen\\All Users\\Dokumente\\Eigene Videos # prefix of the encoded video during conversion # Use an absolute path if you want to encode in another directory than # encoder.out.dir, for example C\:\\Dokumente und Einstellungen\\All Users\\Dokumente\\TEMPVideos\\_enc encoder.out.temp.prefix=_enc # executed encoder program (ffmpeg) # The following vars are expanded (inklusive "quotes") # ${encoder.in} // path to input file (MPEG2 TS) # ${encoder.out} // output file # ${encoder.title} // Title (ASCII characters) # ${encoder.comment} // Description/Comment of the record # ${encoder.timestamp} // Date of Recording encoder.program="C\:\\Dokumente und Einstellungen\\myname\\cowfish_streamingserver\\bin\\ffmpeg.exe" -y -vcodec xvid -b 720 -qmin 3 -qmax 5 -bufsize 4096 -g 300 -acodec aac -ab 80 -i ${encoder.in} -s 640x480 -aspect 4\:3 -deinterlace -title ${encoder.title} -timestamp ${encoder.timestamp} -comment ${encoder.comment} ${encoder.out} encoder.queues.dir=C\:\\Dokumente und Einstellungen\\myname\\cowfish_streamingserver\\data\\queues # suffix of the generated file encoder.suffix=.mov # temp directory (for fetched MPEG2TS files) encoder.temp.dir=C\:\\Dokumente und Einstellungen\\myname\\Lokale Einstellungen\\Temp\\cowfish_enc.tmp # Number of parallel encoding processes # ${availableProcessors} : number of available processors encoder.threads=${availableProcessors}Encoder hints
Standby/Suspend to Disk and network shares:
If encoder.out.dir points to a networks share it might cause some trouble with the ffmpeg encoder if the computer switches to standby/suspend to disk mode. Solution: Specify a absolute path to a local directory for property "encoder.out.temp.prefix". So ffmpeg will encode to your local filesystem - after that the file is copied by the cowfish to the network share.
iPod Video:
- Sync iPod Video with iTunes: Drag and Drop the generated movie to the iTunes library. Now you can sync the iPod with your iTunes library.
- You can use Apple's Quicktime PRO to cut the generated *.mov files (remove advertisments, etc..).
- iPod HIRES ffmpeg params (640x480):
ffmpeg -y -vcodec xvid -b 720 -qmin 3 -qmax 5 -bufsize 4096 -g 300 -acodec aac -ab 80 -i ${encoder.in} -s 640x480 -aspect 4\:3 -deinterlace -title ${encoder.title} -timestamp ${encoder.timestamp} -comment ${encoder.comment} ${encoder.out}- iPod LORES params (320x240, cowfish defaults):
ffmpeg -y -vcodec xvid -b 300 -qmin 3 -qmax 5 -bufsize 4096 -g 300 -acodec aac -ab 80 -i ${encoder.in} -s 320x240 -aspect 4\:3 -title ${encoder.title} -timestamp ${encoder.timestamp} -comment ${encoder.comment} ${encoder.out}
If you want to export a recording to ProjectX by clicking a 'export' hyperlink, you have to configure the following prefs.properties:7. Optional Init/Exit Scripts for MacOS X and Linux(You have to restart the server to activate the changed properties) This feature is only available on the computer where the cowfish server is running. Please be patient after clicking the export link - ProjectX takes some times to display the gui. To avoid a "freezing" of the ProjectX application you should check the "drop client w/o logout" FTP option in the menu "PreSettings / Net". If you want a faster processing of the TS data, you have to copy them first to your local computer (by "downloading" them using the hyperlink). Then start ProjectX and load the local TS file. Alternatively to this solution you can use ProjectX with Gigaset Extension (see m740 forum) that makes the same job (perhaps, even a little bit better :-)).
- Install ProjectX (its hosted also at sourceforge). Check the web for already compiled JAR files.
- Adjust the properties "edit.command", "edit.command.execdir" and "edit.command.tsfiles.prefix" .
- Set
edit.enabled=true
to activate the export link.
examples:edit.command=java -jar C\:\\Programme\\ProjectX\\ProjectX.jar -gui -name ${name} -out "C:\Dokumente und Einstellungen\stroeter\\Eigene Dateien\\Eigene Videos" ${tsfiles} edit.enabled=true edit.command.execdir=C\:\\Programme\\ProjectX edit.command.tsfiles.prefix=ftp\://anonymous\:anonymous@192.168.1.108\:21//ProjectX is loacted at C:\Programme\ProjectX, the dvb files are accessed via FTP from 192.168.1.108 using the account anonymous:anonymous.
On non Windows OS you should enable the cmd_init and cmd_exit scripts to mount and unmount the SMB share the vcr_dir points to.
a) set the properties cmd_exit_enabled and cmd_init_enabled=true.
b) edit the file smb_share.properties (click link) and ensure that the property smb_mountdir points to the same directory as the property vcr_dir.
Example:# access config for SMB share //media/vcr smb_mountdir=/Users/myname/cowfish_streamingserver/vcr smb_host=192.168.1.108 smb_workgroup=HOMEGROUP smb_login=guest:guest smb_share=vcr