Shell Script - Bad Number - automatic YouTube Upload

Status
Für weitere Antworten geschlossen.

Clero92

Benutzer
Mitglied seit
28. Mai 2013
Beiträge
17
Punkte für Reaktionen
0
Punkte
0
Hallo,

ich versuche ein Script zu schreiben, welches in einen speziellen Ordner schaut und die darin enthaltenen *.mp4 mit meinem Account auf YouTube hochlädt.

Was ich bisher habe:

Rich (BBCode):
#!/bin/sh

anzahl_der_dateien=$(find /volume1/Privat/010_shell/yt-videos/*.mp4 -type f | wc -l)

date=$(date +%d.%m.%Y---%Hh.%Mmin.%Ssec)
echo "--- --- --- --- --- --- --- --- --- --- --- --- --- --- ---" >> /volume1/Privat/010_shell/DS211j.log
echo "Start Upload Videos to YouTube $date" >> /volume1/Privat/010_shell/DS211j.log

if [ $anzahl_der_dateien -gt 0 ]
   then
      		
   array_videos=$(ls /volume1/Privat/010_shell/yt-videos/*.mp4)       
   
   i=0
   counter=0
         		        						
   while [ $i -ne $anzahl_der_dateien ]
   do
   	        												
   /volume1/Privat/010_shell/youtube-upload --email=meineEmailAdresse --password=MeinPasswort --title=$array_videos[$counter] --description="description" --category=Games --keywords="mutter, beethoven" --private /volume1/Privat/010_shell/yt-videos/$array_videos[$counter]
   		        															
   counter=$counter+1
   i=$i+1
         		        																					
   done
       																							
   fi
        																							        
date_end=$(date +%d.%m.%Y---%Hh.%Mmin.%Ssec)
echo "Ende Upload Video's to YouTube $date_end" >> /volume1/Privat/010_shell/DS211j.log

Ich bekomme jetzt den Fehler: sh: 0+1: Bad Number
Das "Youtube-PlugIn" hab ich wie folgt installiert ( http://code.google.com/p/youtube-upload/wiki/Readme ).

Weiß einer weiter? Danke :)

MfG Clero
 

goetz

Super-Moderator
Teammitglied
Sehr erfahren
Mitglied seit
18. Mrz 2009
Beiträge
14.032
Punkte für Reaktionen
287
Punkte
393
Hallo,
probiere mal

counter=$(($counter+1))
und
i=$(($i+1))

Gruß Götz
 

Clero92

Benutzer
Mitglied seit
28. Mai 2013
Beiträge
17
Punkte für Reaktionen
0
Punkte
0
Hallo,

sauber :) jetzt läuft das Script schon weiter! Danke :)

Ich bastle noch weiter rum, wenns läuft poste ich den Rest :)

MfG Clero
 

Clero92

Benutzer
Mitglied seit
28. Mai 2013
Beiträge
17
Punkte für Reaktionen
0
Punkte
0
Moinsen,

so, ich hab mal das Script funktionsfähig zu ende geschrieben :)

Code:
#!/bin/sh

cd /volume1/Privat/010_shell/youtube-upload-0.7.2/bin/

Scriptlog=/volume1/Privat/010_shell/DS211j.log 						        #Logdatei, wie lange das Script benötigt
Videolog=/volume1/Privat/010_shell/yt-videos/videos.log					#Videolog, um die Video-Pfade zu speichern
Videopfad=/volume1/Privat/010_shell/yt-videos/						#Pfad, wo die Videos sind
Password=$(cat /volume1/Privat/010_shell/password.txt)					#Nur root Zugriff
Keywords=$(cat /volume1/Privat/010_shell/keywords.txt)					#Datei für die Keywords der Videos | Inhalt der Datei: KW1, KW2, KW3
Description=$(cat /volume1/Privat/010_shell/description.txt)				#Datei für die Beschreibung der Videos
Emailadresse=$(cat /volume1/Privat/010_shell/emailadresse.txt)				#Datei für die E-Mail Adresse

date_start=$(date +%d.%m.%Y---%Hh.%Mmin.%Ssec)
echo "--- --- --- --- --- --- --- --- --- --- --- --- --- --- ---" >> $Scriptlog
echo "Start Upload Videos to YouTube $date_start" >> $Scriptlog

if [ -f $Videopfad*.mp4 ]
 then
     anzahl_der_dateien=$(find $Videopfad*.mp4  -type f | wc -l)

 else
 
 echo "Keine Videos gefunden!" >> $Scriptlog

 fi

if [ $anzahl_der_dateien -gt 0 ]
   then
   
   if [ -f $Videolog ]
   then
       rm $Videolog
   fi

   ls -1 $Videopfad*.mp4 >> $Videolog
   
   i=0
   counter=0
         		        						
   while [ $i -ne $anzahl_der_dateien ]
   do
 
   Zeile_1_Videolog=$(head -n 1 $Videolog)						#Erste Zeile von Videolog einlesen
   Zeile_1_Videolog_Name=${Zeile_1_Videolog##*/}					#Pfad abschneiden 
   sed -i 1D $Videolog									        #Erste Zeile von Videolog löschen
  
   youtube-upload --email="$Emailadresse" --password="$Password" --title="$Zeile_1_Videolog_Name"  --description="$Description" --category=Games --keywords="$Keywords" --private "$Zeile_1_Videolog" >> $Scriptlog
   
   counter=$(($counter+1))
   i=$(($i+1))
  
   #echo $Zeile_1_Videolog								#Zum Testen auskommentieren 
   #echo $Emailadresse									#Zum Testen auskommentieren
   #echo $Password									#Zum Testen auskommentieren
   #echo $Description									#Zum Testen auskommentieren
   #echo $Keywords									#Zum Testen auskommentieren
   #echo $Zeile_1_Videolog_Name							#Zum Testen auskommentieren
   
   done
       																							
   rm -R "$Videopfad"*									#Inhalt von Video-ordner löschen
   
   fi
        																							        
date_end=$(date +%d.%m.%Y---%Hh.%Mmin.%Ssec)
echo "End Upload Videos to YouTube $date_end" >> $Scriptlog


Folgende Abfrage funktioniert noch nicht ganz:

Code:
if [ -f $Videopfad*.mp4 ]
 then
     anzahl_der_dateien=$(find $Videopfad*.mp4  -type f | wc -l)

 else
 
 echo "Keine Videos gefunden!" >> $Scriptlog

 fi

Wenn .mp4 Dateien im Ordner sind, dann geht alles richitg. Wenn nicht, dann läuft das Script zwar weiter, aber in der shell wird ein Fehler ausgegeben: sh: 0: unknown operand

Kann einer nochmal helfen ^^ Danke :)

MfG Clero
 

Clero92

Benutzer
Mitglied seit
28. Mai 2013
Beiträge
17
Punkte für Reaktionen
0
Punkte
0
Ich hab den Fehler wohl gefunden :)

Der zweite if Block muss komplett in den ersten rein (unter der Zeile: anzahl_der_dateien...). Vorher wollte er immer die Variable anzahl_der_dateien im zweiten if Block prüfen, die aber gar nicht gefüllt war bzw. existiert hat.

Verbesserungsvorschläge, um das Script "besser" oder "schneller" zu machen, bitte posten :)

Ich habs jetzt im Cronjob drinn und es läuft einwandfrei :)

MfG Clero
 

Himself

Benutzer
Mitglied seit
23. Mrz 2011
Beiträge
6
Punkte für Reaktionen
0
Punkte
0
Funktioniert dieses Youtube-Upload Script und wie installiere ich es?
Ich mache keine Hehl daraus mich so gut wie garnicht mit Linux auskenne und eine Anleitung für Anfänger brauche :eek:
Danke :)
 

Clero92

Benutzer
Mitglied seit
28. Mai 2013
Beiträge
17
Punkte für Reaktionen
0
Punkte
0
Moin,

#Funktioniert dieses Youtube-Upload Script?
Ja, es funktioniert super für mich :)

#Wie installiere ich es?
Hmmm, da du ja ein Linux Anfänger bist, weiß ich nicht genau, auf was ich eingehen soll ^^.

Hier die Installations Steps:
1.) Das "Youtube-PlugIn" installieren ( http://code.google.com/p/youtube-upload/wiki/Readme ).
2.) Dann musst du eine .sh Datei erstellen mit dem Inhalt von dem Script oben (vorher noch an dein System anpassen UND die Variablen ändern).
3.) Diese .sh Datei noch mit CHMOD Ausführungsrechte geben (glaub 644, weiß aber net mehr genau).

Damit wäre es einsatzbereit. Jetzt musst noch diese .sh Datei in den Crontab von root reinschreiben und den Crontab Service neustarten.
Um alle Ausgaben des Scriptes in eine Log-Datei zu schreiben, musst du im Crontab hinter der .sh Datei noch folgendes schreiben:

>> /volume1/Privat/010_shell/YouTube_Upload.log 2>&1

z.B. Crontab Eintrag

Code:
/Pfad/zur/Datei/automatic_youtube_upload_v4.sh >> /volume1/Privat/010_shell/YouTube_Upload.log 2>&1

Siehe: http://www.synology-wiki.de/index.php/Cron

Hier ist die aktuellste Version des Scriptes (allerdings ungetestet, ich wollte mich echt heute dransetzen und es in mein System spielen XD).

Code:
#!/bin/sh 
# >> /volume1/Privat/010_shell/YouTube_Upload.log 2>&1
# automatic_youtube_upload_v4.sh

cd /volume1/Privat/010_shell/youtube-upload-0.7.2/bin/

Videolog=/volume1/Privat/010_shell/yt-videos/videos.log					#Videolog, um die Video-Pfade zu speichern
Videopfad=/volume1/Privat/010_shell/yt-videos/						#Pfad, wo die Videos sind
Password=$(cat /volume1/Privat/010_shell/password.txt)					#Nur root Zugriff
Keywords=$(cat /volume1/Privat/010_shell/keywords.txt)					#Datei für die Keywords der Videos | Inhalt der Datei: KW1, KW2, 
Description=$(cat /volume1/Privat/010_shell/description.txt)				#Datei für die Beschreibung der Videos
Emailadresse=$(cat /volume1/Privat/010_shell/emailadresse.txt)				#Datei für die E-Mail Adresse
Count_Parts="6"
Script_Name=${$("/volume1/Privat/010_shell/automatic_youtube_upload_v4.sh")##*/}

echo "--- --- --- --- --- --- $Script_Name --- --- --- --- --- --- --- --- ---"
echo "Start $Script_Name $(date +%d.%m.%Y---%Hh.%Mmin.%Ssec)"
echo ""

echo "--> 1/$Count_Parts <--"
echo "Start Prüfen und Löschen von $Videolog $(date +%d.%m.%Y---%Hh.%Mmin.%Ssec)"
if [ -f $Videolog ]
 then
  rm $Videolog
 fi
echo "End Prüfen und Löschen von $Videolog $(date +%d.%m.%Y---%Hh.%Mmin.%Ssec)"
echo "----- 1 -----"
echo ""

echo "--> 2/$Count_Parts <--"
echo "Start Videodateinamen in $Videolog schreiben $(date +%d.%m.%Y---%Hh.%Mmin.%Ssec)"
ls -1 $Videopfad*.mp4 >> $Videolog
echo "End Videodateinamen in $Videolog schreiben $(date +%d.%m.%Y---%Hh.%Mmin.%Ssec)"
echo "----- 2 -----"
echo ""

echo "--> 3/$Count_Parts <--"
echo "Start prüfe, ob $Videolog existiert und anzahl_der_dateien bestimmen $(date +%d.%m.%Y---%Hh.%Mmin.%Ssec)"
if [ -s $Videolog ]
 then 
  anzahl_der_dateien=$(find $Videopfad*.mp4  -type f | wc -l)
   echo "End prüfe, ob $Videolog existiert --> anzahl_der_dateien = $anzahl_der_dateien $(date +%d.%m.%Y---%Hh.%Mmin.%Ssec)"
   echo "----- 3 -----"
   echo ""
   
  echo "--> 4/$Count_Parts <--"
  echo "Prüfe, ob '$anzahl_der_dateien' -gt 0 $(date +%d.%m.%Y---%Hh.%Mmin.%Ssec)"
  if [ $anzahl_der_dateien -gt 0 ]
   then
  echo "End prüfe, ob '$anzahl_der_dateien' -gt $anzahl_der_dateien $(date +%d.%m.%Y---%Hh.%Mmin.%Ssec)"
  echo "----- 4 -----"
  echo ""
   
   i=0
   echo "--> 5/$Count_Parts <--"	
   echo "Beginne mit Upload der Videos $(date +%d.%m.%Y---%Hh.%Mmin.%Ssec)"
   while [ $i -ne $anzahl_der_dateien ] #not equal
   do
 
   Zeile_1_Videolog=$(head -n 1 $Videolog)						#Erste Zeile von Videolog einlesen
   Zeile_1_Videolog_Name=${Zeile_1_Videolog##*/}					#Pfad abschneiden 
   Video-Title=${Zeile_1_Videolog_Name%.mp4}
  
   echo "Start upload $Zeile_1_Videolog $(date +%d.%m.%Y---%Hh.%Mmin.%Ssec)"
  
   youtube-upload --email="$Emailadresse" --password="$Password" --title="$Video-Title"  --description="$Description" --category=Games --keywords="$Keywords" --private "$Zeile_1_Videolog"
  
   echo "End upload $Zeile_1_Videolog $(date +%d.%m.%Y---%Hh.%Mmin.%Ssec)"
  
   echo "Start delete $Zeile_1_Videolog $(date +%d.%m.%Y---%Hh.%Mmin.%Ssec)"
   
   rm "$Zeile_1_Videolog"
   
   echo "End delete $Zeile_1_Videolog $(date +%d.%m.%Y---%Hh.%Mmin.%Ssec)" 

   ls -1 $Videopfad*.mp4 >> $Videolog
   
   if [ ($(find $Videopfad*.mp4  -type f | wc -l)) -gt 0 ]
   then
   if [ $anzahl_der_dateien -ne ($(find $Videopfad*.mp4  -type f | wc -l)) ]
   then
   if [$anzahl_der_dateien -eq 1 ] #equal
   then
   
   $anzahl_der_dateien=0
   
   else
   
   $anzahl_der_dateien=$(find $Videopfad*.mp4  -type f | wc -l)
   
   fi
   fi
   
   else
   $anzahl_der_dateien="0"
   fi

   done
   echo "Ende mit Upload der Videos $(date +%d.%m.%Y---%Hh.%Mmin.%Ssec)"
   echo "----- 5 -----"
   echo ""
   
   echo "--> 6/$Count_Parts <--"
   echo "Start delete content of $Videopfad $(date +%d.%m.%Y---%Hh.%Mmin.%Ssec)"   																							
   rm -R "$Videopfad"*									#Inhalt von Video-ordner löschen
   echo "End delete content of $Videopfad $(date +%d.%m.%Y---%Hh.%Mmin.%Ssec)"
   echo "----- 6 -----"
   echo ""
   
   fi
   
 else

 echo "Keine Videos gefunden!"

 fi
     																							        
echo "End $Script_Name $(date +%d.%m.%Y---%Hh.%Mmin.%Ssec)"
echo "--- --- --- --- --- --- --- --- --- --- --- --- --- --- ---"
echo ""

Wie gesagt, das wären so die Basics. Wenn du irgendwas wissen willst, einfach schreiben was genau :)

MfG Clero
 

Clero92

Benutzer
Mitglied seit
28. Mai 2013
Beiträge
17
Punkte für Reaktionen
0
Punkte
0
Hier habe ich v4 des Scriptes. Gerade erfolgreich getestet und ein paar kleine Fehler behoben :)

Code:
#!/bin/sh 
# >> /volume1/Privat/010_shell/LOGS/YouTube_Upload.log 2>&1
# automatic_youtube_upload_v4.sh

cd /volume1/Privat/010_shell/youtube-upload-0.7.2/bin/

Videolog=/volume1/Privat/010_shell/yt-videos/videos.log					#Videolog, um die Video-Pfade zu speichern
Videopfad=/volume1/Privat/010_shell/yt-videos/						#Pfad, wo die Videos sind
Password=$(cat /volume1/Privat/010_shell/password.txt)					#Nur root Zugriff
Keywords=$(cat /volume1/Privat/010_shell/keywords.txt)					#Datei für die Keywords der Videos | Inhalt der Datei: KW1, KW2, KW3
Description=$(cat /volume1/Privat/010_shell/description.txt)				#Datei für die Beschreibung der Videos
Emailadresse=$(cat /volume1/Privat/010_shell/emailadresse.txt)				#Datei für die E-Mail Adresse
Count_Parts="6"
#Script_Name=${$("/volume1/Privat/010_shell/automatic_youtube_upload_v4.sh")##*/}
Script_Name=automatic_youtube_upload_v4.sh

echo "--- --- --- --- --- --- $Script_Name --- --- --- --- --- --- --- --- ---"
echo "Start $Script_Name $(date +%d.%m.%Y---%Hh.%Mmin.%Ssec)"
echo ""

echo "--> 1/$Count_Parts <--"
echo "Start Prüfen und Löschen von $Videolog $(date +%d.%m.%Y---%Hh.%Mmin.%Ssec)"
if [ -f $Videolog ]
 then
  rm $Videolog
 fi
echo "End Prüfen und Löschen von $Videolog $(date +%d.%m.%Y---%Hh.%Mmin.%Ssec)"
echo "----- 1 -----"
echo ""

echo "--> 2/$Count_Parts <--"
echo "Start Videodateinamen in $Videolog schreiben $(date +%d.%m.%Y---%Hh.%Mmin.%Ssec)"
ls -1 $Videopfad*.mp4 >> $Videolog
echo "End Videodateinamen in $Videolog schreiben $(date +%d.%m.%Y---%Hh.%Mmin.%Ssec)"
echo "----- 2 -----"
echo ""

echo "--> 3/$Count_Parts <--"
echo "Start prüfe, ob $Videolog existiert und anzahl_der_dateien bestimmen $(date +%d.%m.%Y---%Hh.%Mmin.%Ssec)"
if [ -s $Videolog ]
 then 
  anzahl_der_dateien=$(find $Videopfad*.mp4  -type f | wc -l)
   echo "End prüfe, ob $Videolog existiert --> anzahl_der_dateien = $anzahl_der_dateien $(date +%d.%m.%Y---%Hh.%Mmin.%Ssec)"
   echo "----- 3 -----"
   echo ""
   
  echo "--> 4/$Count_Parts <--"
  echo "Prüfe, ob '$anzahl_der_dateien' -gt 0 $(date +%d.%m.%Y---%Hh.%Mmin.%Ssec)"
  if [ $anzahl_der_dateien -gt 0 ]
   then
  echo "End prüfe, ob '$anzahl_der_dateien' -gt 0 $(date +%d.%m.%Y---%Hh.%Mmin.%Ssec)"
  echo "----- 4 -----"
  echo ""
   
   i=0
   echo "--> 5/$Count_Parts <--"	
   echo "Beginne mit Upload der Videos $(date +%d.%m.%Y---%Hh.%Mmin.%Ssec)"
   while [ $i -ne $anzahl_der_dateien ] #not equal
   do
 
   Zeile_1_Videolog=$(head -n 1 $Videolog)						#Erste Zeile von Videolog einlesen
   Zeile_1_Videolog_Name=${Zeile_1_Videolog##*/}					#Pfad abschneiden 
   Video_Title=${Zeile_1_Videolog_Name%.*}
  
   echo "Start upload $Zeile_1_Videolog $(date +%d.%m.%Y---%Hh.%Mmin.%Ssec)"
  
   youtube-upload --email="$Emailadresse" --password="$Password" --title="$Video_Title"  --description="$Description" --category=Games --keywords="$Keywords" --private "$Zeile_1_Videolog"
  
   echo "End upload $Zeile_1_Videolog $(date +%d.%m.%Y---%Hh.%Mmin.%Ssec)"
  
   echo "Start delete $Zeile_1_Videolog $(date +%d.%m.%Y---%Hh.%Mmin.%Ssec)"
   
   rm "$Zeile_1_Videolog"
   
   echo "End delete $Zeile_1_Videolog $(date +%d.%m.%Y---%Hh.%Mmin.%Ssec)" 
   
   ls -1 $Videopfad*.mp4 > $Videolog
   
   anzahl_der_dateien_new=$(find $Videopfad*.mp4  -type f | wc -l)
   
   if [ $anzahl_der_dateien_new -gt $i ]
   then
   if [ $anzahl_der_dateien -ne $anzahl_der_dateien_new ]
   then
   if [$anzahl_der_dateien -eq 1 ] #equal
   then
   
   $anzahl_der_dateien=0
   
   else
   
   $anzahl_der_dateien=$(find $Videopfad*.mp4  -type f | wc -l)
   
   fi
   fi
   else
   anzahl_der_dateien=0
   fi
   

   done
   echo "Ende mit Upload der Videos $(date +%d.%m.%Y---%Hh.%Mmin.%Ssec)"
   echo "----- 5 -----"
   echo ""
   
   echo "--> 6/$Count_Parts <--"
   echo "Start delete content of $Videopfad $(date +%d.%m.%Y---%Hh.%Mmin.%Ssec)"   																							
   rm -R "$Videopfad"*									#Inhalt von Video-ordner löschen
   echo "End delete content of $Videopfad $(date +%d.%m.%Y---%Hh.%Mmin.%Ssec)"
   echo "----- 6 -----"
   echo ""
   
   fi
   
 else

 echo "Keine Videos gefunden!"

 fi
     																							        
echo "End $Script_Name $(date +%d.%m.%Y---%Hh.%Mmin.%Ssec)"
echo "--- --- --- --- --- --- --- --- --- --- --- --- --- --- ---"
echo ""
 

PaddyPat

Benutzer
Mitglied seit
13. Sep 2013
Beiträge
46
Punkte für Reaktionen
0
Punkte
0
Hi,

phyton habe ich installiert (nicht die aktuelle v3 sondern die erste version im paket manager von synology)

möchte das script direkt aufrufen:
chmod +x automatic_youtube_upload_v4.sh
./automatic_youtube_upload_v4.sh

habe unter /volume1/privat/010_shell die gdata-2.0.18 sowie youtube-upload-0.7.3 entpackt.
beide pfade installiert via putty als root angemeldet -> python setup.py install

die textdateien beinhalten pw,.. usw,..

-> sh script:

cd/volume1/privat/010_shell/youtube-upload-0.7.3/bin/ (von 0.7.2 auf 0.7.3 geändert)


=>
habe dein beispiel genommen und alle pfade, wie du sie nutzt (bis auf Privat in privat) eingerichtet:

das kommt beim aufrufen raus...

--> 5/6 <--
Beginne mit Upload der Videos 21.11.2013---13h.03min.08sec
Start upload /volume1/privat/010_shell/yt-videos/GOPR0001.mp4 21.11.2013---13h.03min.09sec
/usr/local/bin/youtube-upload: line 1: ../youtube_upload/youtube_upload.py: not found
End upload /volume1/privat/010_shell/yt-videos/GOPR0001.mp4 21.11.2013---13h.03min.09sec
Start delete /volume1/privat/010_shell/yt-videos/GOPR0001.mp4 21.11.2013---13h.03min.09sec
End delete /volume1/privat/010_shell/yt-videos/GOPR0001.mp4 21.11.2013---13h.03min.09sec
ls: /volume1/privat/010_shell/yt-videos/*.mp4: No such file or directory
find: /volume1/privat/010_shell/yt-videos/*.mp4: No such file or directory
Ende mit Upload der Videos 21.11.2013---13h.03min.09sec

Kannst du mir dazu sagen, was ich falsch mache?

Danke!
 
Zuletzt bearbeitet:

LJ_Skinny

Benutzer
Mitglied seit
22. Nov 2012
Beiträge
1
Punkte für Reaktionen
0
Punkte
0
Script mehrmals aufrufen

Hallo zusammen,

ich habe dieses Script ebenfalls bei mir installiert und bin noch am Grübeln bezüglich der Einstellungen für den Cronjob.

1. Was passiert, wenn die Uploads noch nicht beendet worden sind und der Cronjob erneut ausgeführt wird?

2. Die Video.log wird ja nur als temporäres Log genutzt um die Files für den Upload bereitzustellen. Könnte man dort nicht noch was einfügen, damit das Script weiß, ob dieses File schon von einem anderen Script hochgeladen wird?

Ich habe ne Menge große Videos die evtl damit Probleme haben könnten.


Grüße HOlger
 

Himself

Benutzer
Mitglied seit
23. Mrz 2011
Beiträge
6
Punkte für Reaktionen
0
Punkte
0
Warte einfach ein paar Wochen. Im kommenden Softwareupdate DSM5.0 ist ein YouTube-Uploadmodul enthalten *yay* :D
 

X5_492_Neo

Gesperrt
Mitglied seit
24. Sep 2008
Beiträge
2.714
Punkte für Reaktionen
2
Punkte
0
Warte einfach ein paar Wochen. Im kommenden Softwareupdate DSM5.0 ist ein YouTube-Uploadmodul enthalten *yay* :D

Stimmt das? wie nutzt man das? Bin grad in einer Situation wo ichj sowas gebrauchen könnte!
 

Clero92

Benutzer
Mitglied seit
28. Mai 2013
Beiträge
17
Punkte für Reaktionen
0
Punkte
0

pinoepel

Benutzer
Mitglied seit
14. Dez 2013
Beiträge
12
Punkte für Reaktionen
0
Punkte
1
Vielen Dank für das Script, habe es soweit installiert bekommen. Habe die upload_video.py hier entnommen:
[URL="https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/youtube-api-samples/youtube-api-samples.zip"]https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/youtube-api-samples/youtube-api-samples.zip[/URL]

Python und easy_install sind natürlich mittlerweile neuer, aber das ist doch egal oder?

Fällt euch vielleicht ein, was folgende Fehlermeldung bedeutet?

server> sh automatic_youtube_upload.sh
17.02.2016---19h.35min.47sec - Start Script
17.02.2016---19h.35min.47sec - Start Upload - /volume1/photo/youtube/mp4/1.mp4
Traceback (most recent call last):
File "upload_video.py", line 15, in <module>
from oauth2client.tools import run
ImportError: cannot import name run
17.02.2016---19h.35min.49sec - Ende Upload - /volume1/photo/youtube/mp4/1.mp4
find: /volume1/photo/youtube/mp4/*.mp4: No such file or directory
17.02.2016---19h.35min.49sec - Ende Script
server>

Meine client_secret habe ich nicht per Aufruf der upload_video.py entnommen (weil ich da halt immer diesen Fehler erhalte), aber das ist doch das selbe wie der Clientschlüssel, den man bei Google bekommt oder?

Wäre für jeden Hinweis dankbar.

Edit: habe es mit https://github.com/tokland/youtube-upload hinbekommen. Die sh-Datei war dafür trotzdem eine gute Basis :)
 
Zuletzt bearbeitet:

Clero92

Benutzer
Mitglied seit
28. Mai 2013
Beiträge
17
Punkte für Reaktionen
0
Punkte
0
Moinsen,

ok cool. Viele Wege führen nach Rom :). Den Loop kannst ja trotzdem nehmen, wenn du das Script als Cronjob einbinden möchtest :).

MfG Clero
 

pinoepel

Benutzer
Mitglied seit
14. Dez 2013
Beiträge
12
Punkte für Reaktionen
0
Punkte
1
Heyhou,

ja den Loop konnte ich prima nutzen, habe es allerdings auch mit youtube-upload nicht vernünftig zum Laufen bekommen, der Upload brach immer ab. Jetzt habe ich es auch mit der upload_video.py von google direkt sehr gut hinbekommen. War eigentlich recht easy, ich stelle es gerne zur Verfügung mit kleiner Anleitung, falls jemand es brauchen kann.

Fröhliches Uploaden,
pinoepel
 

Shadow128

Benutzer
Mitglied seit
23. Dez 2012
Beiträge
15
Punkte für Reaktionen
0
Punkte
0
Muss mich hier auch mal an das Thema dranklemmen. Versuche auch gerade einen vernünftigen Youtube-Upload per Cronjob hinzubekommen.
Habe das ganze per Anleitung eingebunden, bekomme aber denselben Fehler wie pinoepel:

root@NAS:/volume1/Public/youtube# python ./upload_video.py
Traceback (most recent call last):
File "./upload_video.py", line 15, in <module>
from oauth2client.tools import run
ImportError: cannot import name run

Egal, ob ich client_secret direkt eingebe oder die XXX'e lasse.
Woran kann das noch liegen?
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat