Il file SFTP interrompe il file


0

Ho riscontrato uno strano problema durante il caricamento di un file video .mov in una posizione sftp remota:

Il problema è che sebbene il video1.mov locale sia riproducibile, quello remoto genera un errore di -2048 durante il tentativo di riproduzione (e un registro come "moov atom not found").

PREMESSA: il file locale e quello remoto hanno esattamente le stesse dimensioni. Quindi cosa può essere rotto?


Ciao Minitech, hai spostato l'argomento? Dovrei spostarlo perché, come vedo, non ho ancora avuto fortuna qui
Mark

Mi dispiace, sembra che non molte persone abbiano prestato attenzione. L'ho segnalato per un moderatore per spostarlo ora.
Ry-

Risposte:


2

Alcuni formati video non possono essere codificati dall'inizio alla fine in questo modo; l'encoder torna all'inizio per modificare alcuni campi di dati (dimensioni, lunghezza, ecc.). La copia a tratti non è stata in grado di gestirlo e quindi ora hai un file video rotto.


hai ragione, l'intestazione viene modificata, qualche idea su come potrei aggiornare l'intestazione sul server con i byte dall'intestazione locale?
Segna il

È possibile utilizzare ddper copiare alcuni megabyte dall'inizio del file completo, trasferirli e quindi ddintegrarli nel file danneggiato.
Ignacio Vazquez-Abrams,

il computer locale può essere windows o mac, quindi non posso usare dd per copiare l'intestazione. Invece potrei usare java, ma non trovo un modo per trasferire le informazioni su http e usarle sul lato server (ad esempio su php)
Mark

C'è dd per Windows
deed02392

1

Per quanto ne so (non sono riuscito davvero a trovare alcuna documentazione che descriva o ne ammetta l'esistenza) Il curriculum SFTP presuppone che la parte del file di destinazione che esiste già sia identica alla prima parte del file di origine, fino a la dimensione del file remoto. Quindi aggiunge il resto del file di origine dietro il file di destinazione esistente e presuppone che i due file siano ora identici.

Ciò non riesce se la parte che è stata trasferita per la prima volta cambia in uno dei file prima di riprendere il trasferimento. Immagino che il tuo .movfile abbia un qualche tipo di intestazione all'inizio del file che è necessario per riprodurlo, e questo non viene scritto nel file fino al termine della codifica. Quindi il file remoto che hai copiato mancherà questa intestazione, poiché non è stato ancora scritto quando è stato trasferito.

Altri strumenti come rsynchanno la capacità di rilevare queste cose, e in alcuni casi evitano di ritrasferire l'intero file, almeno se la modifica tardiva è semplicemente sovrascrittura e non inserimento.


grazie amico, ho avuto lo stesso pensiero ma mi hai appena confermato
Mark
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.