Recherche avancée

Médias (1)

Mot : - Tags -/net art

Autres articles (111)

  • Les tâches Cron régulières de la ferme

    1er décembre 2010, par

    La gestion de la ferme passe par l’exécution à intervalle régulier de plusieurs tâches répétitives dites Cron.
    Le super Cron (gestion_mutu_super_cron)
    Cette tâche, planifiée chaque minute, a pour simple effet d’appeler le Cron de l’ensemble des instances de la mutualisation régulièrement. Couplée avec un Cron système sur le site central de la mutualisation, cela permet de simplement générer des visites régulières sur les différents sites et éviter que les tâches des sites peu visités soient trop (...)

  • Les autorisations surchargées par les plugins

    27 avril 2010, par

    Mediaspip core
    autoriser_auteur_modifier() afin que les visiteurs soient capables de modifier leurs informations sur la page d’auteurs

  • Changer son thème graphique

    22 février 2011, par

    Le thème graphique ne touche pas à la disposition à proprement dite des éléments dans la page. Il ne fait que modifier l’apparence des éléments.
    Le placement peut être modifié effectivement, mais cette modification n’est que visuelle et non pas au niveau de la représentation sémantique de la page.
    Modifier le thème graphique utilisé
    Pour modifier le thème graphique utilisé, il est nécessaire que le plugin zen-garden soit activé sur le site.
    Il suffit ensuite de se rendre dans l’espace de configuration du (...)

Sur d’autres sites (7051)

  • Web Analytics Reports : 10 Key Types and How to Use Them

    29 janvier 2024, par Erin

    You can’t optimise your website to drive better results if you don’t know how visitors are engaging with your site.

    But how do you correctly analyse data and identify patterns ? With the right platform, you can use a wide range of web analytics reports to dive deep into the data.

    In this article, we’ll discuss what website analytics reports are, different types, why you need them, and how to use reports to find the insights you need.

    What is web analytics ?

    Website analytics is the process of gathering, processing, and analysing data that shows what users are doing when they visit your website. 

    You typically achieve this with web analytics tools by adding a tracking code that shares data with the analytics platform when someone visits the site.

    Illustration of how website analytics works

    The visitors trigger the tracking code, which collects data on how they act while on your site and then sends that information to the analytics platform. You can then see the data in your analytics solution and create reports based on this data.

    While there are a lot of web analytics solutions available, this article will specifically demonstrate reports using Matomo.

    What are web analytics reports ?

    Web analytics reports are analyses that focus on specific data points within your analytics platform. 

    For example, this channel report in Matomo shows the top referring channels of a website.

    Channel types report in Matomo analytics

    Your marketing team can use this report to determine which channels drive the best results. In the example above, organic search drives almost double the visits and actions of social campaigns. 

    If you’re investing the same amount of money, you’d want to move more of your budget from social to search.

    Why you need to get familiar with specific web analytics reports

    The default web analytics dashboard offers an overview of high-level trends in performance. However, it usually does not give you specific insights that can help you optimise your marketing campaigns.

    For example, you can see that your conversions are down month over month. But, at a glance, you do not understand why that is.

    To understand why, you need to go granular and wider — looking into qualifying data that separates different types of visitors from each other.

    Gartner predicts that 70% of organisations will focus on “small and wide” data by 2025 over “big data.” Most companies lack the data volume to simply let big data and algorithms handle the optimising.

    What you can do instead is dive deep into each visitor. Figure out how they engage with your site, and then you can adjust your campaigns and page content accordingly.

    Common types of web analytics reports

    There are dozens of different web analytics reports, but they usually fall into four separate categories :

    Diagram that illustrates the main types of web analytics reports
    • Referral sources : These reports show where your visitors come from. They range from channel reports — search, social media — to specific campaigns and ads.
    • Engagement (on-site actions) : These reports dive into what visitors are doing on your site. They break down clicks, scrolling, completed conversion goals, and more.
    • E-commerce performance : These reports show the performance of your e-commerce store. They’ll help you dive into the sales of individual products, trends in cart abandonment and more.
    • Demographics : These reports help you understand more about your visitors — where they’re visiting from, their browser language, device, and more.

    You can even combine insights across all four using audience segmentation and custom reports. (We’ll cover this in more detail later.)

    How to use 10 important website analytics reports

    The first step is to install the website analytics code on your website. (We include more detailed information in our guide on how to track website visitors.)

    Then, you need to wait until you have a few days (or, if you have limited traffic, a few weeks) of data. Without sufficient website visitor data, none of the reports will be meaningful.

    Visitor Overview report

    First, let’s take a look at the Visitor Overview report. It’s a general report that breaks down the visits over a given time period.

    Visitor overview report in Matomo

    What this report shows :

    • Trends in unique visits month over month
    • Basic engagement trends like the average visit length and bounce rate
    • The number of actions taken per page

    In general, this report is more of a high-level indicator you can use to explore certain areas more thoroughly. For example, if most of your traffic comes from organic traffic or social media, you can dive deeper into those channels.

    Try Matomo for Free

    Get the web insights you need, without compromising data accuracy.

    No credit card required

    Location report

    Next up, we have the most basic type of demographic report — the Location report. It shows where your visitors tend to access your website from.

    Location report in Matomo

    What this report shows :

    • The country, state or city your visitors access your website from

    This report is most useful for identifying regional trends. You may notice that your site is growing in popularity in a country. You can take advantage of this by creating a regional campaign to double down on a high performing audience.

    Device report

    Next, we have the Device report, which breaks down your visitors’ devices.

    Device report in Matomo analytics

    What this report shows :

    • Overall device types used by your visitors
    • Specific device models used

    Today, most websites are responsive or use mobile-first design. So, just seeing that many people access your site through smartphones probably isn’t all that surprising.

    But you should ensure your responsive design doesn’t break down on popular devices. The design may not work effectively because many phones have different screen resolutions. 

    Users Flow report

    The Users Flow report dives deeper into visitor engagement — how your visitors act on your site. It shows common landing pages — the first page visitors land on — and how they usually navigate your site from there.

    Users flow report in Matomo analytics

    What this report shows :

    • Popular landing pages
    • How your visitors most commonly navigate your site

    You can use this report to determine which intermediary pages are crucial to keeping visitors engaged. For example, you can prioritise optimisation and rewriting for case study pages that don’t get a lot of direct search or campaign traffic.

    Improving this flow can improve conversion rates and the impact of your marketing efforts.

    Try Matomo for Free

    Get the web insights you need, without compromising data accuracy.

    No credit card required

    Exit Pages report

    The Exit Pages report complements the Users Flow report well. It highlights the most common pages visitors leave your website from.

    Exit pages report in Matomo analytics

    What this report shows :

    • The most common exit pages on your website
    • The exit rates of these pages

    Pages with high exit rates fall into two categories. The first are pages where it makes sense that visitors leave, like a post-purchase thank-you page. The second are pages where you’d want your visitors to stay and keep flowing down the funnel. When the rates are unusually high on product pages, category pages, or case study pages, you may have found a problem.

    By combining insights from the Users Flow and Exit Pages reports, you can find valuable candidates for optimisation. This is a key aspect of effective conversion rate optimisation.

    Traffic Acquisition Channel report

    The Acquisition Channels report highlights the channels that drive the most visitors to your site.

    Acquisition report in Matomo analytics

    What this report shows :

    • Top referring traffic sources by channel type
    • The average time on site, bounce rates, and actions taken by the source

    Because of increasingly privacy-sensitive browsers and apps, the best way to reliably track traffic sources is to use campaign tracking URL. Matomo offers an easy-to-use campaign tracking URL builder to simplify this process.

    Search Engines and Keywords report

    The Search Engines and Keywords report shows which keywords are driving the most organic search traffic and from what search engines.

    Search engine keyword report in Matomo analytics

    What this report shows :

    • Search engine keywords that drive traffic
    • The different search engines that refer visitors

    One of the best ways to use this report is to identify low-hanging fruit. You want to find keywords driving some traffic where your page isn’t ranked in the top three results. If the keyword has high traffic potential, you should then work to optimise that page to rank higher and get more traffic. This technique is an efficient way to improve your SEO performance.

    Ecommerce Products report

    If you sell products directly on your website, the Ecommerce Products report is a lifesaver. It shows you exactly how all your products are performing.

    Ecommerce product report in Matomo analytics

    What this report shows :

    • How your products are selling
    • The average sale price (with coupons) and quantity

    This report could help an online retailer identify top-selling items, adjust pricing based on average sale prices, and strategically allocate resources to promote or restock high-performing products for maximum profitability.

    Try Matomo for Free

    Get the web insights you need, without compromising data accuracy.

    No credit card required

    Ecommerce Log report

    If you want to explore every single ecommerce interaction, the Ecommerce Log report is for you. It breaks down the actions of visitors who add products to their cart in real time.

    Ecommerce log report in Matomo analytics

    What this report shows :

    • The full journey of completed purchases and abandoned carts
    • The exact actions your potential customers take and how long their journeys last

    If you suspect that the user experience of your online store isn’t perfect, this report helps you confirm or deny that suspicion. By closely examining individual interactions, you can identify common exit pages or other issues.

  • Using PyAV to encode mono audio to file, params match docs, but still causes Errno 22

    20 février 2023, par andrew8088

    While trying to use PyAV to encode live mono audio from a microphone to a compressed audio stream (using mp2 or flac as encoder), the program kept raising an exception ValueError: [Errno 22] Invalid argument.

    


    To remove the live microphone source as a cause of the problem, and to make the problematic code easier for others to run/test, I have removed the mic source and now just generate a pure tone as a sequence of input buffers.

    


    All attempts to figure out the missing or mismatched or incorrect argument have just resulted in seeing documentation and examples that are the same as my code.

    


    I would like to know from someone who has used PyAV successfully for mono audio what the correct method and parameters are for encoding mono frames into the mono stream.

    


    The package used is av 10.0.0 installed with
pip3 install av --no-binary av
so it uses my package-manager provided ffmpeg library, which is version 4.2.7.

    


    The problematic python code is :

    


    #!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Recreating an error 22 when encoding sound with PyAV.

Created on Sun Feb 19 08:10:29 2023
@author: andrewm
"""
import typing
import sys
import math
import fractions

import av
from av import AudioFrame

""" Ensure some PyAudio constants are still defined without changing 
    the PyAudio recording callback function and without depending 
    on PyAudio simply for reproducing the PyAV bug [Errno 22] thrown in 
    File "av/filter/context.pyx", line 89, in av.filter.context.FilterContext.push
"""
class PA_Stub():
    paContinue = True
    paComplete= False

pyaudio = PA_Stub()


"""Generate pure tone at given frequency with amplitude 0...1.0 at 
   sampling frewuency fs and beginning at phase offset 'phase'.
   Returns the new phase after the sinusoid has cycled over the 
   sampling window length.
"""
def generate_tone(
        freq:int, phase:float, amp:float, fs, samp_fmt, buffer:bytearray
) -> float:
    assert samp_fmt == "s16", "Only s16 supported atm"
    samp_size_bytes = 2
    n_samples = int(len(buffer)/samp_size_bytes)
    window = [int(0) for i in range(n_samples)]
    theta = phase
    phase_inc = 2*math.pi * freq / fs
    for i in range(n_samples):
        v = amp * math.sin(theta)
        theta += phase_inc
        s = int((2**15-1)*v)
        window[i] = s
    for sample_i in range(len(window)):
        byte_i = sample_i * samp_size_bytes
        enc = window[sample_i].to_bytes(
                2, byteorder=sys.byteorder, signed=True
        )
        buffer[byte_i] = enc[0]
        buffer[byte_i+1] = enc[1]
    return theta


channels = 1
fs = 44100  # Record at 44100 samples per second
fft_size_samps = 256
chunk_samps = fft_size_samps * 10  # Record in chunks that are multiples of fft windows.

# print(f"fft_size_samps={fft_size_samps}\nchunk_samps={chunk_samps}")

seconds = 3.0
out_filename = "testoutput.wav"

# Store data in chunks for 3 seconds
sample_limit = int(fs * seconds)
sample_len = 0
frames = []  # Initialize array to store frames

ffmpeg_codec_name = 'mp2'  # flac, mp3, or libvorbis make same error.

sample_size_bytes = 2
buffer = bytearray(int(chunk_samps*sample_size_bytes))
chunkperiod = chunk_samps / fs
total_chunks = int(math.ceil(seconds / chunkperiod))
phase = 0.0

### uncomment if you want to see the synthetic data being used as a mic input.
# with open("test.raw","wb") as raw_out:
#     for ci in range(total_chunks):
#         phase = generate_tone(2600, phase, 0.8, fs, "s16", buffer)
#         raw_out.write(buffer)
# print("finished gen test")
# sys.exit(0)
# #---- 

# Using mp2 or mkv as the container format gets the same error.
with av.open(out_filename+'.mp2', "w", format="mp2") as output_con:
    output_con.metadata["title"] = "My title"
    output_con.metadata["key"] = "value"
    channel_layout = "mono"
    sample_fmt = "s16p"

    ostream = output_con.add_stream(ffmpeg_codec_name, fs, layout=channel_layout)
    assert ostream is not None, "No stream!"
    cctx = ostream.codec_context
    cctx.sample_rate = fs
    cctx.time_base = fractions.Fraction(numerator=1,denominator=fs)
    cctx.format = sample_fmt
    cctx.channels = channels
    cctx.layout = channel_layout
    print(cctx, f"layout#{cctx.channel_layout}")
    
    # Define PyAudio-style callback for recording plus PyAV transcoding.
    def rec_callback(in_data, frame_count, time_info, status):
        global sample_len
        global ostream
        frames.append(in_data)
        nsamples = int(len(in_data) / (channels*sample_size_bytes))
        
        frame = AudioFrame(format=sample_fmt, layout=channel_layout, samples=nsamples)
        frame.sample_rate = fs
        frame.time_base = fractions.Fraction(numerator=1,denominator=fs)
        frame.pts = sample_len
        frame.planes[0].update(in_data)
        print(frame, len(in_data))
        
        for out_packet in ostream.encode(frame):
            output_con.mux(out_packet)
        for out_packet in ostream.encode(None):
            output_con.mux(out_packet)
        
        sample_len += nsamples
        retflag = pyaudio.paContinue if sample_lencode>

    


    If you uncomment the RAW output part you will find the generated data can be imported as PCM s16 Mono 44100Hz into Audacity and plays the expected tone, so the generated audio data does not seem to be the problem.

    


    The normal program console output up until the exception is :

    


    mp2 at 0x7f8e38202cf0> layout#4
Beginning
 5120
. 5120


    


    The stack trace is :

    


    Traceback (most recent call last):&#xA;&#xA;  File "Dev/multichan_recording/av_encode.py", line 147, in <module>&#xA;    ret_data, ret_flag = rec_callback(buffer, ci, {}, 1)&#xA;&#xA;  File "Dev/multichan_recording/av_encode.py", line 121, in rec_callback&#xA;    for out_packet in ostream.encode(frame):&#xA;&#xA;  File "av/stream.pyx", line 153, in av.stream.Stream.encode&#xA;&#xA;  File "av/codec/context.pyx", line 484, in av.codec.context.CodecContext.encode&#xA;&#xA;  File "av/audio/codeccontext.pyx", line 42, in av.audio.codeccontext.AudioCodecContext._prepare_frames_for_encode&#xA;&#xA;  File "av/audio/resampler.pyx", line 101, in av.audio.resampler.AudioResampler.resample&#xA;&#xA;  File "av/filter/graph.pyx", line 211, in av.filter.graph.Graph.push&#xA;&#xA;  File "av/filter/context.pyx", line 89, in av.filter.context.FilterContext.push&#xA;&#xA;  File "av/error.pyx", line 336, in av.error.err_check&#xA;&#xA;ValueError: [Errno 22] Invalid argument&#xA;&#xA;</module>

    &#xA;

    edit : It's interesting that the error happens on the 2nd AudioFrame, as apparently the first one was encoded okay, because they are given the same attribute values aside from the Presentation Time Stamp (pts), but leaving this out and letting PyAV/ffmpeg generate the PTS by itself does not fix the error, so an incorrect PTS does not seem the cause.

    &#xA;

    After a brief glance in av/filter/context.pyx the exception must come from a bad return value from res = lib.av_buffersrc_write_frame(self.ptr, frame.ptr)
    &#xA;Trying to dig into av_buffersrc_write_frame from the ffmpeg source it is not clear what could be causing this error. The only obvious one is a mismatch between channel layouts, but my code is setting the layout the same in the Stream and the Frame. That problem had been found by an old question pyav - cannot save stream as mono and their answer (that one parameter required is undocumented) is the only reason the code now has the layout='mono' argument when making the stream.

    &#xA;

    The program output shows layout #4 is being used, and from https://github.com/FFmpeg/FFmpeg/blob/release/4.2/libavutil/channel_layout.h you can see this is the value for symbol AV_CH_FRONT_CENTER which is the only channel in the MONO layout.

    &#xA;

    The mismatch is surely some other object property or an undocumented parameter requirement.

    &#xA;

    How do you encode mono audio to a compressed stream with PyAV ?

    &#xA;

  • VideoWriter Doesn't work using openCV, ubuntu, Qt

    25 janvier 2023, par underflow223

    My code :

    &#xA;

    cv::VideoWriter(&#xA;  strFile.toStdString(),&#xA;  cv::VideoWriter::fourcc(&#x27;m&#x27;,&#x27;p&#x27;,&#x27;4&#x27;,&#x27;v&#x27;),&#xA;  nfps,&#xA;  cv::Size(1920/nresize, 1080/nresize)&#xA;);&#xA;

    &#xA;

    Error message :

    &#xA;

    [mpeg4_v4l2m2m @ 0x7f50a43c50] arm_release_ver of this libmali is &#x27;g6p0-01eac0&#x27;, rk_so_ver is &#x27;7&#x27;.&#xA;Could not find a valid device&#xA;[mpeg4_v4l2m2m @ 0x7f50a43c50] can&#x27;t configure encoder&#xA;

    &#xA;

    If I use MJPG codec, it works fine thow.

    &#xA;

    This is OPENCV configure info :

    &#xA;

    -- General configuration for OpenCV 4.6.0 =====================================&#xA;--   Version control:               unknown&#xA;-- &#xA;--   Extra modules:&#xA;--     Location (extra):            /home/firefly/Downloads/opencv_contrib-4.6.0/modules&#xA;--     Version control (extra):     unknown&#xA;-- &#xA;--   Platform:&#xA;--     Timestamp:                   2023-01-19T02:11:26Z&#xA;--     Host:                        Linux 5.10.110 aarch64&#xA;--     CMake:                       3.16.3&#xA;--     CMake generator:             Unix Makefiles&#xA;--     CMake build tool:            /usr/bin/make&#xA;--     Configuration:               Release&#xA;-- &#xA;--   CPU/HW features:&#xA;--     Baseline:                    NEON FP16&#xA;-- &#xA;--   C/C&#x2B;&#x2B;:&#xA;--     Built as dynamic libs?:      YES&#xA;--     C&#x2B;&#x2B; standard:                11&#xA;--     C&#x2B;&#x2B; Compiler:                /usr/bin/c&#x2B;&#x2B;  (ver 9.4.0)&#xA;--     C&#x2B;&#x2B; flags (Release):         -fsigned-char -W -Wall -Wreturn-type -Wnon-virtual-dtor -Waddress -Wsequence-point -Wformat -Wformat-security -Wmissing-declarations -Wundef -Winit-self -Wpointer-arith -Wshadow -Wsign-promo -Wuninitialized -Wsuggest-override -Wno-delete-non-virtual-dtor -Wno-comment -Wimplicit-fallthrough=3 -Wno-strict-overflow -fdiagnostics-show-option -pthread -fomit-frame-pointer -ffunction-sections -fdata-sections    -fvisibility=hidden -fvisibility-inlines-hidden -O3 -DNDEBUG  -DNDEBUG&#xA;--     C&#x2B;&#x2B; flags (Debug):           -fsigned-char -W -Wall -Wreturn-type -Wnon-virtual-dtor -Waddress -Wsequence-point -Wformat -Wformat-security -Wmissing-declarations -Wundef -Winit-self -Wpointer-arith -Wshadow -Wsign-promo -Wuninitialized -Wsuggest-override -Wno-delete-non-virtual-dtor -Wno-comment -Wimplicit-fallthrough=3 -Wno-strict-overflow -fdiagnostics-show-option -pthread -fomit-frame-pointer -ffunction-sections -fdata-sections    -fvisibility=hidden -fvisibility-inlines-hidden -g  -O0 -DDEBUG -D_DEBUG&#xA;--     C Compiler:                  /usr/bin/cc&#xA;--     C flags (Release):           -fsigned-char -W -Wall -Wreturn-type -Waddress -Wsequence-point -Wformat -Wformat-security -Wmissing-declarations -Wmissing-prototypes -Wstrict-prototypes -Wundef -Winit-self -Wpointer-arith -Wshadow -Wuninitialized -Wno-comment -Wimplicit-fallthrough=3 -Wno-strict-overflow -fdiagnostics-show-option -pthread -fomit-frame-pointer -ffunction-sections -fdata-sections    -fvisibility=hidden -O3 -DNDEBUG  -DNDEBUG&#xA;--     C flags (Debug):             -fsigned-char -W -Wall -Wreturn-type -Waddress -Wsequence-point -Wformat -Wformat-security -Wmissing-declarations -Wmissing-prototypes -Wstrict-prototypes -Wundef -Winit-self -Wpointer-arith -Wshadow -Wuninitialized -Wno-comment -Wimplicit-fallthrough=3 -Wno-strict-overflow -fdiagnostics-show-option -pthread -fomit-frame-pointer -ffunction-sections -fdata-sections    -fvisibility=hidden -g  -O0 -DDEBUG -D_DEBUG&#xA;--     Linker flags (Release):      -Wl,--gc-sections -Wl,--as-needed -Wl,--no-undefined  &#xA;--     Linker flags (Debug):        -Wl,--gc-sections -Wl,--as-needed -Wl,--no-undefined  &#xA;--     ccache:                      NO&#xA;--     Precompiled headers:         NO&#xA;--     Extra dependencies:          dl m pthread rt&#xA;--     3rdparty dependencies:&#xA;-- &#xA;--   OpenCV modules:&#xA;--     To be built:                 aruco barcode bgsegm bioinspired calib3d ccalib core datasets dnn dnn_objdetect dnn_superres dpm face features2d flann freetype fuzzy gapi hfs highgui img_hash imgcodecs imgproc intensity_transform line_descriptor mcc ml objdetect optflow phase_unwrapping photo plot quality rapid reg rgbd saliency shape stereo stitching structured_light superres surface_matching text tracking ts video videoio videostab wechat_qrcode xfeatures2d ximgproc xobjdetect xphoto&#xA;--     Disabled:                    world&#xA;--     Disabled by dependency:      -&#xA;--     Unavailable:                 alphamat cudaarithm cudabgsegm cudacodec cudafeatures2d cudafilters cudaimgproc cudalegacy cudaobjdetect cudaoptflow cudastereo cudawarping cudev cvv hdf java julia matlab ovis python2 python3 sfm viz&#xA;--     Applications:                tests perf_tests apps&#xA;--     Documentation:               NO&#xA;--     Non-free algorithms:         NO&#xA;-- &#xA;--   GUI:                           GTK3&#xA;--     GTK&#x2B;:                        YES (ver 3.24.20)&#xA;--       GThread :                  YES (ver 2.64.6)&#xA;--       GtkGlExt:                  NO&#xA;--     VTK support:                 NO&#xA;-- &#xA;--   Media I/O: &#xA;--     ZLib:                        /usr/lib/aarch64-linux-gnu/libz.so (ver 1.2.11)&#xA;--     JPEG:                        /usr/lib/aarch64-linux-gnu/libjpeg.so (ver 80)&#xA;--     WEBP:                        build (ver encoder: 0x020f)&#xA;--     PNG:                         /usr/lib/aarch64-linux-gnu/libpng.so (ver 1.6.37)&#xA;--     TIFF:                        /usr/lib/aarch64-linux-gnu/libtiff.so (ver 42 / 4.1.0)&#xA;--     JPEG 2000:                   build (ver 2.4.0)&#xA;--     OpenEXR:                     build (ver 2.3.0)&#xA;--     HDR:                         YES&#xA;--     SUNRASTER:                   YES&#xA;--     PXM:                         YES&#xA;--     PFM:                         YES&#xA;-- &#xA;--   Video I/O:&#xA;--     DC1394:                      YES (2.2.5)&#xA;--     FFMPEG:                      YES&#xA;--       avcodec:                   YES (58.54.100)&#xA;--       avformat:                  YES (58.29.100)&#xA;--       avutil:                    YES (56.31.100)&#xA;--       swscale:                   YES (5.5.100)&#xA;--       avresample:                YES (4.0.0)&#xA;--     GStreamer:                   YES (1.16.2)&#xA;--     v4l/v4l2:                    YES (linux/videodev2.h)&#xA;-- &#xA;--   Parallel framework:            pthreads&#xA;-- &#xA;--   Trace:                         YES (with Intel ITT)&#xA;-- &#xA;--   Other third-party libraries:&#xA;--     Lapack:                      NO&#xA;--     Eigen:                       NO&#xA;--     Custom HAL:                  YES (carotene (ver 0.0.1))&#xA;--     Protobuf:                    build (3.19.1)&#xA;-- &#xA;--   OpenCL:                        YES (no extra features)&#xA;--     Include path:                /home/firefly/Downloads/opencv-4.6.0/3rdparty/include/opencl/1.2&#xA;--     Link libraries:              Dynamic load&#xA;-- &#xA;--   Python (for build):            /usr/bin/python2.7&#xA;-- &#xA;--   Java:                          &#xA;--     ant:                         NO&#xA;--     JNI:                         NO&#xA;--     Java wrappers:               NO&#xA;--     Java tests:                  NO&#xA;-- &#xA;============================================================================================&#xA;

    &#xA;

    ffmpeg info :

    &#xA;

    ============================================================================================&#xA;ffmpeg&#xA;ffmpeg version 4.2.4-1ubuntu1.0firefly5 Copyright (c) 2000-2020 the FFmpeg developers&#xA;  built with gcc 9 (Ubuntu 9.4.0-1ubuntu1~20.04.1)&#xA;  configuration: --prefix=/usr --extra-version=1ubuntu1.0firefly5 --toolchain=hardened --libdir=/usr/lib/aarch64-linux-gnu --incdir=/usr/include/aarch64-linux-gnu --arch=arm64 --enable-gpl --disable-stripping --enable-avresample --disable-filter=resample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librsvg --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opencl --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libx264 --enable-libdrm --enable-librga --enable-rkmpp --enable-version3 --disable-libopenh264 --disable-vaapi --disable-vdpau --disable-decoder=h264_v4l2m2m --disable-decoder=vp8_v4l2m2m --disable-decoder=mpeg2_v4l2m2m --disable-decoder=mpeg4_v4l2m2m --enable-shared --disable-doc&#xA;  libavutil      56. 31.100 / 56. 31.100&#xA;  libavcodec     58. 54.100 / 58. 54.100&#xA;  libavformat    58. 29.100 / 58. 29.100&#xA;  libavdevice    58.  8.100 / 58.  8.100&#xA;  libavfilter     7. 57.100 /  7. 57.100&#xA;  libavresample   4.  0.  0 /  4.  0.  0&#xA;  libswscale      5.  5.100 /  5.  5.100&#xA;  libswresample   3.  5.100 /  3.  5.100&#xA;  libpostproc    55.  5.100 / 55.  5.100&#xA;Hyper fast Audio and Video encoder&#xA;usage: ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfile}...&#xA;====================================================================================&#xA;

    &#xA;