Page 1 of 18
PVR to network storage
Posted: Mon Jan 27, 2014 12:19 pm
by Flocki1987
Hello everybody.
Can someone tell me, what I have to do, to record to an existing samba share (FIY: the samba share is ntfs formatted) ?
I searched a lot and I didn't find any "how-to" for that.
I got a D6500 and samygo extensions still installed. I have also configured that my samba share was displayed inside the virtual usb (it looks like this : "smb->IP_of_Server->Share->Movies").
Thanks it advance for your help.
Best regards,
Flo
Re: PVR to network storage
Posted: Tue Jan 28, 2014 12:09 pm
by Mkò
Nobody knows how to do that and here you'll find info only for nfs share.
the shares is mounted as cifs filesystem in order to record on it you have to mount an xfs image of 1,5gb on it.
In the xfs image there are 2 directories CONTENTS and database in the dir CONTENTS in order to use it for pvr is important that you create a file called .PVRPfmChkLog with 1 as value in it.
Re: PVR to network storage
Posted: Tue Jan 28, 2014 2:35 pm
by beatfreak
that is not completely correct.
1. the folders have to be on your network share (samba/nfs doesn't matter), the xfs image only holds a placeholder file which is needed to identify the mounted image
2. the .PVRPfmChkLog is also automatically created if your record device -> network -> share server actually passes the performance test done by your TV
2a. yes it would speed up the process of getting it to work if you simply create this file
2b. but make sure your server brings enough performance, if the dataflow is completely constant without slowdowns ~15MBit/s should be enough for HD channels
you could have a look at the record to nwshare script of kayaweed, it looks like half way done ...^^
try this, i modified the remis71 script but do not have a samba share for testing
Code: Select all
#!/bin/sh
#
# ? Copyleft 1996-2011, ZsoltTech.Com
# by Ser Lev Arris <arris@ZsoltTech.Com>
# based on research of:
# andy_nl: http://sourceforge.net/apps/phpbb/samygo/memberlist.php?mode=viewprofile&u=1728
# gipas: http://sourceforge.net/apps/phpbb/samygo/memberlist.php?mode=viewprofile&u=1751
# http://sourceforge.net/apps/phpbb/samygo/viewtopic.php?f=12&t=1100&start=20#p10553
#
# donated for the SamyGo Project
# http://samygo.sourceforge.net/
#
# http://www.gnu.org/licenses/gpl-howto.html
#
# This script is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# any later version.
#
# This script is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this script. If not, see <http://www.gnu.org/licenses/>.
#
#
# 80_80_record_to_nwshare.flocki.init
#
# Modified by beatfreak 20140128
#
. /dtv/SGO.env
# Remote SMB fileserver for recording
PVRSERVER='mediaserver01.shareskills.org'
# Remote SMB share for recording
PVRSHARE='pvr_record'
##### CHANGE MEEEEE !!!!! ######
USER=""
PASSWD=""
PERM="rw" # can be ro or rw
##### CHANGE MEEEEE END ######
[ -e /mtd_rwarea/smb_userdata ] && source /mtd_rwarea/smb_userdata
[ -z $USER ] && exit 1
[ -z $PASSWD ] && exit 1
# M_OPTS="rw,user=${USER},password=${PASSWD}"
M_OPTS="$PERM,user=${USER},password=${PASSWD},codepage=cp1250,iocharset=utf8"
# Number of second to wait for pvrimage mount point to be ready.
# If you experience problem like "No virtual device found ready for PVR or already mounted" message in samygo.log then try to increase this.
WAIT=5
WriteToLog ()
{
case $2 in
1)
NOW=`date +%Y%m%d-%H%M%S`
echo "$3" "$NOW $1" >>$LOGFILE
;;
2)
echo "$3" "$1" >>$LOGFILE
;;
esac
}
CheckSMBServer ()
{
WriteToLog "Check if server $1 is reachable and SMB service available..." 1 '-n'
S_MOUNTS=$(smbclient -s "$SYSROOT/etc/samba/smb.conf" -U ${USER}%${PASSWD} \
-g -L $i | grep "Disk|" | grep -v "\\$" | grep -v " Service" | sed -r 's/.*\|(.*)\|.*/\1/' | sed -r 's/ /SGOspace/g')
# -g -L $i | grep "Disk|" | grep -v "\\$" | grep -v " Service" | cut -d "|" -f2)
[ -n "$S_MOUNTS" ] && SERVEROK='1'
if [ $SERVEROK = '1' ]; then
WriteToLog 'OK' 2
return 0
else
echo "SMB server $1 not reachable or SMB service not available"
WriteToLog 'not reachable or SMB service not available' 2
return 1
fi
}
SearchPVRImageMP ()
{
FOUND=false
WriteToLog 'Search for mount point of pvrimage...' 1
sleep $WAIT
for DEV in `echo $SAMYGODEVS`
do
MPOINT=`grep -e ^$DEV /proc/mounts | cut -d " " -f 2`
if [ -e "$MPOINT/.PlaceHolderDO-NOT-REMOVE" ] && [ $FOUND = false ]; then
PVRMPOINT=$MPOINT
FOUND=true
WriteToLog "pvrimage mount point is $PVRMPOINT" 1
fi
done
}
MountSMBShare ()
{
WriteToLog "Mount of $2:$3 on $4... " 1 '-n'
/bin/busybox mount -o "$1" "$2:$3" "$4" 2>>$LOGFILE
if [ $? = 0 ]; then
WriteToLog 'OK' 2
CONTENTSDIR="$4/CONTENTS"
if ! [ -d "$CONTENTSDIR" ]; then
echo -n "Creating directory $CONTENTSDIR for the first time..."
WriteToLog "Creating directory $CONTENTSDIR for the first time..." 1 '-n'
mkdir "$CONTENTSDIR"
echo "OK"
WriteToLog 'OK' 2
echo -n "Creating .PVRPfmChkLog file..."
WriteToLog 'Creating .PVRPfmChkLog file...' 1 '-n'
echo '1' > "$CONTENTSDIR/.PVRPfmChkLog"
echo "OK"
WriteToLog 'OK' 2
fi
echo "PVR on server $2 is now ready in localpath $4"
WriteToLog "PVR on server $2 is now ready in localpath $4" 1
else
echo "Error during mount of $2:$3 on $4 see $LOGFILE for details"
fi
}
case $1 in
start)
echo >$LOGFILE
WriteToLog 'Start Record to Network Share script (80_80_record_to_nwshare.init)' 1
CheckSMBServer "$PVRSERVER"
if [ $? = 0 ]; then
SearchPVRImageMP
if [ $FOUND = true ]; then
MountSMBShare "$M_OPTS" "$PVRSERVER" "$PVRSHARE" "$PVRMPOINT"
else
echo 'No virtual device found ready for PVR or already mounted'
WriteToLog 'No virtual device found ready for PVR or already mounted' 1
fi
fi
WriteToLog 'End Record to Network Share script (80_80_record_to_nwshare.init)' 1
;;
stop)
echo "pls request it on forum"
;;
status)
echo "pls request it on forum"
;;
*)
echo "Usage: $0 {start|stop|status}" 1>&2
exit 0
;;
esac
Re: PVR to network storage
Posted: Wed Dec 31, 2014 1:59 pm
by Deus3X
beatfreak wrote:that is not completely correct.
1. the folders have to be on your network share (samba/nfs doesn't matter), the xfs image only holds a placeholder file which is needed to identify the mounted image
2. the .PVRPfmChkLog is also automatically created if your record device -> network -> share server actually passes the performance test done by your TV
2a. yes it would speed up the process of getting it to work if you simply create this file
2b. but make sure your server brings enough performance, if the dataflow is completely constant without slowdowns ~15MBit/s should be enough for HD channels
you could have a look at the record to nwshare script of kayaweed, it looks like half way done ...^^
try this, i modified the remis71 script but do not have a samba share for testing
Code: Select all
#!/bin/sh
#
# ? Copyleft 1996-2011, ZsoltTech.Com
# by Ser Lev Arris <arris@ZsoltTech.Com>
# based on research of:
# andy_nl: http://sourceforge.net/apps/phpbb/samygo/memberlist.php?mode=viewprofile&u=1728
# gipas: http://sourceforge.net/apps/phpbb/samygo/memberlist.php?mode=viewprofile&u=1751
# http://sourceforge.net/apps/phpbb/samygo/viewtopic.php?f=12&t=1100&start=20#p10553
#
# donated for the SamyGo Project
# http://samygo.sourceforge.net/
#
# http://www.gnu.org/licenses/gpl-howto.html
#
# This script is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# any later version.
#
# This script is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this script. If not, see <http://www.gnu.org/licenses/>.
#
#
# 80_80_record_to_nwshare.flocki.init
#
# Modified by beatfreak 20140128
#
. /dtv/SGO.env
# Remote SMB fileserver for recording
PVRSERVER='mediaserver01.shareskills.org'
# Remote SMB share for recording
PVRSHARE='pvr_record'
##### CHANGE MEEEEE !!!!! ######
USER=""
PASSWD=""
PERM="rw" # can be ro or rw
##### CHANGE MEEEEE END ######
[ -e /mtd_rwarea/smb_userdata ] && source /mtd_rwarea/smb_userdata
[ -z $USER ] && exit 1
[ -z $PASSWD ] && exit 1
# M_OPTS="rw,user=${USER},password=${PASSWD}"
M_OPTS="$PERM,user=${USER},password=${PASSWD},codepage=cp1250,iocharset=utf8"
# Number of second to wait for pvrimage mount point to be ready.
# If you experience problem like "No virtual device found ready for PVR or already mounted" message in samygo.log then try to increase this.
WAIT=5
WriteToLog ()
{
case $2 in
1)
NOW=`date +%Y%m%d-%H%M%S`
echo "$3" "$NOW $1" >>$LOGFILE
;;
2)
echo "$3" "$1" >>$LOGFILE
;;
esac
}
CheckSMBServer ()
{
WriteToLog "Check if server $1 is reachable and SMB service available..." 1 '-n'
S_MOUNTS=$(smbclient -s "$SYSROOT/etc/samba/smb.conf" -U ${USER}%${PASSWD} \
-g -L $i | grep "Disk|" | grep -v "\\$" | grep -v " Service" | sed -r 's/.*\|(.*)\|.*/\1/' | sed -r 's/ /SGOspace/g')
# -g -L $i | grep "Disk|" | grep -v "\\$" | grep -v " Service" | cut -d "|" -f2)
[ -n "$S_MOUNTS" ] && SERVEROK='1'
if [ $SERVEROK = '1' ]; then
WriteToLog 'OK' 2
return 0
else
echo "SMB server $1 not reachable or SMB service not available"
WriteToLog 'not reachable or SMB service not available' 2
return 1
fi
}
SearchPVRImageMP ()
{
FOUND=false
WriteToLog 'Search for mount point of pvrimage...' 1
sleep $WAIT
for DEV in `echo $SAMYGODEVS`
do
MPOINT=`grep -e ^$DEV /proc/mounts | cut -d " " -f 2`
if [ -e "$MPOINT/.PlaceHolderDO-NOT-REMOVE" ] && [ $FOUND = false ]; then
PVRMPOINT=$MPOINT
FOUND=true
WriteToLog "pvrimage mount point is $PVRMPOINT" 1
fi
done
}
MountSMBShare ()
{
WriteToLog "Mount of $2:$3 on $4... " 1 '-n'
/bin/busybox mount -o "$1" "$2:$3" "$4" 2>>$LOGFILE
if [ $? = 0 ]; then
WriteToLog 'OK' 2
CONTENTSDIR="$4/CONTENTS"
if ! [ -d "$CONTENTSDIR" ]; then
echo -n "Creating directory $CONTENTSDIR for the first time..."
WriteToLog "Creating directory $CONTENTSDIR for the first time..." 1 '-n'
mkdir "$CONTENTSDIR"
echo "OK"
WriteToLog 'OK' 2
echo -n "Creating .PVRPfmChkLog file..."
WriteToLog 'Creating .PVRPfmChkLog file...' 1 '-n'
echo '1' > "$CONTENTSDIR/.PVRPfmChkLog"
echo "OK"
WriteToLog 'OK' 2
fi
echo "PVR on server $2 is now ready in localpath $4"
WriteToLog "PVR on server $2 is now ready in localpath $4" 1
else
echo "Error during mount of $2:$3 on $4 see $LOGFILE for details"
fi
}
case $1 in
start)
echo >$LOGFILE
WriteToLog 'Start Record to Network Share script (80_80_record_to_nwshare.init)' 1
CheckSMBServer "$PVRSERVER"
if [ $? = 0 ]; then
SearchPVRImageMP
if [ $FOUND = true ]; then
MountSMBShare "$M_OPTS" "$PVRSERVER" "$PVRSHARE" "$PVRMPOINT"
else
echo 'No virtual device found ready for PVR or already mounted'
WriteToLog 'No virtual device found ready for PVR or already mounted' 1
fi
fi
WriteToLog 'End Record to Network Share script (80_80_record_to_nwshare.init)' 1
;;
stop)
echo "pls request it on forum"
;;
status)
echo "pls request it on forum"
;;
*)
echo "Usage: $0 {start|stop|status}" 1>&2
exit 0
;;
esac
Hi, i know that is an old post... i tried your script

i created a file named "80_80_record_to_nwshare.init" with your scritp.
I just edited PVRSERVER='192.168.2.33', PVRSHARE='REG_TV' and then user and password...
The folder "REG_TV" was already visible on my vsub.
Anyway when i try to record a tv program the tv tell me that it need 1g memory etc....
Any suggestion?
TY

Re: PVR to network storage
Posted: Wed Dec 31, 2014 2:04 pm
by juusso
maybe H series require some changes? Or are you talking about D series?
Re: PVR to network storage
Posted: Wed Dec 31, 2014 2:06 pm
by Deus3X
juuso wrote:maybe H series require some changes? Or are you talking about D series?
i was testing it on an f series

i considered that f and d series are different.. but was a try

there is the same script on my init.d folder, maybe it can work

Re: PVR to network storage
Posted: Wed Dec 31, 2014 2:08 pm
by juusso
scripts from D to H series are same, just with some series-dependent-fixes. Maybe you have to use another image filesystem?
Re: PVR to network storage
Posted: Wed Dec 31, 2014 2:14 pm
by Deus3X
juuso wrote:scripts from D to H series are same, just with some series-dependent-fixes. Maybe you have to use another image filesystem?
its possible.. i'm testing it on my f series tv... but i don't know how to change the image filesystem in the script and the correct filesystem for f series

any suggestion?
Re: PVR to network storage
Posted: Wed Dec 31, 2014 2:20 pm
by juusso
IIRC PVR on F series uses ext4 or?
Re: PVR to network storage
Posted: Wed Dec 31, 2014 2:21 pm
by Deus3X
juuso wrote:IIRC PVR on F series uses ext4 or?
i think so, but where i have to edit the script?