Recherche avancée

Médias (1)

Mot : - Tags -/copyleft

Autres articles (35)

  • La file d’attente de SPIPmotion

    28 novembre 2010, par

    Une file d’attente stockée dans la base de donnée
    Lors de son installation, SPIPmotion crée une nouvelle table dans la base de donnée intitulée spip_spipmotion_attentes.
    Cette nouvelle table est constituée des champs suivants : id_spipmotion_attente, l’identifiant numérique unique de la tâche à traiter ; id_document, l’identifiant numérique du document original à encoder ; id_objet l’identifiant unique de l’objet auquel le document encodé devra être attaché automatiquement ; objet, le type d’objet auquel (...)

  • Organiser par catégorie

    17 mai 2013, par

    Dans MédiaSPIP, une rubrique a 2 noms : catégorie et rubrique.
    Les différents documents stockés dans MédiaSPIP peuvent être rangés dans différentes catégories. On peut créer une catégorie en cliquant sur "publier une catégorie" dans le menu publier en haut à droite ( après authentification ). Une catégorie peut être rangée dans une autre catégorie aussi ce qui fait qu’on peut construire une arborescence de catégories.
    Lors de la publication prochaine d’un document, la nouvelle catégorie créée sera proposée (...)

  • Gestion générale des documents

    13 mai 2011, par

    MédiaSPIP ne modifie jamais le document original mis en ligne.
    Pour chaque document mis en ligne il effectue deux opérations successives : la création d’une version supplémentaire qui peut être facilement consultée en ligne tout en laissant l’original téléchargeable dans le cas où le document original ne peut être lu dans un navigateur Internet ; la récupération des métadonnées du document original pour illustrer textuellement le fichier ;
    Les tableaux ci-dessous expliquent ce que peut faire MédiaSPIP (...)

Sur d’autres sites (5638)

  • first audio lost when using ffmpeg to overlay one mp4 on top of a big mp4

    11 septembre 2024, par James Hao

    I searched a lot (including chatgtp and google), and tried a lot of methods, not work.
below is my ffmpeg command line on windows 10 :

    


    ffmpeg -i video.mp4 -i b-.mp4 -filter_complex "[0:v]setpts=PTS-STARTPTS[b1];[1:v]scale=300:-1,setpts=PTS-STARTPTS+0.0/TB[top];[b1][top]overlay=x=50:y=50:enable='between(t\,0.0,5)'[outv];[1:a]adelay=0|0[a1]; [0:a][a1]amerge=inputs=2[outa]" -map "[outv]" -map "[outa]" -pix_fmt yuv420p -c:a aac -ac 2 -c:v libx264 -crf 18 final_video6.mp4


    


    two mp4 files, b-.mp4 should be on top of video.mp4 and play from 0th second and scale to 300 :-1, [0:a][a1]amerge is to merge two audio from the mp4 files, using "-ac 2" to replace pan statement according to enter link description here

    


    in result mp4 file, the audio from video.mp4 is lost ; sometimes with the same instruction, but replace b-.mp4 with another mp4 file, the audio may partially lost. any help will be very appreciated.
below is the console output from ffmpeg :

    


    ffmpeg version 7.0.1-full_build-www.gyan.dev Copyright (c) 2000-2024 the FFmpeg developers
  built with gcc 13.2.0 (Rev5, Built by MSYS2 project)
  configuration: --enable-gpl --enable-version3 --enable-static --disable-w32threads --disable-autodetect --enable-fontconfig --enable-iconv --enable-gnutls --enable-libxml2 --enable-gmp --enable-bzlib --enable-lzma --enable-libsnappy --enable-zlib --enable-librist --enable-libsrt --enable-libssh --enable-libzmq --enable-avisynth --enable-libbluray --enable-libcaca --enable-sdl2 --enable-libaribb24 --enable-libaribcaption --enable-libdav1d --enable-libdavs2 --enable-libuavs3d --enable-libxevd --enable-libzvbi --enable-librav1e --enable-libsvtav1 --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs2 --enable-libxeve --enable-libxvid --enable-libaom --enable-libjxl --enable-libopenjpeg --enable-libvpx --enable-mediafoundation --enable-libass --enable-frei0r --enable-libfreetype --enable-libfribidi --enable-libharfbuzz --enable-liblensfun --enable-libvidstab --enable-libvmaf --enable-libzimg --enable-amf --enable-cuda-llvm --enable-cuvid --enable-dxva2 --enable-d3d11va --enable-d3d12va --enable-ffnvcodec --enable-libvpl --enable-nvdec --enable-nvenc --enable-vaapi --enable-libshaderc --enable-vulkan --enable-libplacebo --enable-opencl --enable-libcdio --enable-libgme --enable-libmodplug --enable-libopenmpt --enable-libopencore-amrwb --enable-libmp3lame --enable-libshine --enable-libtheora --enable-libtwolame --enable-libvo-amrwbenc --enable-libcodec2 --enable-libilbc --enable-libgsm --enable-libopencore-amrnb --enable-libopus --enable-libspeex --enable-libvorbis --enable-ladspa --enable-libbs2b --enable-libflite --enable-libmysofa --enable-librubberband --enable-libsoxr --enable-chromaprint
  libavutil      59.  8.100 / 59.  8.100
  libavcodec     61.  3.100 / 61.  3.100
  libavformat    61.  1.100 / 61.  1.100
  libavdevice    61.  1.100 / 61.  1.100
  libavfilter    10.  1.100 / 10.  1.100
  libswscale      8.  1.100 /  8.  1.100
  libswresample   5.  1.100 /  5.  1.100
  libpostproc    58.  1.100 / 58.  1.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'video.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf61.1.100
  Duration: 00:00:09.40, start: 0.000000, bitrate: 72 kb/s
  Stream #0:0[0x1](und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(progressive), 854x480, 21 kb/s, 30 fps, 30 tbr, 15360 tbn (default)
      Metadata:
        handler_name    : VideoHandler
        vendor_id       : [0][0][0][0]
        encoder         : Lavc61.3.100 libx264
  Stream #0:1[0x2](und): Audio: mp3 (mp3float) (mp4a / 0x6134706D), 44100 Hz, mono, fltp, 47 kb/s (default)
      Metadata:
        handler_name    : SoundHandler
        vendor_id       : [0][0][0][0]
Input #1, mov,mp4,m4a,3gp,3g2,mj2, from 'b-.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf59.27.100
  Duration: 00:00:05.29, start: 0.030000, bitrate: 325 kb/s
  Stream #1:0[0x1](und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(progressive), 366x132, 196 kb/s, 25.15 fps, 50 tbr, 90k tbn (default)
      Metadata:
        handler_name    : VideoHandler
        vendor_id       : [0][0][0][0]
  Stream #1:1[0x2](und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 139 kb/s (default)
      Metadata:
        handler_name    : SoundHandler
        vendor_id       : [0][0][0][0]
Stream mapping:
  Stream #0:0 (h264) -> setpts:default
  Stream #0:1 (mp3float) -> amerge
  Stream #1:0 (h264) -> scale:default
  Stream #1:1 (aac) -> adelay:default
  overlay:default -> Stream #0:0 (libx264)
  amerge:default -> Stream #0:1 (aac)
Press [q] to stop, [?] for help
[Parsed_amerge_5 @ 000002a6613bf100] No channel layout for input 1
[vost#0:0/libx264 @ 000002a6612936c0] No information about the input framerate is available. Falling back to a default value of 25fps. Use the -r option if you want a different framerate.
[libx264 @ 000002a6612b8f40] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2
[libx264 @ 000002a6612b8f40] profile High, level 3.0, 4:2:0, 8-bit
[libx264 @ 000002a6612b8f40] 264 - core 164 r3191 4613ac3 - H.264/MPEG-4 AVC codec - Copyleft 2003-2024 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=15 lookahead_threads=2 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=18.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
Output #0, mp4, to 'final_video6.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf61.1.100
  Stream #0:0: Video: h264 (avc1 / 0x31637661), yuv420p(progressive), 854x480, q=2-31, 25 fps, 12800 tbn
      Metadata:
        encoder         : Lavc61.3.100 libx264
      Side data:
        cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: N/A
  Stream #0:1: Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 128 kb/s
      Metadata:
        encoder         : Lavc61.3.100 aac
[out#0/mp4 @ 000002a66105e640] video:93KiB audio:78KiB subtitle:0KiB other streams:0KiB global headers:0KiB muxing overhead: 3.974328%
frame=  236 fps=0.0 q=-1.0 Lsize=     178KiB time=00:00:04.97 bitrate= 292.5kbits/s dup=0 drop=46 speed=16.9x
[libx264 @ 000002a6612b8f40] frame I:2     Avg QP: 4.89  size:  4803
[libx264 @ 000002a6612b8f40] frame P:63    Avg QP:14.43  size:   854
[libx264 @ 000002a6612b8f40] frame B:171   Avg QP:12.25  size:   181
[libx264 @ 000002a6612b8f40] consecutive B-frames:  2.1%  1.7%  6.4% 89.8%
[libx264 @ 000002a6612b8f40] mb I  I16..4: 86.1% 10.0%  3.8%
[libx264 @ 000002a6612b8f40] mb P  I16..4:  0.3%  0.1%  0.3%  P16..4:  1.4%  0.6%  0.1%  0.0%  0.0%    skip:97.1%
[libx264 @ 000002a6612b8f40] mb B  I16..4:  0.0%  0.0%  0.1%  B16..8:  1.4%  0.3%  0.0%  direct: 0.0%  skip:98.1%  L0:52.4% L1:39.0% BI: 8.6%
[libx264 @ 000002a6612b8f40] 8x8 transform intra:11.2% inter:13.3%
[libx264 @ 000002a6612b8f40] coded y,uvDC,uvAC intra: 11.2% 12.4% 12.0% inter: 0.2% 0.2% 0.1%
[libx264 @ 000002a6612b8f40] i16 v,h,dc,p: 90%  6%  4%  0%
[libx264 @ 000002a6612b8f40] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 28%  3% 67%  0%  0%  0%  0%  0%  1%
[libx264 @ 000002a6612b8f40] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 26% 35% 15%  3%  4%  4%  5%  3%  4%
[libx264 @ 000002a6612b8f40] i8c dc,h,v,p: 86% 10%  3%  0%
[libx264 @ 000002a6612b8f40] Weighted P-Frames: Y:1.6% UV:1.6%
[libx264 @ 000002a6612b8f40] ref P L0: 69.2%  3.3% 18.7%  8.8%
[libx264 @ 000002a6612b8f40] ref B L0: 64.6% 31.0%  4.3%
[libx264 @ 000002a6612b8f40] ref B L1: 94.4%  5.6%
[libx264 @ 000002a6612b8f40] kb/s:80.06
[aac @ 000002a6612d0fc0] Qavg: 498.856


    


  • What Are Website KPIs (10 KPIs and Best Ways to Track Them)

    3 mai 2024, par Erin

    Trying to improve your website’s performance ?

    Have you ever heard the phrase, “What gets measured gets managed ?”

    To improve, you need to start crunching your numbers.

    The question is, what numbers are you supposed to track ?

    If you want to improve your conversions, then you need to track your website KPIs.

    In this guide, we’ll break down the top website KPIs you need to be tracking and how you can track them so you can double down on what’s working with your website (and ditch what’s not).

    Let’s begin.

    What are website KPIs ?

    Before we dive into website KPIs, let’s define “KPI.”

    A KPI is a key performance indicator.

    You can use this measurable metric to track progress toward a specific objective.

    A website KPI is a metric to track progress towards a specific website performance objective.

    What are website KPIs?

    Website KPIs help your business identify strengths and weaknesses on your website, activities you’re doing well (and those you’re struggling with).

    Web KPIs can give you and your team a target to reach with simple checkpoints to show you whether you’re on the right track toward your goals.

    By tracking website KPIs regularly, you can ensure your organisation performs consistently at a high level.

    Whether you’re looking to improve your traffic, leads or revenue, keeping a close eye on your website KPIs can help you reach your goals.

    10 Website KPIs to track

    If you want to improve your site’s performance, you need to track the right KPIs.

    While there are plenty of web analytics solutions on the market today, below we’ll cover KPIs that are automatically tracked in Matomo (and don’t require any configuration).

    Here are the top 10 website KPIs you need to track to improve site performance and grow your brand :

    1. Pageviews

    Website pageviews are one of the most important KPIs to track.

    What is it exactly ?

    It’s simply the number of times a specific web page has been viewed on your site in a specific time period.

    For example, your homepage might have had 327 pageviews last month, and only 252 this month. 

    This is a drop of 23%. 

    A drop in pageviews could mean your search engine optimisation or traffic campaigns are weakening. Alternatively, if you see pageviews rise, it could mean your marketing initiatives are performing well.

    High or low pageviews could also indicate potential issues on specific pages. For example, your visitors might have trouble finding specific pages if you have poor website structure.

    Screenshot example of the Matomo dashboard

    2. Average time on page

    Now that you understand pageviews, let’s talk about average time on page.

    This is simple : it’s the average amount of time your visitors spend on a particular web page on your site.

    This isn’t the average time they spend on your website but on a specific page.

    If you’re finding that you’re getting steady traffic to a specific web page, but the average time on the page is low, it may mean the content on the page needs to be updated or optimised.

    Tracking your average time on page is important, as the longer someone stays on a page, the better the experience.

    This isn’t a hard and fast rule, though. For specific types of content like knowledge base articles, you may want a shorter period of time on page to ensure someone gets their answer quickly.

    3. Bounce rate

    Bounce rate sounds fun, right ?

    Well, it’s not usually a good thing for your website.

    A bounce rate is how many users entered your website but “bounced” away without clicking through to another page.

    Your bounce rate is a key KPI that helps you determine the quality of your content and the user experience on individual pages.

    You could be getting plenty of traffic to your site, but if the majority are bouncing out before heading to new pages, it could mean that your content isn’t engaging enough for your visitors.

    Remember, like average time on page, your bounce rate isn’t a black-and-white KPI.

    A higher bounce rate may mean your site visitors got exactly what they needed and are pleased.

    But, if you have a high bounce rate on a product page or a landing page, that is a sign you need to optimise the page.

    4. Exit rate

    Bounce rate is the percentage of people who left the website after visiting one page.

    Exit rate, on the other hand, is the percentage of website visits that ended on a specific page.

    For example, you may find that a blog post you wrote has a 19% exit rate and received 1,000 visits that month. This means out of the 1,000 people who viewed this page, 190 exited after visiting it.

    On the other hand, you may find that a second blog post has 1,000 pageviews, but a 10% exit rate, with only 100 people leaving the site after visiting this page.

    What could this mean ?

    This means the second page did a better job keeping the person on your website longer. This could be because :

    • It had more engaging content, keeping the visitors’ interest high
    • It had better internal links to other relevant pieces of content
    • It had a better call to action, taking someone to another web page

    If you’re an e-commerce store and notice that your exit rate is higher on your product, cart or checkout pages, you may need to adjust those pages for better conversions.

    A screenshot of exit rate for "diving" and "products."

    5. Average page load time

    Want to know another reason you may have a high exit rate or bounce rate on a page ?

    Your page load time.

    The average page load time is the average time it takes (in seconds) from the moment you click through to a page until it has fully rendered within your browser.

    In other words, it’s the time it takes after you click on a page for it to be fully functional.

    Your average load time is a crucial website KPI because it significantly impacts page performance and the user experience.

    How important is your page load time ?

    Nearly 53% of website visitors expect e-commerce pages to load in 3 seconds or less.

    You will likely lose visitors if your pages take too long to load.

    You could have the best content on a web page, but if it takes too long to load, your visitors will bounce, exit, or simply be frustrated.

    6. Conversions

    Conversion website KPI.

    Conversions.

    It’s one of the most popular words in digital marketing circles.

    But what does it mean ?

    A conversion is simply the number of times someone takes a specific action on your website.

    For example, it could be wanting someone to :

    • Read a blog post
    • Click an external link
    • Download a PDF guide
    • Sign up to your email list
    • Comment on your blog post
    • Watch a new video you uploaded
    • Purchase a limited-edition product
    • Sign up for a free trial of your software

    To start tracking conversions, you need to first decide what your business goals are for your website.

    With Matomo, you can set up conversions easily through the Goals feature. Simply set up your website goals, and Matomo will automatically track the conversions towards that objective (as a goal completion).

    Simply choose what conversion you want to track, and you can analyse when conversions occur through the Matomo platform.

    7. Conversion rate

    A graph showing evolution over a set period.

    Now that you know what a conversion is, it’s time to talk about conversion rate.

    This key website KPI will help you analyse your performance towards your goals.

    Conversion rate is simply the percentage of visitors who take a desired action, like completing a purchase, signing up for a newsletter, or filling out a form, out of the total number of visitors to your website or landing page.

    Understanding this percentage can help you plan your marketing strategy to improve your website and business performance.

    For instance, let’s say that 2% of your website visitors purchase a product on your digital storefront.

    Knowing this, you could tweak different levers to increase your sales.

    If your average order value is $50 and you get 100,000 visits monthly, you make about $100,000.

    Let’s say you want to increase your revenue.

    One option is to increase your traffic by implementing campaigns to increase different traffic sources, such as social media ads, search ads, organic social traffic, and SEO.

    If you can get your traffic to 120,000 visitors monthly, you can increase your revenue to $120,000 — an additional $20,000 monthly for the extra 20,000 visits.

    Or, if you wanted to increase revenue, you could ignore traffic growth and simply improve your website with conversion rate optimisation (CRO).

    CRO is the practice of making changes to your website or landing page to encourage more visitors to take the desired action.

    If you can get your conversion rate up to 2.5%, the calculation looks like this :

    100,000 visits x $50 average order value x 2.5% = $125,000/month.

    8. Average time spent on forms

    If you want more conversions, you need to analyse forms.

    Why ?

    Form analysis is crucial because it helps you pinpoint where users might be facing obstacles. 

    By identifying these pain points, you can refine the form’s layout and fields to enhance the user experience, leading to higher conversion rates.

    In particular, you should track the average time spent on your forms to understand which ones might be causing frustration or confusion. 

    The average time a visitor spends on a form is calculated by measuring the duration between their first interaction with a form field (such as when they focus on it) and their final interaction.

    Find out how Concrete CMS tripled their leads using Form Analytics.

    9. Play rate

    One often overlooked website KPI you need to be tracking is play rate.

    What is it exactly ?

    The percentage of visitors who click “play” on a video or audio media format on a specific web page.

    For example, if you have a video on your homepage, and 50 people watched it out of the 1,000 people who visited your website today, you have a play rate of 5%.

    Play rate lets you track whenever someone consumes a particular piece of audio or video content on your website, like a video, podcast, or audiobook.

    Not all web analytics solutions offer media analytics. However, Matomo lets you track your media like audio and video without the need for configuration, saving you time and upkeep.

    10. Actions per visit

    Another crucial website KPI is actions per visit.

    This is the average number of interactions a visitor has with your website during a single visit.

    For example, someone may visit your website, resulting in a variety of actions :

    • Downloading content
    • Clicking external links
    • Visiting a number of pages
    • Conducting specific site searches

    Actions per visit is a core KPI that indicates how engaging your website and content are.

    The higher the actions per visit, the more engaged your visitors typically are, which can help them stay longer and eventually convert to paying customers.

    Track your website KPIs with Matomo today

    Running a website is no easy task.

    There are dozens of factors to consider and manage :

    • Copy
    • Design
    • Performance
    • Tech integrations
    • And more

    But, to improve your website and grow your business, you must also dive into your web analytics by tracking key website KPIs.

    Managing these metrics can be challenging, but Matomo simplifies the process by consolidating all your core KPIs into one easy-to-use platform.

    As a privacy-friendly and GDPR-compliant web analytics solution, Matomo tracks 20-40% more data than other solutions. So you gain access to 100% accurate, unsampled insights, enabling confident decision-making.

    Join over 1 million websites that trust Matomo as their web analytics solution. Try it free for 21 days — no credit card required.

  • ffmpeg output with label 'v' does not exist in any defined filtler graph

    15 avril 2024, par David Royale

    Been trying to make this Python code work but it fails up until rendering the final part :

    


    import subprocess
import re
import os

def detect_idle_sections(video_path):
    command = ['ffmpeg', '-i', video_path, '-vf', 'select=\'gt(scene,0.1)\'', '-vsync', 'vfr', '-f', 'null', '-']
    output = subprocess.check_output(command, stderr=subprocess.STDOUT).decode('utf-8')
    
    idle_sections = []
    duration = 0.0
    for line in output.split('\n'):
        match = re.search(r'scene:(\d+)', line)
        if match:
            scene = int(match.group(1))
            if scene == 0:
                duration += 1.0 / 30  # Assuming 30 fps
            else:
                if duration > 0:
                    idle_sections.append((duration, duration - (1.0 / 30)))  # Duration and start time
                    duration = 0.0
    
    return idle_sections

def cut_idle_sections(video_path, idle_sections, output_path, total_duration):
    print("starting to cut things")
    filters = []
    start_time = 0.0
    for duration, _ in idle_sections:
        filters.append(f'[0:v]trim=start={start_time}:end={start_time + duration},setpts=PTS-STARTPTS[v{len(filters)}]')
        start_time += duration
    
    if start_time < total_duration:
        filters.append(f'[0:v]trim=start={start_time},setpts=PTS-STARTPTS[v{len(filters)}]')

    filter_str = ';'.join(filters)
    print("finished chopping")
    command = ['ffmpeg', '-i', video_path, '-filter_complex', filter_str, '-map', '[v]', output_path]
    subprocess.call(command)

def get_total_duration(video_path):
    print("prior getting time")
    command = ['ffprobe', '-v', 'error', '-show_entries', 'format=duration', '-of', 'default=noprint_wrappers=1:nokey=1', video_path]
    output = subprocess.check_output(command).decode('utf-8').strip()
    print("after getting time")
    return float(output)

input_file = r"C:\Users\D\Videos\2024-04-15 08-42-53.mkv"
output_file = r"C:\Users\D\Videos\output_video.mp4"

# Get full paths
input_path = os.path.abspath(input_file)
output_path = os.path.abspath(output_file)

total_duration = get_total_duration(input_path)
idle_sections = detect_idle_sections(input_path)
cut_idle_sections(input_path, idle_sections, output_path, total_duration)


    


    The error I am getting is :

    


    [out#0/mp4 @ 000001af60f9d3c0] Output with label 'v' does not exist in any defined filter graph, or was already used elsewhere.
Error opening output file C:\Users\D_era\Videos\output_video.mp4.
Error opening output files: Invalid argument


    


    The code is intended to cut "iddle" frames where frame a = frame b. I want to point out that I don't really care about audio, so it's just comparing if frames "A" through "H" are the same and keeping a and continuing with the rest of the video.

    


    Putting some comments to determine which part was successful and which broke, I found that the line failig is this :

    


    command = ['ffmpeg', '-i', video_path, '-filter_complex', filter_str, '-map', '[v]', output_path]


    


    and apparently is the -map part.