[HACK] Vidéos RIFF CDXA sur PSX

Des soucis pour hacker votre jeu ? C'est ici qu'il faut exposer votre problème.
Avatar de l’utilisateur
exeko
Bras droit de Leknaat
Messages : 23
Inscription : 06 juil. 2007, 19:16

[HACK] Vidéos RIFF CDXA sur PSX

Message non lu par exeko » 01 août 2007, 13:21

Bonjour à tous, j'aurais besoin de vos lumières, si quelqu'un a déjà été confronté à un problème similaire : j'essaye d'extraire, d'éditer et de réinserer la vidéo d'intro du jeu Suikoden, sur PSX.

Cette vidéo porte l'extension .STR, et, contrairement aux autres vidéos du jeu, elle ne fonctionne pas dans STR2AVI... et d'ailleurs, elle ne semble pas du même format que les autres : elle possède un header RIFF CDXA...
le seul moyen que j'ai trouvé pour pouvoir la transformer en AVI sans compression, c'est de la passer dans Psxmulticonverter, puis de la ripper à nouveau dans virtual dub, sans compression... et elle est enfin lisible par str2avi : je peux la transformer de avi uncompressed vers STR via STR2AVI.

Bien entendu, il n'y a plus le header RIFF CDXA, et CD Mage refuse de remplacer l'archive originale par mon nouveau fichier ("import file must be riff cdxa type".)... Que faire ? existe t il des programmes permettant de passer de ce format de fichier, qui visiblement n'est pas stricto sensu un STR normal vers un AVI sans compression, et vice versa ? Des idées ?

Sinon... la même vidéo d'intro existe dans l'iso en format STR (sans header RIFF CDXA, donc je peux l'éditer, la remplacer sans souci), en japonais... mais elle n'est pas utilisée par le jeu (pas que je sache, du moins). Peut être y a t il un moyen de romhacker l'executable pour que ce soit cette vidéo qui soit chargée ? Ca me parait difficile... mais bon...

J'espère que ce n'est pas trop confus...

Merci de votre réponse :)

Avatar de l’utilisateur
Jes
Pom pom pom
Messages : 5822
Inscription : 24 févr. 2002, 14:05
Localisation : Siège social de BessaB
Contact :

Message non lu par Jes » 01 août 2007, 15:42

Ce problème ne me surprend pas vraiment, ce qui est plus étonnant c'est que ça fonctionne pour d'autres fichiers de ton CD.

Mais d'abord une petite précision ou deux: ce programme que tu appeles str2avi, j'imagine qu'il s'agit en réalité de MC32? Et comment t'y prends-tu pour extraire et réinsérer les vidéos qui fonctionnent? Suis-tu exactement la même procédure, c'est à dire: extraction avec CDMage, conversion en AVI avec MC32, modification de l'AVI, reconversion en STR avec MC32 et réinsertion du STR avec CDMage?

Avatar de l’utilisateur
exeko
Bras droit de Leknaat
Messages : 23
Inscription : 06 juil. 2007, 19:16

Message non lu par exeko » 01 août 2007, 16:21

Oui en effet, il s'agit bien d'MC32 désolé :)

Pour être vraiment exact, il existe 3 .STR au sein de l'iso :
-SUIKODEN.STR (qui contient l'intro, c'est elle que je veux modifier, possède un header RIFF CDXA)
-573LOGO.STR (contient l'animation du logo konami, je n'ai rien à y changer, possède aussi un header RIFF CDXA)
-OPEN15MX.STR (contient l'intro en version jap, a priori n'est pas utilisée par le jeu, et ne possède pas d'header RIFF CDXA, et donc, fonctionne avec MC32)

J'ai pu ripper le 3e fichier en avi, puis en STR a partir de l'avi, et le réinserer via cdmage, sans qu'il ne bronche... mais rien ne dit cependant que la vidéo réinserée sera pour autant lisible sur une playstation : puisque la vidéo ne semble pas utilisée... ça ne m'avance pas a grand chose car je n'ai pas de moyen de tester...
Y a t il un moyen pour éditer le fichier str qui m'interesse ? avec ou sans mc32...

Avatar de l’utilisateur
marwin91
Nouveau Floodeur
Messages : 40
Inscription : 29 juin 2005, 19:16

Message non lu par marwin91 » 03 août 2007, 15:19

exeko a écrit :Oui en effet, il s'agit bien d'MC32 désolé :)

Pour être vraiment exact, il existe 3 .STR au sein de l'iso :
-SUIKODEN.STR (qui contient l'intro, c'est elle que je veux modifier, possède un header RIFF CDXA)
-573LOGO.STR (contient l'animation du logo konami, je n'ai rien à y changer, possède aussi un header RIFF CDXA)
-OPEN15MX.STR (contient l'intro en version jap, a priori n'est pas utilisée par le jeu, et ne possède pas d'header RIFF CDXA, et donc, fonctionne avec MC32)

J'ai pu ripper le 3e fichier en avi, puis en STR a partir de l'avi, et le réinserer via cdmage, sans qu'il ne bronche... mais rien ne dit cependant que la vidéo réinserée sera pour autant lisible sur une playstation : puisque la vidéo ne semble pas utilisée... ça ne m'avance pas a grand chose car je n'ai pas de moyen de tester...
Y a t il un moyen pour éditer le fichier str qui m'interesse ? avec ou sans mc32...
Pour tester télécharge l'emulateur PSX(c'est l'emulateur qui se rapproche le plus d'une playstation).

Avatar de l’utilisateur
Pixel
Codeur à l'irc dormant
Messages : 1946
Inscription : 17 avr. 2002, 17:30
Localisation : San Jose
Contact :

Message non lu par Pixel » 12 août 2007, 15:26

Hmm, bon, j'vais quand même répondre par ici; j'ai cédé à la tentation de lire un peu plus loin que le premier sujet.


Suikoden est un très, très vieux jeu. Etrangement, il utilise des techniques de programmation qui ne sont plus "acceptées" par Sony depuis bien longtemps, et du coup le format des fichiers vidéo provient d'un encodeur d'un autre âge; un des premiers kits de devs sony.

Idéalement, il faudrait reverser complètement le format utilisé, et programmer l'encodeur / décodeur spécifiquement pour ce vieux format. Notez que le format "STR" n'en est pas vraiment un: il n'y a jamais eu de norme. La seule constante, c'est le fait que le fichier contiendra une vidéo au format MJPEG, chaque image étant un JPEG encodé de manière un peu bidouillée. C'est à peu près tout. Le reste est à la discrétion du programmeur, qui peut vouloir ou non utiliser les outils officiels sony pour créer un fichier vidéo. Ce qu'a fait Konami en l'occurence, c'est utiliser les outils sony, mais tellement vieux que sony eux-même a décidé de ne plus les utiliser très rapidement après leur sortie.



Donc là, on retombe dans le problème classique du "il n'y a aucun outil prévu pour ce problème-ci".
pixel: A mischievous magical spirit associated with screen displays. The computer industry has frequently borrowed from mythology. Witness the sprites in computer graphics, the demons in artificial intelligence, and the trolls in the marketing department.

Avatar de l’utilisateur
Jes
Pom pom pom
Messages : 5822
Inscription : 24 févr. 2002, 14:05
Localisation : Siège social de BessaB
Contact :

Message non lu par Jes » 12 août 2007, 22:17

(Hum, j'avais complètement oublié de repasser par ici).

Pour les headers RIFF/CDXA, il faut pas chercher bien loin, c'est CDMage qui les rajoute lors de l'extraction de fichiers .STR ou .XA. Il n'y a strictement aucun header RIFF physiquement présent sur le CD de Suikoden. En fait, CDMage imite là un comportement (imbécile) de Windows. Sur ce bien-aimé OS, les fichiers d'un CD stockés partiellement ou totalement dans des secteurs audio ou vidéo ne sont pas restitués tels qu'ils sont réellement sur le CD: ils sont encapsulés dans un format RIFF, une norme créée par Microsoft pour les fichiers multimédia. Ce comportement est d'ailleurs facilement observable en examinant le contenu d'un CD audio sous Windows. Copie un des fichiers .DA visibles dans l'explorateur sur le disque dur, et ouvre-le avec un éditeur hexadécimal: tu verras qu'il a été encapsulé dans un format RIFF/CDDA. Soit dit en passant, les fichiers .DA ne sont eux-même pas physiquement répertoriés sur le CD, ils sont générés par Windows. Mais inutile de s'attarder là-dessus.

Bref, MC32 ne peut pas ouvrir un STR extrait avec CDMage parce qu'il ne correspond pas au vrai STR contenu sur le CD, tout simplement. Et d'ailleurs, supprimer l'header RIFF du fichier ne suffirait pas à le faire avaler par MC32. En fait, CDMage extrait les STR comme une brute (mais exactement comme le ferait Windows pour ce type de fichier), et outre l'header RIFF, d'autres données ne faisant pas partie du STR original sont embarquées dans le fichier extrait. Résultat, le fichier obtenu est totalement inutilisable par MC32.

Donc, pour bien faire, il faut extraire les STR proprement du CD-ROM. Je ne sais pas s'il existe un programme tout fait qui pourrait le faire, mais de toute façon, c'est l'affaire de quelques dizaines lignes C ou C++. Et je suis sûr qu'avec un framework comme CD-Tool, ça pourrait se faire en moins de lignes de code encore :p Une fois correctement extrait, MC32 acceptera sans problème le STR que tu veux traduire, même s'il a été généré avec une vieille version de l'encodeur de Sony. Tiens, au passage, MC32 fait partie du SDK officiel de Sony (37000$ pièce), et tu n'es pas sensé pouvoir l'utiliser, ni même l'avoir entre les mains :D Mais bon, je ne connais pas de logiciels "libres" capables de recompresser des STR. A moins que... CD-Tool? :p

PS: Ah tiens, au sujet de ce fameux fichier OPEN15MX.STR qui, contrairement aux autres, ne foire pas avec CDMage. L'explication est toute simple: ce fichier n'est pas stocké sur le CD dans des secteurs audio/vidéo (ce qui empêche du même coup sa lecture en streaming par le hardware PSX, mais ça n'a aucune importance puisque c'est une vidéo jap qui a probablement été oubliée là par mégarde :D). Donc CDMage l'extrait tout à fait correctement, et donc MC32 l'accepte sans problème.

Avatar de l’utilisateur
Skeud
Oook ?
Messages : 3800
Inscription : 25 févr. 2002, 22:01
Localisation : Loompaland
Contact :

Re: Vidéos RIFF CDXA sur PSX

Message non lu par Skeud » 29 juil. 2012, 01:32

Grave Digger, mais je m'en fiche, c'est pour la bonne cause.
J'ai eu récemment à bidouiller un jeu Playstation, pour récupérer la vidéo. Cet outil est actuellement le plus pratique.
Si tu ressens l'envie de travailler, assieds-toi, et attends qu'elle te passe....
A mon niveau, on ne croit pas, on sait. (Docteur Helmut Perchut)

Avatar de l’utilisateur
pinktagada
Mauvaise ROMhackeuse débutarte
Messages : 2338
Inscription : 10 mars 2010, 10:39
Localisation : Midgard
Contact :

Re: Vidéos RIFF CDXA sur PSX

Message non lu par pinktagada » 30 juil. 2012, 00:17

Belle pelle. 5 ans, bravo.
MAIS Y A PLUS DE PLACE A L'ÉCRAN! NON DE MERDE MÊME SI JE TE DONNE TOUS LA PLACE DU MONDE DANS LA ROM!! TU POURRAIS PAS EN FAIRE AFFICHÉ PLUS A L'ÉCRAN!!!
Un grand philosophe...

Image

Répondre