Questo è il comando ffmpeg-bitstream-filters che può essere eseguito nel provider di hosting gratuito OnWorks utilizzando una delle nostre molteplici workstation online gratuite come Ubuntu Online, Fedora Online, emulatore online Windows o emulatore online MAC OS
PROGRAMMA:
NOME
ffmpeg-bitstream-filters - Filtri bitstream FFmpeg
DESCRIZIONE
Questo documento descrive i filtri bitstream forniti dalla libreria libavcodec.
Un filtro di flusso di bit opera sui dati di flusso codificati ed esegue il livello di flusso di bit
modifiche senza eseguire la decodifica.
BITSTREAM FILTRI
Quando configuri la tua build FFmpeg, tutti i filtri bitstream supportati sono abilitati da
predefinito. Puoi elencare tutti quelli disponibili usando l'opzione di configurazione "--list-bsfs".
Puoi disabilitare tutti i filtri bitstream usando l'opzione di configurazione "--disable-bsfs", e
abilitare selettivamente qualsiasi filtro bitstream utilizzando l'opzione "--enable-bsf=BSF", oppure puoi
disabilitare un particolare filtro bitstream utilizzando l'opzione "--disable-bsf=BSF".
L'opzione "-bsfs" degli strumenti ff* mostrerà l'elenco di tutti i bitstream supportati
filtri inclusi nella build.
Gli strumenti ff* hanno un'opzione -bsf applicata per flusso, prendendo un elenco separato da virgole di
filtri, i cui parametri seguono il nome del filtro dopo un '='.
ffmpeg -i INPUT -c:v copy -bsf:v filter1[=opt1=str1/opt2=str2][,filter2] OUTPUT
Di seguito è riportata una descrizione dei filtri bitstream attualmente disponibili, con i relativi
parametri, se presenti.
aac_adtstoasc
Converti MPEG-2/4 AAC ADTS in MPEG-4 Audio Configurazione specifica filtro bitstream.
Questo filtro crea un MPEG-4 AudioSpecificConfig da un header MPEG-2/4 ADTS e rimuove
l'intestazione ADTS.
Ciò è necessario, ad esempio, quando si copia un flusso AAC da un contenitore AAC ADTS non elaborato a a
FLV o un file MOV/MP4.
masticare
Rimuovere zero padding alla fine di un pacchetto.
dump_extra
Aggiungi extradati all'inizio dei pacchetti filtrati.
L'argomento aggiuntivo specifica quali pacchetti devono essere filtrati. Accetta il
valori:
a aggiungere dati extra a tutti i pacchetti di chiavi, ma solo se intestazione_locale è impostato in bandiere2 codec
campo di contesto
k aggiungi dati extra a tutti i pacchetti di chiavi
e aggiungi dati extra a tutti i pacchetti
Se non specificato si presume k.
Ad esempio il seguente ffmpeg comando forza un'intestazione globale (disabilitando così individual
intestazioni dei pacchetti) nei pacchetti H.264 generati dall'encoder "libx264", ma li corregge
aggiungendo l'intestazione memorizzata in extradata ai pacchetti chiave:
ffmpeg -i INPUT -map 0 -flags:v +global_header -c:v libx264 -bsf:v dump_extra out.ts
h264_mp4toallegatob
Converti un flusso di bit H.264 dalla modalità con prefisso di lunghezza per avviare la modalità con prefisso di codice (come
definito nell'allegato B della specifica ITU-T H.264).
Ciò è richiesto da alcuni formati di streaming, in genere il formato di flusso di trasporto MPEG-2
("mpegts").
Ad esempio, per rimuovere un file MP4 contenente un flusso H.264 in formato mpegts con ffmpeg,
puoi usare il comando:
ffmpeg -i INPUT.mp4 -codec copy -bsf:v h264_mp4toannexb OUTPUT.ts
imxdump
Modifica il flusso di bit per adattarlo a MOV e per essere utilizzabile dal decodificatore di Final Cut Pro. Questo
il filtro si applica solo al codec mpeg2video e probabilmente non è necessario per Final Cut Pro 7
e più recente con l'appropriato -tag: v.
Ad esempio, per rimuovere 30 MB/sec da NTSC IMX in MOV:
ffmpeg -i input.mxf -c copia -bsf:v imxdump -tag:v mx3n output.mov
mjpeg2jpeg
Converti pacchetti MJPEG/AVI1 in pacchetti JPEG/JFIF completi.
MJPEG è un codec video in cui ogni fotogramma video è essenzialmente un'immagine JPEG. Il
i singoli fotogrammi possono essere estratti senza perdita, ad es
ffmpeg -i ../some_mjpeg.avi -c:v copia frame_%d.jpg
Sfortunatamente, questi blocchi sono immagini JPEG incomplete, perché mancano del segmento DHT
necessario per la decodifica. Citazione da
<http://www.digitalpreservation.gov/formats/fdd/fdd000063.shtml>:
Avery Lee, scrivendo nel newsgroup rec.video.desktop nel 2001, ha commentato che "MJPEG, o
almeno il MJPEG in AVI con MJPG fourcc, è JPEG limitato con un fisso -- e
*omesso* -- Tabella di Huffman. Il JPEG deve essere lo spazio colore YCbCr, deve essere 4:2:2 e
deve usare la codifica Huffman di base, non aritmetica o progressiva. . . . puoi davvero
estrai i frame MJPEG e decodificali con un normale decoder JPEG, ma devi
anteponi loro il segmento DHT, altrimenti il decoder non avrà idea di come decomprimere
i dati. La tabella esatta necessaria è fornita nelle specifiche OpenDML."
Questo filtro bitstream patcha l'intestazione dei frame estratti da un flusso MJPEG
(portando l'ID dell'intestazione AVI1 e privo di un segmento DHT) per produrre JPEG pienamente qualificato
immagini.
ffmpeg -i mjpeg-movie.avi -c:v copia -bsf:v mjpeg2jpeg frame_%d.jpg
eiftran -i -9 fotogramma*.jpg
ffmpeg -i frame_%d.jpg -c:v copia ruotato.avi
mjpega_dump_header
movsub
mp3_header_decompress
mpeg4_unpack_bframes
Disimballare i fotogrammi B imballati in stile DivX.
I B-frame impacchettati in stile DivX non sono MPEG-4 validi ed erano solo una soluzione alternativa per i guasti
Sottosistema video per Windows. Usano più spazio, possono causare problemi di sincronizzazione AV minori, richiedono
più potenza della CPU per decodificare (a meno che il lettore non abbia una coda di immagini decodificate per compensare
lo stile 2,0,2,0 fotogrammi per pacchetto) e causare problemi se copiato in un contenitore standard
come mp4 o mpeg-ps/ts, perché i decoder MPEG-4 potrebbero non essere in grado di decodificarli, poiché
non sono MPEG-4 validi.
Ad esempio, per riparare un file AVI contenente un flusso MPEG-4 con B-frame compressi in stile DivX
utilizzando ffmpeg, puoi usare il comando:
ffmpeg -i INPUT.avi -codec copy -bsf:v mpeg4_unpack_bframes OUTPUT.avi
rumore
Danneggia il contenuto dei pacchetti senza danneggiare il contenitore. Può essere usato per fuzzing o
test di resilienza/occultamento degli errori.
Parametri: una stringa numerica, il cui valore è correlato alla frequenza con cui saranno i byte di output
modificato. Pertanto, i valori inferiori o uguali a 0 sono vietati e più bassi sono, più
verranno modificati i byte frequenti, con 1 che significa che ogni byte viene modificato.
ffmpeg -i INPUT -c copia -bsf rumore[=1] output.mkv
applica la modifica ad ogni byte.
rimuovi_extra
Usa ffmpeg-bitstream-filters online utilizzando i servizi onworks.net