[Proposal] A transcode configuration tab for the service (1 Viewer)

Ken4000

Portal Member
September 7, 2011
26
23
Home Country
Denmark Denmark
Hi there
I would love to have a transcode configuration tab for the service. Where you could set what it should use to stream the different files. Then it would be possible to use other transcoding tools ex. mencoder, AMD APP or CUDA to do the job.

The problem is FFMPEG is using a lot of juice, just to transcode ONE stream. It's not even possible to have two streams running (On my system - AMD 3,4GHz 12Gb ram, WD Black hdd, ATi 5770). I haven't tried to configure FFMPEG yet, simply because I haven't got the time to read about building FFMPEG, adding the right libs to it and configure the parameters.

I'm a developer my self and would love to participate for that one. Now I haven't looked in the code yet, but it should be possible right? What do you think of this feature?

Best regards
 

Oxan

Retired Team Member
  • Premium Supporter
  • August 29, 2009
    1,730
    1,124
    Home Country
    Netherlands Netherlands
    Using a different transcoding tool usually requires code changes, because all transcoders have a bit different behaviour. I'm considering adding a generic transcoder to 0.5, so that people can use any encoding tool, but you'll lose a bit of functionality then.

    You don't need to compile ffmpeg to configure it. You can change the parameters in the configuration file (C:\ProgramData\MPExtended\Streaming.xml).

    I won't add a configuration tab for this to the service. Once you understand how the transcoding works and come up with a working profile, adding it to the XML file is a piece of cake. Of course, if you implement it I'll consider merging your code, but imo it's not worth spending your time on. Creating good transcoder settings is a lot more useful I think.
     

    Ken4000

    Portal Member
    September 7, 2011
    26
    23
    Home Country
    Denmark Denmark
    Using a different transcoding tool usually requires code changes, because all transcoders have a bit different behaviour. I'm considering adding a generic transcoder to 0.5, so that people can use any encoding tool, but you'll lose a bit of functionality then.

    You don't need to compile ffmpeg to configure it. You can change the parameters in the configuration file (C:\ProgramData\MPExtended\Streaming.xml).

    I won't add a configuration tab for this to the service. Once you understand how the transcoding works and come up with a working profile, adding it to the XML file is a piece of cake. Of course, if you implement it I'll consider merging your code, but imo it's not worth spending your time on. Creating good transcoder settings is a lot more useful I think.

    I like your considering about the generic transcoder. It could be implemented with the abstract factory pattern. Then the factory could take a stream and deliver another - it's then up to the factory to take care of how to use the transcoder. Then you won't loose any functionality regarding transcoding. The configuration tab cold then be a settings page for the choosen trancoder, maybe instead of the xml. - This is just an idea.

    Yes I have found the streaming.xml file and I'm already trying a lot of settings :)
     

    Oxan

    Retired Team Member
  • Premium Supporter
  • August 29, 2009
    1,730
    1,124
    Home Country
    Netherlands Netherlands
    I like your considering about the generic transcoder. It could be implemented with the abstract factory pattern. Then the factory could take a stream and deliver another - it's then up to the factory to take care of how to use the transcoder. Then you won't loose any functionality regarding transcoding.
    That part is already implemented in MPExtended. However, the problem is each transcoding program needs other arguments, and we generate these arguments on-the-fly. For example the input file, output video size and output path must be added into the arguments. We currently do this with a class for each transcoder (VLC, ffmpeg, etc), but that doesn't allow the user to choose a whole different transcoding program by himself. We can make this generic (by letting the user specify the arguments and perform some substitution on that), but you still lose functionality then: we also read the stderr output of VLC and ffmpeg, to parse transcoder statistics and automatically kill the stream when an error occurs.

    The configuration tab cold then be a settings page for the choosen trancoder, maybe instead of the xml. - This is just an idea.
    Sure, that can be implemented, but imo it's not the most useful use of my time to implement a rarely used settings page.
     

    Users who are viewing this thread

    Top Bottom