Difference between revisions of "FFmpeg Wishlist"

From MultimediaWiki
Jump to navigation Jump to search
(Added temporary ffmpeg wish/todo list)
 
(remove completed things, try to remove entire list or port it to small tasks page...)
 
(227 intermediate revisions by 19 users not shown)
Line 1: Line 1:
A temporary FFmpeg wish/todo list:
The various desired features for FFmpeg can be found in the following pages:
* [https://roundup.mplayerhq.hu/roundup/ffmpeg/issue?%40&%40columns=title&%40columns=topic&id=&%40columns=id&%40columns=activity&%40sort=activity&%40columns=priority&%40group=priority&type=2&status=2&%40columns=substatus&%40pagesize=50&%40startwith=0&%40action=search Open feature requests in the issue tracker]
* [http://svn.mplayerhq.hu/ffmpeg/trunk/doc/TODO?view=co TODO file in the SVN tree]
* [[FFmpeg Summer Of Code]] pages
* Finish and commit any code not yet commited at the [http://svn.mplayerhq.hu/soc/ SoC FFmpeg tree]


* implement seeking in flv files
Also, other features requests can be found in:
* improve flv demuxer, print name of missing codec support
* [https://roundup.mplayerhq.hu/roundup/ffmpeg/issue?%40&%40columns=title&%40columns=topic&id=&%40columns=id&%40columns=activity&%40sort=activity&%40columns=priority&%40group=priority&type=2&status=1&%40columns=substatus&%40pagesize=50&%40startwith=0&%40action=search Feature requests marked as "new"]
* improved documentation (web,manpage)
* Below in this page (mostly deprecated items)
* implement support for aac in rm demuxing
 
* improve ac3 encoder (implement block switching)
 
* implement radix-4 fft routines
See also the discussion about [[Ffmpeg audio api|Audio API]] TODOs.
* implement iff demuxer (with anim and sound decoding)
 
* clean up alac decoder
 
* implement dts in wav support
 
* implement raw dts support
 
* implement Bethsoft VID demuxer/decoder
 
 
= Old list =
 
The following is deprecated, please '''do not''' add new items to this list, use instead the issue tracker. Also, send a message to the mailing list before implementing one of those items. They could be work-in-progress or not wanted anymore.
 
Moving any of these items to a '''proper''' feature request in the issue tracker is welcome.
 
 
== Decoders ==
* [[xeb|XEB]] - the [[RatDVD]] video codec (stored in [[xvo|XVO]] container format)
* VNC decoder, files created by vncrec. Re-use code from [[VMware Video]] decoder http://www.sodan.org/~penny/vncrec/
* Additional game formats support:
** [[VQA]] v3 support, see http://www.gamers.org/pub/idgames2/planetquake/planetcnc/cncdz/
** [[Gremlin Digital Video]]
** [[M95]]
 
== Demuxers ==
* [[FluxDVD]] / [[RatDVD]] demuxer for [[xvo|XVO]] files (Note! [[RatDVD]] is the predecesor of [[FluxDVD]])
 
== 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 ==
 
* Improved existing documentation and add additional means to document
**Web
**WIKI
**manpage
 
== 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.
**Maybe use either [http://www.mplayerhq.hu MPlayer]'s "''stream''" library structure, [http://www.live555.com LIVE555], [http://curl.haxx.se cURL], or probebly the better [http://streaming.polito.it/client/library libnms] (from [http://streaming.polito.it/client NeMeSi]) as a base for such a common library?
*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)
*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 :) --[[User:Compn|Compn]] 14:22, 19 March 2007 (EDT)
***You should also take a look at the [http://streaming.polito.it/server FENG (RTSP Streaming Server)] code, [http://streaming.polito.it/embedded NetEmbryo (Embedded Open Media Streaming Library)], and also [http://curl.haxx.se cURL]  --[[User:Gamester17|Gamester17]] 11:20, 29 March 2007 (GMT+1)
 
==See Also==
*[[FFmpeg Summer Of Code]] for more suggestions/requests (ideas for developers).
*[http://bugzilla.mplayerhq.hu/buglist.cgi?query_format=specific&order=relevance+desc&bug_status=__open__&product=FFmpeg&content= 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
 
[[Category:FFmpeg]]

Latest revision as of 05:37, 4 October 2011

The various desired features for FFmpeg can be found in the following pages:

Also, other features requests can be found in:


See also the discussion about Audio API TODOs.




Old list

The following is deprecated, please do not add new items to this list, use instead the issue tracker. Also, send a message to the mailing list before implementing one of those items. They could be work-in-progress or not wanted anymore.

Moving any of these items to a proper feature request in the issue tracker is welcome.


Decoders

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

  • Improved existing documentation and add additional means to document
    • Web
    • WIKI
    • manpage

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.
    • Maybe use either MPlayer's "stream" library structure, LIVE555, cURL, or probebly the better libnms (from NeMeSi) as a base for such a common library?
  • 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)
  • 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).

See Also