PVR to network storage

Here for general support for D series TVs, request and problem solve area.
Post Reply

Flocki1987
Posts: 4
Joined: Mon Jan 20, 2014 1:33 pm
Location: Gambach (Hessen) / Germany

PVR to network storage

Post 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
Mkò
Posts: 199
Joined: Fri Jul 29, 2011 2:34 pm

Re: PVR to network storage

Post 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.
User avatar
beatfreak
SamyGO Project Donor
Posts: 597
Joined: Tue Aug 23, 2011 9:03 am
Location: Hamburg
Contact:

Re: PVR to network storage

Post 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
//UE40C6500 @ T-VALDEUC 3011 // rooted manual HotelMode style // PVR to NFS via 18MB on-the-fly sparse XFS // >> decommissioned due to tuner death
//UE46F8090 @ T-FXPDEUC 1136 // rooted by new Widget // root starting with empty usb drive
FYI: you can close your ssh session with SamyGO with

Code: Select all

~.
If you can't fix it using dvct tape, you are not using enough dvct tape.
Deus3X
SamyGO Project Donor
Posts: 168
Joined: Wed Feb 19, 2014 10:29 am

Re: PVR to network storage

Post 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 :P
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 :P
User avatar
juusso
SamyGO Moderator
Posts: 10129
Joined: Sun Mar 07, 2010 6:20 pm

Re: PVR to network storage

Post by juusso »

maybe H series require some changes? Or are you talking about D series?
LE40B653T5W,UE40D6750,UE65Q8C
Have questions? Read SamyGO Wiki, Search on forum first!
FFB (v0.8), FFB for CI+ . Get root on: C series, D series, E series, F series, H series. rooting K series, exeDSP/exeTV patches[C/D/E/F/H]

DO NOT EVER INSTALL FIRMWARE UPGRADE
Deus3X
SamyGO Project Donor
Posts: 168
Joined: Wed Feb 19, 2014 10:29 am

Re: PVR to network storage

Post 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 :P
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 :P
User avatar
juusso
SamyGO Moderator
Posts: 10129
Joined: Sun Mar 07, 2010 6:20 pm

Re: PVR to network storage

Post by juusso »

scripts from D to H series are same, just with some series-dependent-fixes. Maybe you have to use another image filesystem?
LE40B653T5W,UE40D6750,UE65Q8C
Have questions? Read SamyGO Wiki, Search on forum first!
FFB (v0.8), FFB for CI+ . Get root on: C series, D series, E series, F series, H series. rooting K series, exeDSP/exeTV patches[C/D/E/F/H]

DO NOT EVER INSTALL FIRMWARE UPGRADE
Deus3X
SamyGO Project Donor
Posts: 168
Joined: Wed Feb 19, 2014 10:29 am

Re: PVR to network storage

Post 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 :P
any suggestion?
User avatar
juusso
SamyGO Moderator
Posts: 10129
Joined: Sun Mar 07, 2010 6:20 pm

Re: PVR to network storage

Post by juusso »

IIRC PVR on F series uses ext4 or?
LE40B653T5W,UE40D6750,UE65Q8C
Have questions? Read SamyGO Wiki, Search on forum first!
FFB (v0.8), FFB for CI+ . Get root on: C series, D series, E series, F series, H series. rooting K series, exeDSP/exeTV patches[C/D/E/F/H]

DO NOT EVER INSTALL FIRMWARE UPGRADE
Deus3X
SamyGO Project Donor
Posts: 168
Joined: Wed Feb 19, 2014 10:29 am

Re: PVR to network storage

Post by Deus3X »

juuso wrote:IIRC PVR on F series uses ext4 or?
i think so, but where i have to edit the script?

Post Reply

Return to “[D] Support”