Domanda

Ho una telecamera di rete Sony (SNC-RZ25N) che sto cercando disperatamente di ottenere i dati da un formato in significativo. La documentazione dice che manda MPEG-4 i dati grezzi, ma non è più specifico di quello. Posso catturare un segmento del flusso utilizzando ricciolo ( http://techhead.biz/media/tsv.m4v ) e giocherà con VLC e ffplay (anche se gioca troppo veloce in ffplay).

Dopo un giorno e mezzo di ritocchi, ho appena scoperto che non posso usare ffmpeg per convertire direttamente questo flusso. Per uno, l'unico modo in cui accetta ffmpeg convogliata dati come input (che io sappia) è nel formato 'yuv4mpegpipe'.

Ho cercato di tubazioni per ffmpeg usando 'm4v' come il formato specificato, ma sembra voler leggere l'intero flusso prima che inizi l'elaborazione.

Qualcuno sa come posso fare questo? L'utilizzo di strumenti a riga di comando? librerie open source in qualsiasi linguaggio di programmazione? soluzioni più semplici sono preferiti, ma qualsiasi soluzione di lavoro sarebbe grande.

È stato utile?

Soluzione

Sembra MPlayer può riprodurre il file m4v su HTTP, e almeno con il file di esempio funziona:

mkfifo /tmp/fifo
mplayer -benchmark -vo yuv4mpeg:file=/tmp/fifo http://techhead.biz/media/tsv.m4v
ffmpeg -f yuv4mpegpipe -i /tmp/fifo -vcodec libx264 -vpre libx264-hq /tmp/foo.mp4

(- riferimento Dice a MPlayer di ignorare la durata dei fotogrammi, potrebbe o non potrebbe essere necessario)

In alternativa, con un solo mencoder:

mencoder -o /tmp/foo.avi -of avi -ovc x264 -x264encopts bitrate=250 http://techhead.biz/media/tsv.m4v

Infine, se non effettivamente bisogno H.264, si può solo inserire i dati MPEG-ES esistenti in qualsiasi formato contenitore è necessario; MP4Box potrebbe essere in grado di fare questo, e ffmpeg e mencoder può se supportano il formato di output.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top