FFmpeg Wishlist
Jump to navigation
Jump to search
Temporary FFmpeg wish/todo list. This list is deprecated, please do not add new items to this list, use instead the bugtracker wishlist or the TODO file in the source tree. Also, send a message to the mailing list before implementing one of those items. They could be work-in-progress or not wanted anymore.
Decoders
- Also add a aac parser so -acodec copy to mp4/mov will work
- MPEG Surround decoder/parser (for all audio but especially MP3/mp3PRO and AAC/aacPlus as those are in use today).
- ffsvq3 (FFmpeg SVQ3) decoder improvements/enhancements:
- add b-frame support to the ffsvq3 decoder
- integrate Speex (glue code or native)
- Fix "[rv20 @ 009C8BF0]unknown bit3 set" in RV20 decoder
- XEB - the RatDVD video codec (stored in XVO container format)
- VNC decoder, files created by vncrec. Re-use code from VMware Video decoder http://www.sodan.org/~penny/vncrec/
- Fix distortion in QDM2 decoder
- Implement alternate entropy coding method in VP6 decoder [1]
- Additional game formats support:
Demuxers
Muxers
- DVB (MPEG-TS) muxer inside DVB containers
- MPEG-1/2 video-streams inside DVB containers
- MPEG-4 ASP video-streams inside DVB containers
- MPEG-4 AVC (H.264) video-streams inside DVB containers
- AC3 audio-streams inside DVB containers
- Mutiple AC3 audio-streams inside DVB containers
- MP3 audio-streams inside DVB containers
- Mutiple MP3 audio-streams inside DVB containers
- NSV muxer
- NSA muxer
Features
- Create a new audio API system
- Grabbing from video devices under windows
- Apply this VFW capture patch
- Create a DirectShow patch
- -[h|v]flip options for ffplay
- Improved exition documentation and add additional means to document
- Web
- WIKI
- manpage
Subtitles
- Create a common 'subtitles parser library' (and/or an API system for adding support for additional subtitle formats?) - a common sub-library to FFmpeg with all subtile decoders/demuxers/parsers gathered (similar to the libpostproc and libavutils). Call it "libsubs" (or "libsub", "libsubtitles" or whatever). Move FFmpeg's existing VobSub and DVBsub code there, so no matter if they are bitmap or text-based subs all existing and future subtile code is collected there. This will help reduce future code replication by sharing common code, thus making it easier to add support for additional subtitles.
- Maybe use MPlayer's recently added "libass" (SSA/ASS subtile reader) as a base for such a common library?
- Support for advanced SSA/ASS rendering
- Possible source are libass or the asa library
- Support bold, italic, underline, RGB colors, size changes and font changes for a whole line or part of one line
- Line 23 signal (a.k.a. "Wide-screen signal") detecting and use for DVD-Video (VobSub)
- Support for the subtitles HTML tags
- Capability of displaying subtitles with no video enabled (for example for audio-books)
- Support for Karaoke subtitles (for kar and cdg, etc.)
- Dual-subtitle-display (display two subtitles/languages at the same time, one at the bottom as normal plus one at the top of the screen)
- Capability of moving the subtitles in the picture (freetype renderer)
- Support more subtitle formats (text and bitmap-based):
- Closed captioning (CC) subtile support - (Closed captions for the deaf and hard of hearing, also known as "Line 21 captioning", uses VobSub bitmaps)
- xine have a SPU decoder for subpictures and Closed Captions software decoding
- DirectVobSub (VSFilter) - standard VobSubs (DVD-Video subtitles) embedded in AVI containers
- DivX Subtitles (XSUB) display/reader/decoder (Note: bitmap based subtitle, similar to VobSub)
- SubRip (.srt) subtile support (Note: simple text-based based subtitle with timestamp)
- Subviewer (.sub) subtile support (Note: simple text-based based subtitle with timestamp)
- MicroDVD (.sub) subtile support (Note: simple text-based based subtitle with timestamp
- Sami (.smi) subtile support (Note: simple text-based based subtitle with timestamp)
- SubStation Alpha (.ssa+.ass) subtile support (Note: advanced text-based based subtitle with timestamps and XY location on screen)
- RealText (.rt) subtile support
- PowerDivx (.psb) subtile support
- Universal Subtitle Format (.usf) subtile support
- Structured Subtitle Format (.ssf) subtile support
- Closed captioning (CC) subtile support - (Closed captions for the deaf and hard of hearing, also known as "Line 21 captioning", uses VobSub bitmaps)
Misc
- Clean up the h263 rtp patch.
Streaming Media Network Protocols
Streaming Media Network Protocols (client and server-side) improvements/enhancements and related ideas for new features/functions.
- Create a common 'stream demuxer/parser library' for the client-side to receive input streams (and/or API for adding support for additional streaming formats?) - a LGPL'ed sub-library in FFmpeg with all stream demuxers/parsers gathered (similar to the libpostproc and libavutil). Call it "libstream" (or "stream" or whatever). Move FFmpeg's existing stream code there like HTTP and RTSP/RTP. This will help reduce future code replication by sharing common code, thus making it easier to add support for additional streaming formats. All togther making it super easy for audio/video players using FFmpeg to add all-in-one streaming support to their player.
- Add support for additional streaming protocols (on the client side) and improve/enhance support for existing protocols:
- HTTP (Hypertext Transfer Protocol) client
- plus a SSL (Secure Sockets Layer) client support for HTTPS
- UDP (User Datagram Protocol) client
- RTSP - Real-Time Streaming Protocol (RFC2326) client
- RTP/RTCP - Real-Time Transport Protocol/RTP Control Protocol (RFC3550) client
- RTP Profile for Audio and Video Conferences with Minimal Control (RFC3551) client
- RealMedia RTSP/RDT (Real Time Streaming Protocol / Real Data Transport) client
- SDP (Service Discovery Protocol) / SSDP (Simple Service Discovery Protocol) client
- MMS (Microsoft Media Services) client
- including the subprotocol mmsh (MMS over HTTP) and mmst (MMS over TCP)
- HTTP (Hypertext Transfer Protocol) client
- FFServer (streaming server) updating and improving:
- FFServer code hasn't been update for quite a while
- Support for RTSP interleaved RTP media
- RTSP over HTTP tunneling
- SLL (Secure Sockets Layer) support
- TLS (Transport Layer Security) support
- SCTP (Stream Control Transmission Protocol) support
- including tunnel SCTP over UDP
- Per-asset accounting options
- Profiling and performance improvements of the RTSP, HTTP and RTP server code
- Streaming to clients like WMP 9, 10 and 11 is broken
- MMS server streaming support in FFServer, (especially for Linux).
- including the subprotocol mmsh (MMS over HTTP) and mmst (MMS over TCP)
- Note that al3x has gotten something working with ffserver, you might want to ask him what needs to be done as well :) --Compn 14:22, 19 March 2007 (EDT)
- You should also take a look at the FENG (RTSP Streaming Server) code, NetEmbryo (Embedded Open Media Streaming Library), and also cURL --Gamester17 11:20, 29 March 2007 (GMT+1)
See Also
- FFmpeg's Google SoC (Summer of Code) 2007 list of tasks for more suggestions/requests (ideas for developers).
- FFmpeg's Google SoC (Summer of Code) 2006 list of tasks for more suggestions/requests (ideas for developers).
- FFmpeg bugs for bugs in FFmpegs (codecs) that you can help fix or add addition information/samples to.
- Category:Formats_missing_in_FFmpeg for formats not implemented in ffmpeg yet