Opened 13 years ago
Closed 12 years ago
#412 closed enhancement (fixed)
.smv container support
Reported by: | iohanntachy | Owned by: | |
---|---|---|---|
Priority: | wish | Component: | avformat |
Version: | git-master | Keywords: | wav smv |
Cc: | Blocked By: | ||
Blocking: | Reproduced by developer: | no | |
Analyzed by developer: | yes |
Description
First of all sorry the bad english.
SMV file is used in portable media players with SigmaTel chip.
SMV files start with WAV header, so it plays as if was an wav file, without video.
MultimediaWiki explain this kind of file (it even gives the meaning of each part of the header)
http://wiki.multimedia.cx/index.php?title=SMV
.SMV video samples:
http://samples.mplayerhq.hu/smv/
I think it's not very hard to implement this kind of container.
I would be very apreciated if you guys consider implementing this.
Change History (4)
comment:1 by , 13 years ago
comment:2 by , 13 years ago
Analyzed by developer: | set |
---|---|
Component: | undetermined → avformat |
Status: | new → open |
comment:3 by , 13 years ago
Limited decoding support has been implemented. Video output is not completely correct, hints on possible implementations can be found here:
http://thread.gmane.org/gmane.comp.video.ffmpeg.devel/135864/focus=135893
comment:4 by , 12 years ago
Keywords: | wav smv added |
---|---|
Resolution: | → fixed |
Status: | open → closed |
Version: | unspecified → git-master |
Decoding was implemented by Ash Hughes.
First, reading or writing?
Also it's not simple at all, the format is horrible.
For demuxing:
It is non-interleaved, which does not fit well with FFmpeg's design so interleaving must be done manually.
For decoding:
Multiple frames are in a single JPEG frame. There is no other format doing this and I don't really see how it should be possible to support this in FFmpeg.
For muxing:
That's just not possible. The full wav file comes first, so you cannot write any video data until all audio data is written. Keeping all video data in memory isn't sensible at all. The most reasonable thing that would be implementable would be just writing the video part which must then manually be concatenated with the corresponding wav file.
For encoding:
Multiple frames must be collected. That works ok. But then they must be compressed so the fit exactly into the predetermined size. Existing rate-control is not designed for that, particularly not the JPEG encoder.