 Our next speaker is Emmanuel Degueur. Emmanuel Degueur is also a good friend of mine, and works for a television channel, the last year in the group called Trace TV. And he will explain to us how he built a transcoding platform based on open source software. Hi everyone. So, as Christophe just said, I work for Trace TV. So it's a group of channels, as you may see here, we have like various TV channels about music, like different kind of music we specify for the different regions in Africa. But we have two sports channels. We have now a radio offer, and all this is based in Paris. It is a total of 24 streams now. And so this presentation is in phases on the transcoding really light platform we did. So basically it's just a combination of like tools you probably know, of course, FFNPEG, et cetera. But I really want to put the emphasis on the interface itself, and why we really needed to focus on that. So it all started with that project named Trace Central, which was dedicated first for production teams. So it's all jQuery, like I use this bootstrap theme them united to do like all these little dynamic boxes, et cetera, and lights. The idea there was that, like all was done on paper, like until like very recently, and like people will like just enter some stuff that will be like some checkings on capital layers, et cetera, as they use a type, et cetera, just to normalize it with green light, red light, et cetera. And then we pushed that to the transcoding world. So basically this is just a web server. This will call Python scripts to run FFNPEG tasks. At the very first, the tasks were really, really simple one, just conversion HD to SD, et cetera. Then we had to modify the sum and bring it to zero in our MXFs. And then it really had to do like audio mappings because all our different channels like will have like bilingual French, English, or just English or Spanish, whatever. And like there was all many, many combination of audio mapping. But the point is that even if my team, like the technical team could do it by itself, like just using FFNPEG normally with the lines, most of the users now are almost everyone in a company, like everyone, either as a graphic designer or the schedulers, whoever, like even people working in marketing and have no knowledge at all of video needs to transcode by themselves video to make it more efficient. So that's why we started like to do stuff that will detect if there are like many various source of the same files, like what will be the highest resolution available, like full HD, HD ready, whatever. And then like people like told me like, I just don't understand what is HD. And I don't want to understand what is HD. So then I just went with old system with green light, red light, it's good quality, bad quality. It's really funny to say that but this was a real need in our company because people who didn't want to get involved in these techniques needed to transcode video by themselves because if they had to ask to my service all the time, Emmanuel, we need to transcode this or that, it will take so much more time than if they do it by themselves. And then when we opened that Pandora box, of course everyone used it and in a various way that were out of control. And then we had to to combine it with a really simple, so at first it was MongoDB database but now we just switched to SQL. We just had to have a tracking of how many video were transcoded and as it goes, sorry, the definition is really bad but as you can see there were still thousands of video, sorry, like many videos were, hundreds of video were like HD ready when I want basically to have all of them in full HD. So that was a way for me to track that people were still not understanding how to use software and I had to make it even more simple to reach my goal, which were like 100% full HD videos. Then what's next? So what we want to do next is to make it faster to duplicate our servers and to share it back with the community. So we just created a really simple GitHub. First for backup purposes and make it way more easy to duplicate. We added a parser, so this one was done in Node.js with like this package, so all are well known but like most of our producers, they deliver the metadata as various way, various way to do it like XLSX but like CSV and then they will do like non-standard CSV, like they always think it's funny to customize it and replace the punctuation by like percent or whatever so each time like you have to modify the parsers kind of thing. And the idea was to integrate like all the metadata in a bundle and auto-zip it and then move it from storage to one to the other, to one another. Then what I want to modify right now is that all the network folder path are hardcoded now and before sharing it of course we would like just to have a page and the people be able to enter the network folder that they would want to use because this software is a way to redistribute the videos after transcoding to either ready to broadcast so directly to the play-out station or sometimes for advisory reason we need to blur like whatever like alcohol, cigarettes, bikes, whatever we need to do a lot of blurring and there are different services, production services at trace who said we'll do only this task so it will be rerouted from here to there whatever and all this is under control by the software. So as soon as this will be done I think we will be able to share it because then it won't be just internal software dedicated for trace but it could be like really easy for people to have this web server all in place and use it. So of course when we created that software what I had in mind was this commercial software named CarbonCoder by Harmonic and they have like their farm named WFS. So of course it's far from this product which is way more advanced than my transcoding platform of course but it is an open source and I think it's way easier to modify to modify these two units. So I think I went kind of fast because that was... So I don't know if you guys have any questions or if you want some more details on our production workflows or whatever. We've got plenty of time for questions. Yes, I'm sorry. Advantage of it? Yes. You said you create in-cabin MFC F5 F5 correct? Is that correct? No, they don't. So yes, the question was like do the producer provide like correct MXF directly? And the answer of course is no. We have 20 production centers in the world and of course I will even though since eight years I'm trying to say please provide me MXFX decams they can do it still. So I have always a variety of format which are really badly done. The biggest problem I have is like they never respect the frame rate. Like I would have like they will invent frame rates which is kind of funny like because they think it is when you have to enter the frame rate like they think it's asked to them enter the number you want and they will put like 11 so we have to get it back or they will do 22 FPS or I don't know whatever various format and it's too late because what you have to know is that most of the videos produced for example in Nigeria Nigeria is a huge production city. They have like like you may have heard of Bollywood and they have nollywood like Nigeria the core of production and like the company produce the content like they will have a six months lifetime and then they close and people do another job. So of course like you have like this Russian 22 FPS and they deleted everything and you just have that and you need to make it like a 25 FPS and makes a fix the camera of it. So this is a lot we have this very, very often then much more classical is like all the content that come from the US and then there would be 29 to 97 FPS and we have to just bring it back to 25 but the same like thanks to the open source community we find a way to make it properly like with like more subtle parameters to have the lip sync work perfectly on this modification for modifications. So now like we receive like huge amount of formats. No, for the moment Oh, sorry, the question was like is the transcoding distributed like multi thread or whatever. Now, I mean we're just playing with the multi thread parameters and FFM peg of course to have all our cores used but no, it is not like a farm right now. At the same time, what we try to do is we have a VMware cluster and we created really small virtual machines for each transcoding units because if you split by all the different services like there would be really small needs there are a lot of needs on the global if you look at global but it's always like little needs transcoding here and there so we don't need to put like crazy performing servers for them. So in no way, it's a distribution that works for trace but it's not distributed as you just asked. Yes, Kieran? Yep. How to distribute jobs between so you have some servers which are very powerful some mediums, some low power how to distribute transcoding jobs between them when you need to do it all specific thing? As I said, the question was like how do I distribute the transcoding if I have like a big jobs to transcode or smaller ones? For the moment, it's just a lot of small ones and for example, like when we have movies which is brand new for us because Trace started to do SVOD just last year so for the first time we have movies where as I said we are a music channel so our programs are never longer than 15 minutes but then when you go on movies like when we have to transcode a long movie we will always ask for example to our partners in England we will always subtitling and voiceover to retranscode it because they are doing like the voiceover so right now we didn't have that need. Yes? So who's your key internal customer? The question was who is the key customer of this kind of tool internally and it will be anyone in the company really because like the idea is to the key word for in our companies is like digitalize a company whatever and first like they are really proud of like our editors being able to shoot and edit but no they have to shoot, edit and transcode and like no even like marketing people need to transcode themselves, the videos so everyone need to transcode and that's why we like I explained like everyone is using it and I try to make this really easy word to understand what they were doing at least kind of properly. The biggest user? Yeah. The biggest user will be equally the editors of course in the broadcast team but all the how do you say that like the community managers in the digital platforms on the website etc like they will need to take our broadcast content and do like some MPEG4 versions for their website so equally these two guys. Yes? Can you name some key friends, customers? Oh you mean we don't we use it just internally for the moment. We don't have customers, my goal is to share it now open source of course but it's just an internal software for the moment. Okay can you talk some about your competitors? So the competitors of you want to know who are the competitors of Trace TV or the competitors of Trace TV? It will be complicated like if we talk about digital or SDOD we'll be in Netflix even though we are way smaller than them and on the broadcast it is kind of we are kind of singular as we are a French international company we are like in 120 countries over 30 satellites and we are a small company still we are 200 people so I would say we don't have exactly the same kind of competitors. MTV is way bigger than us why it would be the same business idea than MTV but with like a tenth of their team. Thanks everyone. Oh sorry, we are right. Yes? No? Thanks. No other questions? Thanks everyone.