[jitsi-dev] Recording Conferences webm writer


#1

I have started playing around with the conference recording functions. I have the videobridge starting to record and recording sound into mp3 files that I can hear are accurate rather than garbage.

However, I am having a problem getting the Webm writer to work. Initially I think I was using the 32bit native library, but I am now using the 64bit native library.

Looking at the mailing list history a webm writer was written in c++ in 2014 to go into jnvpx. However, it is not now working. I don't know how to inspect a dll to find what is in it. I haven't done any C++ coding since the 1990s so I don't really want to do things that way although that might be best.

I presume the reason it was put into the native library was speed and the quantity of data. I don't actually want to do a lot of recording anyway so one option is to write a writer in java. However, I don't think that is the right solution.

JNIUtils tends to swallow up failures to load native libraries without reporting this. I have put in something to report when the libraries don't load on initialisation of the static class and that does not now fail which makes me think I am a long way there.

I remember reading something about the plan being to remove recording from the videobridge so that might be the cause in that the writer may not be in the dll that I am using.

Can anyone please give me a hint?


#2

I have now found the dependency walker .exe file and used that to look at jnvpx. It tells me that a lot of the dependencies for jnvpx are missing (these are dlls with names like api-ms-win-core-com-l1-1-0.dll)

I do have these on my system, but I am not sure they are properly in the library path when the dll is loaded. This, of course, would be potentially a really good candidate for causing this problem.

I will rummage around looking at this.

···

On 13/04/2017 11:30, John Hemming wrote:

I have started playing around with the conference recording functions. I have the videobridge starting to record and recording sound into mp3 files that I can hear are accurate rather than garbage.

However, I am having a problem getting the Webm writer to work. Initially I think I was using the 32bit native library, but I am now using the 64bit native library.

Looking at the mailing list history a webm writer was written in c++ in 2014 to go into jnvpx. However, it is not now working. I don't know how to inspect a dll to find what is in it. I haven't done any C++ coding since the 1990s so I don't really want to do things that way although that might be best.

I presume the reason it was put into the native library was speed and the quantity of data. I don't actually want to do a lot of recording anyway so one option is to write a writer in java. However, I don't think that is the right solution.

JNIUtils tends to swallow up failures to load native libraries without reporting this. I have put in something to report when the libraries don't load on initialisation of the static class and that does not now fail which makes me think I am a long way there.

I remember reading something about the plan being to remove recording from the videobridge so that might be the cause in that the writer may not be in the dll that I am using.

Can anyone please give me a hint?

_______________________________________________
dev mailing list
dev@jitsi.org
Unsubscribe instructions and other list options:
http://lists.jitsi.org/mailman/listinfo/dev


#3

Hi John,

This is indeed the code that we're deprecating. WebmWriter.java requires native code which we chose to bundle in the "jnvpx" library. It comes from org_jitsi_impl_neomedia_recording_WebmWriter.cc (libjitsi) and EbmlWriter.c (it used to be in libvpx, but it isn't anymore).

Regards,
Boris

···

On 13/04/2017 05:57, John Hemming wrote:

I have now found the dependency walker .exe file and used that to look
at jnvpx. It tells me that a lot of the dependencies for jnvpx are
missing (these are dlls with names like api-ms-win-core-com-l1-1-0.dll)

I do have these on my system, but I am not sure they are properly in the
library path when the dll is loaded. This, of course, would be
potentially a really good candidate for causing this problem.

I will rummage around looking at this.

On 13/04/2017 11:30, John Hemming wrote:

I have started playing around with the conference recording
functions. I have the videobridge starting to record and recording
sound into mp3 files that I can hear are accurate rather than garbage.

However, I am having a problem getting the Webm writer to work.
Initially I think I was using the 32bit native library, but I am now
using the 64bit native library.

Looking at the mailing list history a webm writer was written in c++
in 2014 to go into jnvpx. However, it is not now working. I don't
know how to inspect a dll to find what is in it. I haven't done any
C++ coding since the 1990s so I don't really want to do things that
way although that might be best.

I presume the reason it was put into the native library was speed and
the quantity of data. I don't actually want to do a lot of recording
anyway so one option is to write a writer in java. However, I don't
think that is the right solution.

JNIUtils tends to swallow up failures to load native libraries without
reporting this. I have put in something to report when the libraries
don't load on initialisation of the static class and that does not now
fail which makes me think I am a long way there.

I remember reading something about the plan being to remove recording
from the videobridge so that might be the cause in that the writer may
not be in the dll that I am using.

Can anyone please give me a hint?

_______________________________________________
dev mailing list
dev@jitsi.org
Unsubscribe instructions and other list options:
http://lists.jitsi.org/mailman/listinfo/dev

_______________________________________________
dev mailing list
dev@jitsi.org
Unsubscribe instructions and other list options:
http://lists.jitsi.org/mailman/listinfo/dev


#4

Thank you for this. It is always better to know that something isn't there than spend hours and hours trying to find it.

···

On 13/04/2017 14:43, Boris Grozev wrote:

Hi John,

This is indeed the code that we're deprecating. WebmWriter.java requires native code which we chose to bundle in the "jnvpx" library. It comes from org_jitsi_impl_neomedia_recording_WebmWriter.cc (libjitsi) and EbmlWriter.c (it used to be in libvpx, but it isn't anymore).

Regards,
Boris

On 13/04/2017 05:57, John Hemming wrote:

I have now found the dependency walker .exe file and used that to look
at jnvpx. It tells me that a lot of the dependencies for jnvpx are
missing (these are dlls with names like api-ms-win-core-com-l1-1-0.dll)

I do have these on my system, but I am not sure they are properly in the
library path when the dll is loaded. This, of course, would be
potentially a really good candidate for causing this problem.

I will rummage around looking at this.

On 13/04/2017 11:30, John Hemming wrote:

I have started playing around with the conference recording
functions. I have the videobridge starting to record and recording
sound into mp3 files that I can hear are accurate rather than garbage.

However, I am having a problem getting the Webm writer to work.
Initially I think I was using the 32bit native library, but I am now
using the 64bit native library.

Looking at the mailing list history a webm writer was written in c++
in 2014 to go into jnvpx. However, it is not now working. I don't
know how to inspect a dll to find what is in it. I haven't done any
C++ coding since the 1990s so I don't really want to do things that
way although that might be best.

I presume the reason it was put into the native library was speed and
the quantity of data. I don't actually want to do a lot of recording
anyway so one option is to write a writer in java. However, I don't
think that is the right solution.

JNIUtils tends to swallow up failures to load native libraries without
reporting this. I have put in something to report when the libraries
don't load on initialisation of the static class and that does not now
fail which makes me think I am a long way there.

I remember reading something about the plan being to remove recording
from the videobridge so that might be the cause in that the writer may
not be in the dll that I am using.

Can anyone please give me a hint?

_______________________________________________
dev mailing list
dev@jitsi.org
Unsubscribe instructions and other list options:
http://lists.jitsi.org/mailman/listinfo/dev

_______________________________________________
dev mailing list
dev@jitsi.org
Unsubscribe instructions and other list options:
http://lists.jitsi.org/mailman/listinfo/dev

_______________________________________________
dev mailing list
dev@jitsi.org
Unsubscribe instructions and other list options:
http://lists.jitsi.org/mailman/listinfo/dev