jaskie / Server

This fork of CasparCG Server contains enhancements used in broadcast play-out system used in TVP.
http://playoutautomation.tvp.pl
GNU General Public License v3.0
20 stars 4 forks source link

16 channel audio #9

Closed theusmpa closed 4 years ago

theusmpa commented 4 years ago

Hello .. Good night!

First I want to thank you for the great work you have done!

I would like to work with 16 audio channels, what would be the valid configuration for that?

I've tried using passthrue

Below is my configuration:

`

debug media\ log\ data\ templates\ thumbnails\ false 1024 576 2 5000 2000 720p2500 1080i5994 passthru 1 true passthru default normal 4 PGM-UDI true 1080i5994 passthru 2 true passthru default normal 4 PGM-ITU true 1080i5994 passthru 3 true passthru default normal 4 PVW true
<controllers>
    <tcp>
        <port>5250</port>
        <protocol>AMCP</protocol>
    </tcp>
</controllers>
<osc>
    <default-port>6250</default-port>
</osc>

`

Thank you.

jaskie commented 4 years ago

Seems to be nearly perfect, only avoid both consumers to be blocking: decklink is always blocking, and NDI can be blocking (and in this case shouldn't be). The "blocking" consumer gives clock to its channel, what is especially important in NTSC modes. Is there something that don't work? I personally use the passthru audio channel layout when capture video from decklink input, and it works perfectly. If you want to play more channels from file, remember that CasparCG cannot join audio streams, so file to play must have with single, multi-channel audio stream. I have tested such a playout some time ago, it should work flawlessly. Use i.e. MediaInfo to check actual file layout. --- Jurek

theusmpa commented 4 years ago

Hello!

My need would be to play MXF files with 16 channels of audio, with this configuration I can't?

What would be the correct configuration for this?

Thank you again!

jaskie commented 4 years ago

Just check the files with MediaInfo. Most of MXF files I have seen had bunch (1-8) mono or stereo streams, so only first of them will be played. You can rewrap video track of the files, and re-encode audio with amerge FFmpeg filter. This should be pretty fast, nearly as fast as copying the file. Refer also to this.

theusmpa commented 4 years ago

Good Morning!

See if I understand, are you telling me that if I have an MXF file with 16 channels of audio in mono that fork is able to reproduce the 16 channels on the BMD output?

What would be the proper configuration on the server?

Could you explain to me how to solve this? "Seems to be nearly perfect, only avoid both consumers to be blocking: decklink is always blocking, and NDI can be blocking (and in this case shouldn't be). The "blocking" consumer gives clock to its channel, what is especially important in NTSC modes."

Thank you!

jaskie commented 4 years ago
  1. It will play them all only if the channels are in single stream. In opposite case it will play all channels from first stream only. Be more familiar with stream concept. Use the MediaInfo to check the files.
  2. Remove, or change parameter of NDI consumer to false.
theusmpa commented 4 years ago

OK thank you.

I will do some testing.

Matheus

jaskie commented 4 years ago

I have an idea (implemented elsewhere) that would allow to play channels from all audio streams. Do you want to use the 16-channels with TVPlay, or using another client app? I ask you, because in first case it would be better and easier to convert input files during ingest.

theusmpa commented 4 years ago

That! I certainly intend to use the TvPlay client, what would be your idea?

Thank you.

jaskie commented 4 years ago

I'm rewraping such files during ingest. Now it works only for dual mono (typically from XDCAM MXF files) -> stereo conversion, but it can be extended. So this is the idea: convert all the files to one-audio-stream files, that will be playable in CasparCG, regardless of version. Opposite approach is to decode all audio streams, and then merge the audio in CasparCG. But this would be huge change, and probably will not be applied in main CasparCG branch, so it would increase incompatibility with the main release.

theusmpa commented 4 years ago

I think that regardless of the form, the final result is achieved. In my case, I necessarily need to work with the 16 channels and I have already tested it according to your orientation and everything went well. I was even writing a script to organize these files and already make them available in the CasparCG media folder, but it was going to be a script outside the main application, even though the source of TvPlay, due to lack of knowledge, I don't feel comfortable changing it. Could you make this option available in your application to reorganize these audios during ingestion? I would be very happy! :)

Thank you for your attention.

jaskie commented 4 years ago

@theusmpa, please, open enhacement request on TVPlay tracker. I'll look around and try to implement it.