Opened 6 years ago

Closed 4 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


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)

.SMV video samples:

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 Changed 6 years ago by reimar

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.

comment:2 Changed 6 years ago by cehoyos

  • Analyzed by developer set
  • Component changed from undetermined to avformat
  • Status changed from new to open

comment:3 Changed 6 years ago by cehoyos

Limited decoding support has been implemented. Video output is not completely correct, hints on possible implementations can be found here:

comment:4 Changed 4 years ago by cehoyos

  • Keywords wav smv added
  • Resolution set to fixed
  • Status changed from open to closed
  • Version changed from unspecified to git-master

Decoding was implemented by Ash Hughes.

Note: See TracTickets for help on using tickets.