Aller au contenu

Script Pour Synology


Messages recommandés

Bonjour,

Je voudrais réaliser un script pour mon synology, mais j'ai un problème des le début.

mon code :

#!/bin/bash

#Parametrage de iconv (piconv dans le syno)
FROM=iso-8859-1
TO=UTF-8
ICONV="piconv -f $FROM -t $TO"


funcx () {
   echo $1
}

funcx $1

Exécution :

Data> sh script.sh azertyui                                   
azertyui
Data> sh script.sh /volume1/homes/admin/test/toto/Saison 07/
/volume1/homes/admin/test/toto/Saison
Data> 

Je ne comprend pas pourquoi cela ne m'affiche pas bien mon paramètre ?

Si quelqu'un pouvait m'expliquer ce serait super .

Lien vers le commentaire
Partager sur d’autres sites

bonjour, c'est a cause du '' de 'Saison 07/'.

pour corriger le problème soit :

1) vous appeler votre script avec des double quote (") comme ceci :

Data> sh script.sh "/volume1/homes/admin/test/toto/Saison 07/"

2) essayer de faire un echo "$1" dans votre script (je ne suis pas sur que sa marche):

#!/bin/bash

#Parametrage de iconv (piconv dans le syno)
FROM=iso-8859-1
TO=UTF-8
ICONV="piconv -f $FROM -t $TO"


funcx () {
   echo "$1"
}

funcx "$1"

cordialement

Lien vers le commentaire
Partager sur d’autres sites

pour corriger le problème soit

Attention: ce n'est pas une alternative: les items "1" et "2" doivent être *tous les deux* appliqués:

1) vous appeler votre script avec des double quote (") comme ceci :

2) essayer de faire un echo "$1" dans votre script (je ne suis pas sur que sa marche):

Le "2" n'est donc pas optionnel: pour que les espaces soient préservés, toujours mettre les évaluations de variables entre doubles quotes, comme ceci: "$variable"

P.S: étant donné que bash n'est pas natif sous DSM, remplacer la 1ere ligne de ton script par:

#! /bin/ash

ou

#! /bin/sh

t'évitera d'avoir à le lancer par "sh <nom script>" pour le faire directement par "./<nom script>" (ou "<nom script>" si il est dans un des répertoire du PATH)

P.S. #2 merci de m'avoir fait découvrir que la commande "piconv" était native sous DSM, je n'avais jamais remarqué jusqu'ici. Comme quoi on apprend toujours!

Modifié par CoolRaoul
Lien vers le commentaire
Partager sur d’autres sites

merci de votre aide

J'ai bien avancé sur mon script. une fois fini je le mettrai pour que tous le monde en profite.

Le but du script est de scanner tous les répertoires des séries et d'intégrer les sous titres dans les mkv.

Moi j'en ais besoin pour lire mes séries sur ma freebox .

J'ai donc suivit ce que j'ai trouvé sur le net.

1 ) convertir le fichier srt

2) l'intégrer avec mkvmerge

Mais une fois que j'ai converti le fichier mkvmerge n'en veut plus.

Alors que si j'utilise le fichier srt de base cela fonctionne.

C'est étape sert a quoi alors ?

piconv -f iso-8859-1 -t UTF-8 base.srt >> temp.srt

 mkvmerge -v -o destination-STRF.mkv source.mkv --sub-charset 0:ISO-8859 --language 0:fre temp.Srt

Mais si je fait l'étape piconv le fichier est refusé par mkvmerge ?

Avez vous une idée du pourquoi?

Lien vers le commentaire
Partager sur d’autres sites

Mais si je fait l'étape piconv le fichier est refusé par mkvmerge ?

Avez vous une idée du pourquoi?

(ne le prend pas spécifiquement pour toi mais à force .... -_- on se lasse)

Ça devient une habitude de dire "ça ne marche pas" ou comme ici "le fichier est refusé" sans prendre la peine de copier/coller le message d'erreur rencontré.

Met-toi un peu la place de ceux qui cherchent a aider!

Pourquoi donner aussi peu d'information?

Modifié par CoolRaoul
Lien vers le commentaire
Partager sur d’autres sites

Allez je joue au devinette :):) en plus sans connaître du tt le sujet

Mais si je comprend bien la première commande piconv converti le jeu de caractères du sous titre en UTF8 et dans la commande du dessous tu essaye d'ajouter un sous titre avec le jeu de caractère iso8859 alors que tu viens de le convertir en utff8 .... Pas très logique tt cela !!!

Lien vers le commentaire
Partager sur d’autres sites

Je comprend ce que tu pense, mais si je viens poser une question c'est forcément que j'ai un problème....

Je te donne plus d'info alors y a pas de problème :

Data> ll
drwxrwxrwx    2 admin    users         4096 Dec 16 22:51 .
drwxrwxrwx    5 admin    users         4096 Dec 16 19:30 ..
-rw-rw-rw-    1 admin    users    1982732255 Dec  5 18:29 S07E01-popo-epid.mkv
-rw-rw-rw-    1 admin    users        59579 Dec  6 02:30 S07E01-popo-epid.srt
-rwxrwxrwx    1 admin    users         3235 Dec 16 20:14 script.sh
Data> piconv -f iso-8859-1 -t UTF-8 S07E01-popo-epid.srt >> temp.srt 
Data> mkvmerge -v -o destination.mkv S07E01-popo-epid.mkv  --sub-charset 0:ISO-8859 --language 0:fre temp.srt
mkvmerge v4.2.0 ('No Talking') built on Feb 14 2012 14:16:48
Error: The file 'temp.srt' has unknown type. Please have a look at the supported file types ('mkvmerge --list-types') and contact the author Moritz Bunkus <moritz@bunkus.org> if your file type is supported but not recognized properly.
Data> mkvmerge -v -o destination.mkv S07E01-popo-epid.mkv  --sub-charset 0:ISO-8859 --language 0:fre S07E01-popo-epid.srt 
mkvmerge v4.2.0 ('No Talking') built on Feb 14 2012 14:16:48
matroska_reader: Found the head...
matroska_reader: + a segment...
matroska_reader: |+ segment information...
matroska_reader: | + timecode scale: 1000000
matroska_reader: | + duration: 3247.286s
matroska_reader: | + writing app: mkvmerge v5.8.0 ('No Sleep / Pillow') built on Sep  2 2012 15:37:04
matroska_reader: |+ found cluster, headers are parsed completely
matroska_reader: |+ segment m_tracks...
matroska_reader: | + a track...
matroska_reader: |  + Track number: 1
matroska_reader: |  + Track UID: 1
matroska_reader: |  + Default duration: 41.708ms ( = 23.976 fps)
matroska_reader: |  + Track type: video
matroska_reader: |   + Pixel width: 1280
matroska_reader: |   + Pixel height: 714
matroska_reader: |   + Display width: 1280
matroska_reader: |   + Display height: 714
matroska_reader: |  + Codec ID: V_MPEG4/ISO/AVC
matroska_reader: |  + CodecPrivate, length 43
matroska_reader: |  + MinCache: 1
matroska_reader: |  + Lacing flag: 0
matroska_reader: | + a track...
matroska_reader: |  + Track number: 2
matroska_reader: |  + Track UID: 15053433562687775111
matroska_reader: |  + Default duration: 32.000ms ( = 31.250 fps)
matroska_reader: |  + Track type: audio
matroska_reader: |  + Audio track
matroska_reader: |   + Sampling frequency: 48000
matroska_reader: |   + Channels: 6
matroska_reader: |  + Codec ID: A_AC3
matroska_reader: Track 1 seems to be ok.
matroska_reader: Track 2 seems to be ok.
'S07E01-popo-epid.mkv': Using the Matroska demultiplexer.
'S07E01-popo-epid.srt': Using the SRT subtitle reader.
Warning: 'S07E01-popo-epid.srt' track 0: Warning in line 3488: The start timecode is smaller than that of the previous entry. All entries from this file will be sorted by their start time.
'S07E01-popo-epid.mkv' track 1: Using the MPEG-4 part 10 (AVC) video output module.
'S07E01-popo-epid.mkv' track 2: Using the AC3 output module.
Warning: Could not initialize the iconv library for the conversion from ISO-8859 to UFT-8. Some strings will not be converted to UTF-8 and the resulting Matroska file might not comply with the Matroska specs (error: 22, Invalid argument).
Warning: Could not initialize the iconv library for the conversion from UFT-8 to ISO-8859. Some strings cannot be converted from UTF-8 and might be displayed incorrectly (error: 22, Invalid argument).
'S07E01-popo-epid.srt' track 0: Using the text subtitle output module.
The file 'destination.mkv' has been opened for writing.

Voila le retour de mkvmerge

ok Sp@r0, c'est les commandes que j'ai trouvé sur le net.

de plus dans :

piconv -f iso-8859-1 -t UTF-8 base.srt >> temp.srt

f est la source du code et t la destination, donc normalement c'est bon

je me contente de les appliquer...

Modifié par tocks
Lien vers le commentaire
Partager sur d’autres sites

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.