Dit is de opdracht ffmpeg-bitstream-filters die kan worden uitgevoerd in de gratis hostingprovider van OnWorks met behulp van een van onze meerdere gratis online werkstations zoals Ubuntu Online, Fedora Online, Windows online emulator of MAC OS online emulator
PROGRAMMA:
NAAM
ffmpeg-bitstream-filters - FFmpeg bitstream-filters
PRODUCTBESCHRIJVING
Dit document beschrijft de bitstreamfilters die door de libavcodec-bibliotheek worden geleverd.
Een bitstroomfilter werkt op de gecodeerde stroomgegevens en voert het bitstroomniveau uit
wijzigingen aanbrengen zonder decodering uit te voeren.
BITSTREAM FILTERS
Wanneer u uw FFmpeg-build configureert, worden alle ondersteunde bitstreamfilters ingeschakeld door
standaard. U kunt alle beschikbare lijsten weergeven met behulp van de configuratieoptie "--list-bsfs".
U kunt alle bitstreamfilters uitschakelen met behulp van de configuratieoptie "--disable-bsfs", en
schakel selectief elk bitstreamfilter in met de optie "--enable-bsf=BSF", of u kunt
schakel een bepaald bitstreamfilter uit met de optie "--disable-bsf=BSF".
De optie "-bsfs" van de ff* tools zal de lijst van alle ondersteunde bitstreams tonen
filters inbegrepen in uw build.
De ff*-tools hebben een -bsf-optie toegepast per stream, waarbij een door komma's gescheiden lijst van
filters, waarvan de parameters de filternaam volgen na een '='.
ffmpeg -i INPUT -c:v kopiëren -bsf:v filter1[=opt1=str1/opt2=str2][,filter2] UITVOER
Hieronder vindt u een beschrijving van de momenteel beschikbare bitstreamfilters, met hun
eventuele parameters.
aac_adtstoasc
Converteer MPEG-2/4 AAC ADTS naar MPEG-4 audiospecifieke configuratie bitstreamfilter.
Dit filter maakt een MPEG-4 AudioSpecificConfig van een MPEG-2/4 ADTS-header en verwijdert
de ADTS-header.
Dit is bijvoorbeeld vereist bij het kopiëren van een AAC-stream van een onbewerkte ADTS AAC-container naar een
FLV of een MOV/MP4-bestand.
Chomp
Verwijder nulvulling aan het einde van een pakket.
dump_extra
Voeg extra data toe aan het begin van de gefilterde pakketten.
Het aanvullende argument geeft aan welke pakketten moeten worden gefilterd. Het accepteert de
waarden:
a voeg extra data toe aan alle sleutelpakketten, maar alleen als lokale_header ligt in de vlaggen2 codec
context veld
k voeg extra data toe aan alle sleutelpakketten
e voeg extra data toe aan alle pakketten
Indien niet gespecificeerd, wordt ervan uitgegaan k.
Bijvoorbeeld het volgende ffmpeg commando dwingt een globale header af (waardoor individual
pakketheaders) in de H.264-pakketten gegenereerd door de "libx264"-encoder, maar corrigeert ze
door de header die is opgeslagen in extradata toe te voegen aan de sleutelpakketten:
ffmpeg -i INPUT -map 0 -flags:v +global_header -c:v libx264 -bsf:v dump_extra out.ts
h264_mp4naarbijlageb
Converteer een H.264-bitstream van lengtevoorvoegselmodus naar startcodevoorvoegselmodus (zoals
gedefinieerd in bijlage B van de ITU-T H.264-specificatie).
Dit is vereist voor sommige streamingformaten, meestal het MPEG-2-transportstreamformaat
("mpegts").
Bijvoorbeeld om een MP4-bestand met een H.264-stream naar mpegts-formaat te remuxen ffmpeg,
je kunt het commando gebruiken:
ffmpeg -i INPUT.mp4 -codec kopiëren -bsf:v h264_mp4toannexb OUTPUT.ts
imxdump
Wijzigt de bitstream zodat deze in MOV past en bruikbaar is voor de Final Cut Pro-decoder. Dit
filter is alleen van toepassing op de mpeg2video-codec en is waarschijnlijk niet nodig voor Final Cut Pro 7
en nieuwer met de juiste -label:v.
Om bijvoorbeeld 30 MB/sec NTSC IMX naar MOV te remuxen:
ffmpeg -i input.mxf -c kopiëren -bsf:v imxdump -tag:v mx3n output.mov
mjpeg2jpeg
Converteer MJPEG/AVI1-pakketten naar volledige JPEG/JFIF-pakketten.
MJPEG is een videocodec waarin elk videoframe in wezen een JPEG-afbeelding is. De
individuele frames kunnen zonder verlies worden geëxtraheerd, bijvoorbeeld door
ffmpeg -i ../some_mjpeg.avi -c:v kopieer frames_%d.jpg
Helaas zijn deze brokken onvolledige JPEG-afbeeldingen, omdat ze het DHT-segment missen
vereist voor het decoderen. Citeren van
<http://www.digitalpreservation.gov/formats/fdd/fdd000063.shtml>:
Avery Lee, die in 2001 in de nieuwsgroep rec.video.desktop schreef, merkte op dat "MJPEG, of
tenminste de MJPEG in AVI's met de MJPG fourcc, is beperkte JPEG met een vaste -- en
* weggelaten * -- Huffman-tabel. De JPEG moet YCbCr-kleurruimte zijn, het moet 4:2:2 zijn en het
moet standaard Huffman-codering gebruiken, niet rekenkundig of progressief. . . . Dat kan inderdaad
pak de MJPEG-frames uit en decodeer ze met een gewone JPEG-decoder, maar het moet
voeg het DHT-segment eraan toe, anders heeft de decoder geen idee hoe hij moet decomprimeren
de data. De exacte tabel die nodig is, wordt gegeven in de OpenDML-specificatie."
Dit bitstreamfilter corrigeert de header van frames die zijn geëxtraheerd uit een MJPEG-stream
(met de AVI1-header-ID en zonder DHT-segment) om volledig gekwalificeerde JPEG te produceren
afbeeldingen.
ffmpeg -i mjpeg-movie.avi -c:v kopiëren -bsf:v mjpeg2jpeg frame_%d.jpg
exiftran -i -9 frame*.jpg
ffmpeg -i frame_%d.jpg -c:v kopie gedraaid.avi
mjpega_dump_header
bewegende sub
mp3_header_decomprimeren
mpeg4_uitpakken_bframes
Pak in DivX-stijl verpakte B-frames uit.
DivX-stijl verpakte B-frames zijn geen geldige MPEG-4 en waren slechts een tijdelijke oplossing voor de kapotte
Video voor Windows-subsysteem. Ze gebruiken meer ruimte, kunnen kleine AV-synchronisatieproblemen veroorzaken
meer CPU-kracht om te decoderen (tenzij de speler een gedecodeerde beeldwachtrij heeft om te compenseren
de 2,0,2,0 frame per pakketstijl) en veroorzaken problemen als ze naar een standaardcontainer worden gekopieerd
zoals mp4 of mpeg-ps/ts, omdat MPEG-4-decoders ze misschien niet kunnen decoderen, omdat ze
zijn geen geldige MPEG-4.
Bijvoorbeeld om een AVI-bestand met een MPEG-4-stream met in DivX-stijl verpakte B-frames te repareren
gebruik ffmpeg, kunt u de opdracht gebruiken:
ffmpeg -i INPUT.avi -codec kopiëren -bsf:v mpeg4_unpack_bframes OUTPUT.avi
lawaai
Beschadigt de inhoud van pakketten zonder de container te beschadigen. Kan worden gebruikt voor fuzzing of
testen van foutbestendigheid / verhulling.
Parameters: Een cijferreeks waarvan de waarde gerelateerd is aan hoe vaak uitvoerbytes zullen zijn
gewijzigd. Daarom zijn waarden onder of gelijk aan 0 verboden, en hoe lager hoe meer
Frequente bytes worden gewijzigd, waarbij 1 betekent dat elke byte wordt gewijzigd.
ffmpeg -i INPUT -c kopie -bsf ruis[=1] uitvoer.mkv
past de wijziging toe op elke byte.
verwijder_extra
Gebruik ffmpeg-bitstream-filters online met behulp van onworks.net-services