> On 18 Jan 2018, at 17:32, Dmytro Humeniuk <dmitry.gumen...@gmail.com> wrote:
> 
>> 
>> On 18 Jan 2018, at 08:56, Tobias Rapp <t.r...@noa-archive.com> wrote:
>> 
>> On 15.01.2018 13:48, Dmytro Humeniuk wrote:
>>>> On 15 Jan 2018, at 09:14, Tobias Rapp <t.r...@noa-archive.com> wrote:
>>>> 
>>>> On 13.01.2018 23:52, Дмитрий Гуменюк wrote:
>>>>> Hi,
>>>>>> On 13 Jan 2018, at 01:37, Дмитрий Гуменюк <dmitry.gumen...@gmail.com> 
>>>>>> wrote:
>>>>>> 
>>>>>> Hi
>>>>>> 
>>>>>>> On 12 Jan 2018, at 13:32, Дмитрий Гуменюк <dmitry.gumen...@gmail.com> 
>>>>>>> wrote:
>>>>>>> 
>>>>>>>> On 12 Jan 2018, at 13:17, Tobias Rapp <t.r...@noa-archive.com> wrote:
>>>>>>>> 
>>>>>>>> On 12.01.2018 12:16, Дмитрий Гуменюк wrote:
>>>>>>>>> Hi
>>>>>>>>>> On 11 Jan 2018, at 09:20, Tobias Rapp <t.r...@noa-archive.com> wrote:
>>>>>>>>>> 
>>>>>>>>>> On 10.01.2018 18:18, Kyle Swanson wrote:
>>>>>>>>>>> Hi,
>>>>>>>>>>> For this to be a part of libavfilter the output needs to be more 
>>>>>>>>>>> generic
>>>>>>>>>>> than the just the Soundcloud format. If we want this to be 
>>>>>>>>>>> generally useful
>>>>>>>>>>> it should probably just output an array of floats between 0.0 and 
>>>>>>>>>>> 1.0. The
>>>>>>>>>>> consumer of this data (JS library, or whatever) can use this in 
>>>>>>>>>>> whatever
>>>>>>>>>>> way it wants.
>>>>>>>>>> 
>>>>>>>>>> I agree. If the BWF Peak Envelope output which was suggested in the 
>>>>>>>>>> other thread does not match your demands and filter implementation 
>>>>>>>>>> is actually necessary I would prefer if the filter would attach the 
>>>>>>>>>> RMS value(s) as frame metadata instead of directly dumping to file. 
>>>>>>>>>> Frame metadata can then be re-
>>>>>>>>> RMS values may be counted for several frames or only for a half of a 
>>>>>>>>> frame
>>>>>>>>>> used by other filters or dumped into file by using the existing 
>>>>>>>>>> "ametadata" filter.
>>>>>>>>>> 
>>>>>>>>>> This would be similar to:
>>>>>>>>>> 
>>>>>>>>>> ffmpeg -i input-file -f null -filter:a 
>>>>>>>>>> "asetnsamples=22050,astats=metadata=on,ametadata=print:file=stats-file.dat"
>>>>>>>>>>  /dev/null
>>>>>>>>> I like this idea, but won’t asetnsamples affect performance by 
>>>>>>>>> creating fifo queue? And it may require some effort to parse long 
>>>>>>>>> output
>>>>>>>> 
>>>>>>>> I added asetnsamples to define the audio frame size (interval of 
>>>>>>>> values from astats). You can reduce the number of lines printed by 
>>>>>>>> ametadata by using the "key=lavfi.astats.foo" option.
>>>>>>> I used asetnsamples as well, and I measured performance while 
>>>>>>> transcoding - it appears to be slight slower
>>>>>> I think output is now more generic and I got rid of long switch/case, 
>>>>>> thanks for support
>>>>> Here is most recent patch, seems like all comments are addressed, did I 
>>>>> miss something?
>>>> 
>>>> I still would prefer to have the value attached as frame metadata, then 
>>>> dumped into file via the existing "ametadata" filter. Even better would be 
>>>> to integrate the statistic value (if missing) into the "astats" filter.
>>>> 
>>>> If your concern is the output format of "ametadata" then some output 
>>>> format extension (CSV/JSON) needs to be discussed for ametadata/metadata.
>>>> 
>>>> If your concern is performance then please add some numbers. In my tests 
>>>> using an approx. 5 minutes input WAV file (48kHz, stereo) the run with 
>>>> "asetnsamples" was considerably faster than the run without (1.7s vs. 
>>>> 13.9s)
>>> Hi
>>> As I mentioned previously adding metadata to each frame is not possible
>>> as value may be counted for several frames or only for a half of a frame
>>> I used 2 hours long 48kHz mp3 
>>> https://s3-eu-west-1.amazonaws.com/balamii/SynthSystemSystersJAN2018.mp3
>>> For this purposes I set up CentOS AWS EC2 nano instance
>>> Then I transcoded it while filtering like following (just to recreate real 
>>> situation):
>>> 1. -filter:a 
>>> "asetnsamples=192197,astats=metadata=on,ametadata=print:file=stats-file.dat"
>>>  out.mp3
>>> 2. -filter:a "dumpwave=n=192197:f=-" out.mp3
>>> Results:
>>> 1. 244810550046 nanoseconds
>>> 2. 87494286740 nanoseconds
>>> One of the possible use cases - to set up 2 chains of 
>>> asetnsamples->metadata - for example:
>>> "asetnsamples=192197,astats=metadata=on,ametadata=print:file=stats-file.dat,asetnsamples=22050,astats=metadata=on,ametadata=print:file=stats-file1.dat”
>>>  for sure it will affect performance
>>> Comparing with "dumpwave=n=192197:f=out1,dumpwave=n= 22050:f=out2"
>> 
>> Sorry, I misunderstood your concerns regarding asetnsamples filter 
>> performance. The numbers I provided have been for
>> 
>> "asetnsamples=22050,astats=metadata=on,ametadata=print:file=stats-file.dat"
>> 
>> versus
>> 
>> "astats=metadata=on,ametadata=print:file=stats-file.dat"
>> 
>> When comparing astats+ametadata versus dumpwave it is obvious that a 
>> specialized filter which only calculates one statistic value is faster than 
>> a filter that calculates multiple statistics. But still my opinion is that 
>> if the dumpwave filter is to be added to the codebase it should be more 
>> generic (i.e. output frame metadata similar to the psnr/ssim filters for 
>> video).
> 
> Actually current output(normalised float values in range 0...1) was proposed 
> by Kyle as more generic.
Ping
>> 
>> Regards,
>> Tobias
>> 
>> _______________________________________________
>> ffmpeg-devel mailing list
>> ffmpeg-devel@ffmpeg.org
>> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel

Attachment: smime.p7s
Description: S/MIME cryptographic signature

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel

Reply via email to