processing / processing-docs

[Deprecated] Processing reference, examples, tutorials, and website
https://processing.org
371 stars 179 forks source link

compatible video formats #78

Closed shiffman closed 9 years ago

shiffman commented 10 years ago

Now that we are using GStreamer, I believe there might be a more specific list of compatible video formats we should provide in the docs. Currently we have:

"Apple's QuickTime format" http://processing.org/reference/libraries/video/Movie.html

@codeanticode, can you shed any light on this?

Also, do we support loading a video from a URL or no?

scotthmurray commented 10 years ago

Good catch. Yes, @codeanticode, where can I find a list of video formats supported by GStreamer (and now Processing, by extension)?

REAS commented 9 years ago

I updated the reference today to remove the reference to QuickTime, but I couldn't find a definitive list of codecs we're including with GStreamer.

codeanticode commented 9 years ago

There is a command line tool that outputs the list of supported codecs, tricky because is not included with the gstreamer package currently bundled with the video library, but I think it can be sorted out. Will report back soon!

codeanticode commented 9 years ago

This is the full list of decoders:

XviD video 
Wavpack audio 
Vorbis audio 
VMnc video 
TTA audio 
Theora video 
Speex audio 
RealAudio 
RealVideo 
PNM image 
Nsf 
Musepack 
Mu Law audio 
mpeg1 and mpeg2 video 
mad mp3 
Jasper JPEG2000 image 
FLX video 
FLAC audio 
XSUB 
SubRip subtitle 
HDMV Presentation Graphic Stream subtitles 
DVD subtitles 
DVB subtitles 
Advanced SubStation Alpha subtitle 
ADPCM Yamaha 
ADPCM CDROM XA 
ADPCM Nintendo Gamecube THP 
ADPCM Shockwave Flash 
ADPCM Sound Blaster Pro 4-bit 
ADPCM Sound Blaster Pro 2.6-bit 
ADPCM Sound Blaster Pro 2-bit 
ADPCM Microsoft 
ADPCM IMA Westwood 
ADPCM IMA WAV 
ADPCM IMA Loki SDL MJPEG 
ADPCM IMA QuickTime 
ADPCM IMA Funcom ISS 
ADPCM IMA Electronic Arts SEAD 
ADPCM IMA Electronic Arts EACS 
ADPCM IMA Duck DK4 
ADPCM IMA Duck DK3 
ADPCM IMA AMV 
G.726 ADPCM 
G.722 ADPCM 
ADPCM Electronic Arts XAS 
ADPCM Electronic Arts R3 
ADPCM Electronic Arts R2 
ADPCM Electronic Arts R1 
ADPCM Electronic Arts Maxis CDROM XA 
ADPCM Electronic Arts 
ADPCM Creative Technology 
SEGA CRI ADX ADPCM 
ADPCM 4X Movie 
DPCM Xan 
DPCM Sol 
DPCM id RoQ 
DPCM Interplay 
PCM signed 20-bit little-endian planar 
Westwood Audio (SND1) 
Windows Media Audio Voice 
Windows Media Audio 2 
Windows Media Audio 1 
Windows Media Audio 9 Professional
Sierra VMD audio
VQF TwinVQ
True Audio (TTA)
DSP Group TrueSpeech
TrueHD
Smacker audio
RealAudio SIPR / ACELP.NET
Shorten
RealAudio 2.0 (28.8K)
RealAudio 1.0 (14.4K)
QDesign Music Codec 2
QCELP / PureVoice
Nellymoser Asao
Musepack SV8
Musepack SV7
MP3onMP4
MP3onMP4
ADU (Application Data Unit) MP3 (MPEG audio layer 3)
ADU (Application Data Unit) MP3 (MPEG audio layer 3)
MP3 (MPEG audio layer 3)
MP3 (MPEG audio layer 3)
MP2 (MPEG audio layer 2)
MP1 (MPEG audio layer 1)
MLP (Meridian Lossless Packing)
MACE (Macintosh Audio Compression/Expansion) 6
MACE (Macintosh Audio Compression/Expansion) 3
IMC (Intel Music Coder)
GSM Microsoft variant
GSM
FLAC (Free Lossless Audio Codec)
ATSC A/52B (AC-3, E-AC-3)
Delphine Software International CIN audio
DCA (DTS Coherent Acoustics)
COOK
Bink Audio (RDFT)
Bink Audio (DCT)
Atrac 3 (Adaptive TRansform Acoustic Coding 3)
Atrac 1 (Adaptive TRansform Acoustic Coding)
Monkey's Audio
Adaptive Multi-Rate WideBand
Adaptive Multi-Rate NarrowBand
MPEG-4 Audio Lossless Coding (ALS)
ALAC (Apple Lossless Audio Codec)
ATSC A/52A (AC-3)
AAC LATM (Advanced Audio Codec LATM syntax)
Advanced Audio Coding
Zip Motion Blocks Video
LCL (LossLess Codec Library) ZLIB
Psygnosis YOP Video
Miro VideoXL
Wing Commander IV / Xxan
Wing Commander III / Xan
Winnov WNV1
Windows Media Video 9
Windows Media Video 8
Windows Media Video 7
Westwood Studios VQA (Vector Quantized Animation) video
On2 VP8
On2 VP6 (Flash version)
On2 VP6 (Flash version, with alpha channel)
On2 VP6
On2 VP5
On2 VP3
VMware Screen Codec / VMware Video
Sierra VMD video
ATI VCR1
SMPTE VC-1
Beam Software VB
IBM UltiMotion
Renderware TXD (TeXture Dictionary) image
TechSmith Screen Capture Codec
Duck TrueMotion 2.0
Duck TrueMotion 1.0
8088flex TMV
TIFF image
Tiertex Limited SEQ video
Nintendo Gamecube THP video
Truevision Targa image
Sorenson Vector Quantizer 3 / Sorenson Video 3 / SVQ3
Sorenson Vector Quantizer 1 / Sorenson Video 1 / SVQ1
Sun Rasterfile image
Sunplus JPEG (SP5X)
Snow
QuickTime Graphics (SMC)
Smacker video
SGI image
SMPTE 302M
RealVideo 4.0
RealVideo 3.0
RealVideo 2.0
RealVideo 1.0
QuickTime video (RPZA)
id RoQ video
RL2 video
AJA Kona 10-bit RGB Codec
QuickTime Animation (RLE) video
Q-team QPEG
Apple QuickDraw
V.Flash PTX image
PPM (Portable PixelMap) image
PNG image
Pictor/PC Paint
PGMYUV (Portable GrayMap YUV) image
PGM (Portable GrayMap) image
PC Paintbrush PCX image
PBM (Portable BitMap) image
PAM (Portable AnyMap) image
NuppelVideo/RTJPEG
Mobotix MxPEG video
LCL (LossLess Codec Library) MSZH
Microsoft Video 1
Microsoft RLE
MPEG-4 part 2 Microsoft variant version 3
MPEG-4 part 2 Microsoft variant version 2
MPEG-4 part 2 Microsoft variant version 1
MPEG-1 video
MPEG-4 part 2
MPEG-2 video
Motion Pixels video
American Laser Games MM Video
Apple MJPEG-B
MJPEG (Motion JPEG)
Mimic
Sony PlayStation MDEC (Motion )
LOCO
Lagarith lossless
Karl Morton's video codec
Kega Game Video
Bitmap Brothers JV video
JPEG-LS
Interplay MVE video
Intel Indeo Video Interactive 5
Intel Indeo 3
Intel Indeo 2
IFF ILBM
IFF ByteRun1
id Quake II CIN video
Huffyuv / HuffYUV
H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10
Intel H.263
H.263 / H.263-1996, H.263+ / H.263-1998 / H.263 version 2
H.261
Forward Uncompressed
Fraps
4X Movie
Flash Video (FLV) / Sorenson Spark / Sorenson H.263
Autodesk Animator Flic video
Flash Screen Video v1
Huffyuv  variant
video codec #1
Escape 124
8SVX fibonacci
8SVX exponential
QuickTime 8BPS video
Electronic Arts TQI Video
Electronic Arts TGV video
Electronic Arts TGQ video
Electronic Arts Madcow Video
Electronic Arts CMV video
Feeble Files/ScummVM DXA
DV (Digital Video)
Delphine Software International CIN video
DPX image
VC3/DNxHD
Chronomaster DFA
Creative YUV (CYUV)
CamStudio
Cirrus Logic AccuPak
Cinepak
CD Graphics video
Interplay C93
BMP image
Bink video
Brute Force & Ignorance
Bethesda VID video
AVS (Audio Video Standard) video
Auravision Aura 2
Auravision AURA
ASUS V2
ASUS V1
ASCII/ANSI art
Deluxe Paint Animation
AMV Video
Autodesk RLE
AAC audio 
DVD subtitle 
DVD LPCM Audio 
DV video 
DTS audio 
BZ2 
Bayer to RGB  for cameras
JPEG 
CMML stream 
A Law audio 
ADPCM 
ATSC A/52 audio
codeanticode commented 9 years ago

and a reduced list (still fairly long) with more common formats:

XviD video 
Wavpack audio 
Vorbis audio 
Theora video 
mpeg1 and mpeg2 video 
mad mp3 
FLX video 
FLAC audio 
PCM signed 20-bit little-endian planar 
RealAudio 2.0 (28.8K)
RealAudio 1.0 (14.4K)
QDesign Music Codec 2
MP3 (MPEG audio layer 3)
MP3 (MPEG audio layer 3)
MP2 (MPEG audio layer 2)
MP1 (MPEG audio layer 1)
MLP (Meridian Lossless Packing)
FLAC (Free Lossless Audio Codec)
DCA (DTS Coherent Acoustics)
MPEG-4 Audio Lossless Coding (ALS)
ALAC (Apple Lossless Audio Codec)
ATSC A/52A (AC-3)
AAC LATM (Advanced Audio Codec LATM syntax)
Windows Media Video 9
Windows Media Video 8
Windows Media Video 7
Sorenson Vector Quantizer 3 / Sorenson Video 3 / SVQ3
Sorenson Vector Quantizer 1 / Sorenson Video 1 / SVQ1
RealVideo 4.0
RealVideo 3.0
RealVideo 2.0
RealVideo 1.0
QuickTime video (RPZA)
QuickTime Animation (RLE) video
PPM (Portable PixelMap) image
PNG image
Microsoft Video 1
Microsoft RLE
MPEG-4 part 2 Microsoft variant version 3
MPEG-4 part 2 Microsoft variant version 2
MPEG-4 part 2 Microsoft variant version 1
MPEG-1 video
MPEG-4 part 2
MPEG-2 video
Apple MJPEG-B
MJPEG (Motion JPEG)
JPEG-LS
H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10
Intel H.263
H.263 / H.263-1996, H.263+ / H.263-1998 / H.263 version 2
H.261
Flash Video (FLV) / Sorenson Spark / Sorenson H.263
Autodesk Animator Flic video
Flash Screen Video v1
DV (Digital Video)
AAC audio 
DV video 
JPEG 
CMML stream 
ADPCM 
ATSC A/52 audio

The thing is that I never tried all these formats, so not sure if the decoders actually work.

scotthmurray commented 9 years ago

@REAS @codeanticode Perhaps this would be a good candidate for offloading to the wiki, and linking to it from the reference.

benfry commented 9 years ago

Yech... let's just say "The video library is based on gstreamer which supports a wide range of codecs. We recommend using H.264, but many other formats will work as well." There's no way to know whether this list will be accurate, or what the level of quality is, or how they work for each platform. It'd be silly to keep track.

REAS commented 9 years ago

I added the list to the Wiki with caveats because @codeanticode produced the information and I think it's instructive. I will add the text from @benfry to the main reference.