Hi, august wrote:
>>> container doesn't ever seem to be compatible with Macs. I just made a >>> quicktime (with cinelerra) with MJPEG and 16bit twos pcm inside...and it >>> cannot be read by the f'ing quicktime player of a mac. >> With libquicktime "Jpeg-Photo" and "mjpa" should work. >> libquicktime is used by some professional studios and they use it to create >> files, which are later read by FinalCut Pro. > > that's what I thought. But, I guess I was using cinelerra and its > quicktime4linux version. In that case, it didn't work according to the > mac guy I sent it to. Bugger. quicktime4linux is very clean from the overall structure but extremely weird in some nasty details. > I will try with gmerlin's encoder next > time (if they do produce different files). If you use libquicktime it should be better. When I made some movies with cinelerra I had the following toolchain: Raw DV -> gmerlin-transcoder -> QT/JPEG-photo/TWOS -> cinelerra -> QT/JPEG-photo/TWOS -> gmerlin-transcoder -> MPEG-2/DVD One problem was that cinelerra ignored the pixel aspect ratio of my files. So the video was edited slightly squeezed, but in the final transcoding step with gmerlin-transcoder I could repair that. If I make mp4/AAC/H.264 with libquicktime, I can play them with Apple Quicktime, vlc and upload them to Vimeo. My version of Apple Quicktime (under wine) assumes square pixels though. >> As I already said, I plan to add encoding presets in the next development >> cycle. >> Then people can choose something like "Divx AVI" or "MP4/AAC/H.264". >> And of course when figuring out the presets one should make some >> compatibility >> tests. > > It would be cool to have "strict" supra-setting that would only show > the codec combos that are known to work. Impossible because the core knows neither of containers nor of codecs. > But, that only prints out on stderr on the command line. Not necessarily. In my GUI apps these messages show up in the log window. You can catch the warning messages in your program and ask the user if she wants to proceed anyway. > Many users > don't even know what that is. How should an application developer > notify her user that the container-codec combination is not allowed? It can notify if a warning occurred during encoder initialization, that's all. If that's because of invalid codecs or something else must be irrelevant, because encoding can fail for other reasons as well. Also there are problems, I cannot catch at all. E.g. there are some illegal combinations of H.264 settings. bg_encoder_start() will fail then, but there is no generic way to predict it. > yes, but that will also limit you to one single stream, correct? No. > If you > want to stream two parallel videos, what do you do then? Make two encoders. You make as many as fit into your RAM. > Or, if you > want to encode in two different formats and write them to disk using the > same media input, one would have to know how to manipulate the config > and plugin registry, correct? Yes. I see that manipulating the config section is not trivial for 3rd party apps. I never had the problem because I programmed the config registry together with the gtk widgets. Actually the config system was the first module I wrote for libgmerlin, because all other modules configured with it. An important point is that the config system has *no* idea of what the parameters actually mean, if they are codecs or whatever. It's my general strategy that one module knows as little as possible about the others. All communication works through simple and *generic* interfaces. Advantage is that modules can be combined almost arbitrarily (IMO libgmerlin can be compared to a huge bunch of Lego bricks). Also firing up a configuration dialog is a few lines in C. And it doesn't matter if I configure a bg_encoder_t or a filter chain or GUI colors. Once a parameter setting mechanism is in place, things become extremely simple. Disadvantage is, that e.g. my encoder has no way to generically set a "codec", "container", "bitrate" etc. The encoder configuration just has a nested structure of parameters, whose values are in a nested structure of bg_cfg_section_t's. I would really like to make the stuff easier to use and I'm sure that presets are a first step for this. But that won't happen before the release is out, and for releasing I need to make sure that no serious bugs are left. So my priority is now to fix the remaining problems in encoding plugins. Burkhard ------------------------------------------------------------------------------ SOLARIS 10 is the OS for Data Centers - provides features such as DTrace, Predictive Self Healing and Award Winning ZFS. Get Solaris 10 NOW http://p.sf.net/sfu/solaris-dev2dev _______________________________________________ Gmerlin-general mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/gmerlin-general
