Recherche avancée

Médias (1)

Mot : - Tags -/ticket

Autres articles (96)

  • Les sons

    15 mai 2013, par
  • Automated installation script of MediaSPIP

    25 avril 2011, par

    To overcome the difficulties mainly due to the installation of server side software dependencies, an "all-in-one" installation script written in bash was created to facilitate this step on a server with a compatible Linux distribution.
    You must have access to your server via SSH and a root account to use it, which will install the dependencies. Contact your provider if you do not have that.
    The documentation of the use of this installation script is available here.
    The code of this (...)

  • MediaSPIP en mode privé (Intranet)

    17 septembre 2013, par

    À partir de la version 0.3, un canal de MediaSPIP peut devenir privé, bloqué à toute personne non identifiée grâce au plugin "Intranet/extranet".
    Le plugin Intranet/extranet, lorsqu’il est activé, permet de bloquer l’accès au canal à tout visiteur non identifié, l’empêchant d’accéder au contenu en le redirigeant systématiquement vers le formulaire d’identification.
    Ce système peut être particulièrement utile pour certaines utilisations comme : Atelier de travail avec des enfants dont le contenu ne doit pas (...)

Sur d’autres sites (11682)

  • Increasing Website Traffic : 11 Tips To Attract Visitors

    25 août 2023, par Erin — Analytics Tips, Marketing

    For your website and business to succeed, you need to focus on building traffic.

    However, you aren’t the only one with that goal in mind.

    There are millions of other websites trying to increase their traffic as well. With that much competition, it’s important to make sure your website stands out. Accomplishing that can require a great deal of strategy.

    We’ve compiled a list of tips to help you develop a solid plan for increasing website traffic, to expand your reach, grow your audience and boost customer engagement levels — creating more opportunities for your business.Using these tips, more visitors will find their way to your website — meaning more customers for your business.

    Why is website traffic important ?

    Website traffic is essentially the number of people visiting your website. When someone lands on your site, they’re considered a visitor and increase your website traffic. 

    When your website traffic is high, you’ll get more clicks, customer interactions and brand engagement. As a result, search engines will have a positive impression of your website and send more people there, meaning even more people will see your content and have the opportunity to buy your product.

    When using a website for your business or any other venture, tracking your website traffic using a web analytics solution like Matomo is critical.

    A screenshot of Matomo's Visits Dashboard

    With over 200 million actively maintained and visited websites in 2023, it’s important to make sure yours stands out if you want to increase your website traffic and grow your online presence. 

    11 tips for increasing website traffic

    Here are 11 tips to increase your organic traffic and elevate your business.

    1. Perfect your SEO

    Optimising your website to show up in search engine results shouldn’t be overlooked, as 63% of consumers start researching a product by using a search engine. Search engine optimisation, or SEO, increases the visibility and discoverability of your website on search engine results pages (SERPs). SEO targets organic searches, which means it doesn’t add to social media traffic, direct traffic or referrals, and it isn’t paid traffic.

    SEO is number one on this list for a reason — most of these tips will directly, or indirectly, improve your SEO efforts. 

    Steps to improve your search engine optimisation can include :

    • Using relevant keywords that are incorporated naturally throughout your content
    • Using a web analytics tool like Matomo, with its search keyword feature, to gain insights and identify opportunities for improvement
    • Using descriptive meta titles and meta descriptions
    • Link to your own content internally with descriptive anchor tags, and make sure unused pages are removed 
    • Keeping your target audience in mind and marketing your content toward them
    • Making sure your website’s structure is optimised to be mobile-friendly, fast and responsive — such as with Matomo’s SEO Web Vitals feature, which monitors key metrics like your website’s page speed and loading performance, pivotal for optimising search engine results

    2. Research the competition

    It’s important to remember that while your business might be unique, it’s likely not the only one in its field. Thousands of other websites from other companies are also looking to improve their website traffic and increase sales, and you have to outcompete them.

    Looking at what your competitors are doing is vital from a strategic perspective. You can see what their content looks like, how they’re framing their specific use cases and what target audience they’re marketing toward.

    Knowing what your competitors are doing can help you find ways to improve your content and make it unique. Are your competitors missing a specific use case or neglecting a particular audience ? Fill in their content gaps on your website, and pick up the traffic they’re missing.

    3. Create high-quality, evergreen content

    If your content is high-quality, visitors will read more of it and stay longer on your site. This obviously increases the likelihood they will purchase your product or service, and it tells search engines that your website is a good answer for a search query.

    High-quality content will also be shared more often, leading to even more website traffic. You should aim to develop content that doesn’t lose relevance over time (aka “evergreen content”). If you include time-sensitive data, statistics or content in your website, blog posts or articles, it’ll be relevant only around that time frame. 

    While this month’s viral content is highly popular, it likely won’t be relevant in a few months. Instead, if you ensure your content is evergreen, it will continue to get engagement long after it’s published.

    4. Implement creative visuals

    It’s important to have engaging, fun and interactive media on your website to keep visitors on your site longer. Like good content, interesting visuals (and the resulting longer visits) can translate to more purchases (and favourable assessments by search engines).

    A screenshot of Matomo's Media Dashboard

    Media can take the form of videos, infographics, images or web graphics. 

    With Matomo’s Media Analytics feature, you can automatically gain even deeper insights into how your visitors engage with your media content, enhancing your understanding of their preferences and behaviours.

    If you have interesting, captivating visuals, visitors will be more likely to stay on your website longer and see what you have to offer. Without captivating visuals to break up walls of text, you’ll likely find visitors will tend to leave your site in favour of something more engaging.

    Just make sure you design your visuals with your target audience in mind. Flashy, fun graphics might not be a good fit for a professional audience, but they’re great for younger audiences. If you get your audience correct, they may also share the images with others. Depending on your business, that might be a useful infographic shared across LinkedIn, or a picture of a clever use case shared on Pinterest. 

    As a bonus, if other companies use your graphics on their websites, that earns you some backlinks — more on those in a bit.

    5. Create a comprehensive knowledge base

    Having a knowledge base is critical to making sure your service or product is well understood and well documented, especially in the tech industry. If a visitor or potential customer is interested in your product or service, they need to know exactly what it will do for them and that they have a good foundation of support in case they need help. A knowledge base is also a good place for internal links (more on those in a bit).

    Visitors can also use your knowledge base as a source of information, and if they cite you as a source, that’ll lead right back to more website traffic for you (see our backlinks section for more about this). If your website is a good source of information, visitors will come back to it again and again.

    6. Use social media often and consistently

    Digital marketing nowadays heavily relies on social media platforms. Having an online presence no longer means just having a website — if you’re not using social media sites, you’re missing out on a huge portion of potential visitors and customers.

    A strong social media presence with profiles on platforms like Facebook, X (formerly Twitter), Instagram or LinkedIn can be invaluable for increasing your website traffic. Visitors to your social media profiles will click on regularly shared content, read your blog posts and possibly become customers.

    Participating in relevant communities and networking with other companies in groups in your industry can also be invaluable. If you participate in online communities and forums for your niche, you can offer insight, answer questions and plug your website. All of this will increase your clicks, which will increase your website traffic.

    If you’ve managed to build your own community on social media, make sure to keep them engaged ! Implementing your own forum, hosting live chats and Q&As, offering helpful and engaging content will make sure visitors keep coming back and spreading the word. 

    7. Use email marketing or newsletters

    Having an email list and sending marketing emails or newsletters is a great way to increase website traffic. You can offer exclusive content, and promise discounts or resources to your subscribers for when they return to your website. This will help keep your loyal audience engaged, entice new customers to subscribe to your newsletter, give you a chance to upsell to people who have already expressed an interest in your product and potentially convert curious subscribers into customers.

    8. Make sure your content can earn backlinks

    A backlink is when a website links to a different website — ideally using relevant anchor text — and it’s an effective strategy for increasing referral traffic, that is, visitors who get to your website via a link on another website. The more backlinks you have, the more your referral traffic will increase. Social share buttons make it easy for people to cite you on social platforms, too. 

    We’ve already talked about making expert content that’s link-worthy, but also make sure that you’re creating linkable assets (like those interesting visuals mentioned earlier), building relationships with other sites that will link to you (like by inviting an expert or influencer to write on your page and promote it from their platform, or by writing your own guest content for their sites) and sharing your own content. All of this can help increase your referral traffic, particularly when you’re linked from websites with a higher domain authority than you have.

    You can also make sure your website is listed in online directories. Some sites will do interviews and roundups, as well — these are great opportunities to increase your backlinks.

    9. Optimise your CTR

    Click-through rate, or CTR, is the percentage of users who click on specific links to your website. A high CTR means your visitors are following a link — whether in an advertisement, a search result or a social media post — and a low CTR means they’re passing it by. Optimising your CTR can greatly improve your website traffic.

    To improve CTR, identify successful elements such as copy, imagery, and offers in your ads, enabling you to amplify effective elements and minimise less impactful ones.

    10. Ensure your website is responsive and mobile-friendly

    If a visitor is frustrated by your site being slow, laggy, clunky or not mobile-friendly, they won’t stay long. That doesn’t look good to search engines if that’s how your visitors got there. Your website needs to be clean, responsive, user-friendly and accessible.

    If your website is slow, try increasing your website’s performance by :

    • Optimising images : Reduce the size of images and compress them for faster load times. Opt for JPEG format for photos and PNG format for graphics. 
    • Limit the use of plugins : If you are using a CMS like WordPress, consider removing plugins that are unnecessary or not essential.
    • Embrace lazy loading : To further enhance site speed and reduce initial load times, set up your site to load images and content only as visitors scroll down. Prioritising the content and images at the top of the page makes the site feel faster. Some CMS platforms will offer this option, but others may require a bit of coding to set this up. 

    Many people rely on their phones to research services or products, especially if they’re doing a quick search. Make sure your website is friendly to mobile users. It should scale vertically and scroll smoothly so users aren’t frustrated when using your site. They should be able to find the info they need immediately without any technical issues.

    11. Track your website’s metrics

    As you test out each of these strategies to increase your web traffic, don’t forget to closely analyse the performance of your site. To truly understand the impact of your efforts, you’ll need a reliable web analytics solution. Think of a dependable web analytics solution as your website’s GPS. Without it, you’d be lost, unsure of your direction and missing out on valuable insights to steer your growth.

    Matomo is a powerful web analytics tool that can help you do just that by providing information on your site visitors and campaign performance, complemented by an array of behavioural analytics features that delve into user interactions. Among these, our heatmap feature stands out, enabling greater insights into user interactions and optimisation of your site’s effectiveness.

    Screenshot of Matomo heatmap feature

    Google Analytics is another powerful analytics option, though it has challenges with data accuracy ; there are multiple other web analytics solutions as well.

    Regardless of what web analytics solution you choose, the process of analysing your website metrics is incredibly important for identifying areas of improvement to increase website traffic.

    Increasing your web traffic is a process

    Increasing website traffic isn’t something you accomplish overnight. It’s a comprehensive, ongoing endeavour that requires constant analysis and fine-tuning. 

    By applying these tips to create consistent, high-quality content that gets spotlighted on search engines, shared on social media and returned to again and again, you’ll see a steady stream of increased traffic. 

    With Matomo, you can understand your visitor behaviour to see what works and what doesn’t as you work to increase your website traffic. Get your free 21-day trial now. No credit card required.

  • Stream is not appearing on youtube

    1er novembre 2022, par AMRITESH GUPTA

    I am trying to stream a captured stream to youtube live through FFmpeg, but the stream is not appearing on youtube. I tried giving input from an mp4 file, and it worked perfectly but providing input as a buffer through stdin gives nothing.

    


    FFmpeg command

    


    ffmpeg -rtbufsize 100M -report -i - -v error -c:v libx264 -preset veryfast -tune zerolatency -g:v 60 -c:a aac -strict -2 -ar 44100 -b:a 64k -y -use_wallclock_as_timestamps 1 -async 1 -f flv ${youtubeURL}

    


    I used -report for generating a log report, and I couldn't find anything wrong with it.

    


    Here is snippet of log file

    


    ffmpeg started on 2022-11-01 at 09:42:32
Report written to "ffmpeg-20221101-094232.log"
Log level: 48
Command line:
ffmpeg -rtbufsize 100M -report -i - -v error -c:v libx264 -preset veryfast -tune zerolatency -g:v 60 -c:a aac -strict -2 -ar 44100 -b:a 64k -y -use_wallclock_as_timestamps 1 -async 1 -f flv rtmp://a.rtmp.youtube.com/live2/pxjt-j9g5-ygv8-0000-6w8h
ffmpeg version 2022-10-27-git-00b03331a0-full_build-www.gyan.dev Copyright (c) 2000-2022 the FFmpeg developers
  built with gcc 12.1.0 (Rev2, 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-libdav1d --enable-libdavs2 --enable-libuavs3d --enable-libzvbi --enable-librav1e --enable-libsvtav1 --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs2 --enable-libxvid --enable-libaom --enable-libjxl --enable-libopenjpeg --enable-libvpx --enable-mediafoundation --enable-libass --enable-frei0r --enable-libfreetype --enable-libfribidi --enable-liblensfun --enable-libvidstab --enable-libvmaf --enable-libzimg --enable-amf --enable-cuda-llvm --enable-cuvid --enable-ffnvcodec --enable-nvdec --enable-nvenc --enable-d3d11va --enable-dxva2 --enable-libvpl --enable-libshaderc --enable-vulkan --ena  libavutil      57. 39.101 / 57. 39.101
  libavcodec     59. 51.100 / 59. 51.100
  libavformat    59. 34.101 / 59. 34.101
  libavdevice    59.  8.101 / 59.  8.101
  libavfilter     8. 49.101 /  8. 49.101
  libswscale      6.  8.112 /  6.  8.112
  libswresample   4.  9.100 /  4.  9.100
  libpostproc    56.  7.100 / 56.  7.100
Splitting the commandline.
Reading option '-rtbufsize' ... matched as AVOption 'rtbufsize' with argument '100M'.
Reading option '-report' ... matched as option 'report' (generate a report) with argument '1'.
Reading option '-i' ... matched as input url with argument '-'.
Reading option '-v' ... matched as option 'v' (set logging level) with argument 'error'.
Reading option '-c:v' ... matched as option 'c' (codec name) with argument 'libx264'.
Reading option '-preset' ... matched as AVOption 'preset' with argument 'veryfast'.
Reading option '-tune' ... matched as AVOption 'tune' with argument 'zerolatency'.
Reading option '-g:v' ... matched as AVOption 'g:v' with argument '60'.
Reading option '-c:a' ... matched as option 'c' (codec name) with argument 'aac'.
Reading option '-strict' ...Routing option strict to both codec and muxer layer
 matched as AVOption 'strict' with argument '-2'.
Reading option '-ar' ... matched as option 'ar' (set audio sampling rate (in Hz)) with argument '44100'.
Reading option '-b:a' ... matched as option 'b' (video bitrate (please use -b:v)) with argument '64k'.
Reading option '-y' ... matched as option 'y' (overwrite output files) with argument '1'.
Reading option '-use_wallclock_as_timestamps' ... matched as AVOption 'use_wallclock_as_timestamps' with argument '1'.
Reading option '-async' ... matched as AVOption 'async' with argument '1'.
Reading option '-f' ... matched as option 'f' (force format) with argument 'flv'.
Reading option 'rtmp://a.rtmp.youtube.com/live2/pxjt-j9g5-ygv8-0000-6w8h' ... matched as output url.
Finished splitting the commandline.
Parsing a group of options: global .
Applying option report (generate a report) with argument 1.
Applying option v (set logging level) with argument error.
Applying option y (overwrite output files) with argument 1.
Successfully parsed a group of options.
Parsing a group of options: input url -.
Successfully parsed a group of options.
Opening an input file: -.
[NULL @ 0000025c01844940] Opening 'pipe:' for reading
[pipe @ 0000025c01844e00] Setting default whitelist 'crypto,data'
[matroska,webm @ 0000025c01844940] Format matroska,webm probed with size=2048 and score=100
st:0 removing common factor 1000000 from timebase
[matroska,webm @ 0000025c01844940] Before avformat_find_stream_info() pos: 136 bytes read:32271 seeks:0 nb_streams:1
[extract_extradata @ 0000025c01817d40] nal_unit_type: 7(SPS), nal_ref_idc: 3
[extract_extradata @ 0000025c01817d40] nal_unit_type: 8(PPS), nal_ref_idc: 3
[extract_extradata @ 0000025c01817d40] nal_unit_type: 5(IDR), nal_ref_idc: 3
[extract_extradata @ 0000025c01817d40] nal_unit_type: 5(IDR), nal_ref_idc: 3
[extract_extradata @ 0000025c01817d40] nal_unit_type: 5(IDR), nal_ref_idc: 3
[extract_extradata @ 0000025c01817d40] nal_unit_type: 5(IDR), nal_ref_idc: 3
[extract_extradata @ 0000025c01817d40] nal_unit_type: 5(IDR), nal_ref_idc: 3
[extract_extradata @ 0000025c01817d40] nal_unit_type: 5(IDR), nal_ref_idc: 3
[h264 @ 0000025c0186aac0] nal_unit_type: 7(SPS), nal_ref_idc: 3
[h264 @ 0000025c0186aac0] nal_unit_type: 8(PPS), nal_ref_idc: 3
[h264 @ 0000025c0186aac0] nal_unit_type: 5(IDR), nal_ref_idc: 3
[h264 @ 0000025c0186aac0] nal_unit_type: 5(IDR), nal_ref_idc: 3
[h264 @ 0000025c0186aac0] nal_unit_type: 5(IDR), nal_ref_idc: 3
[h264 @ 0000025c0186aac0] nal_unit_type: 5(IDR), nal_ref_idc: 3
[h264 @ 0000025c0186aac0] nal_unit_type: 5(IDR), nal_ref_idc: 3
[h264 @ 0000025c0186aac0] nal_unit_type: 5(IDR), nal_ref_idc: 3
[h264 @ 0000025c0186aac0] Format yuv420p chosen by get_format().
[h264 @ 0000025c0186aac0] Reinit context to 1280x384, pix_fmt: yuv420p
[h264 @ 0000025c0186aac0] nal_unit_type: 1(Coded slice of a non-IDR picture), nal_ref_idc: 3
[h264 @ 0000025c0186aac0] nal_unit_type: 1(Coded slice of a non-IDR picture), nal_ref_idc: 3
[h264 @ 0000025c0186aac0] nal_unit_type: 1(Coded slice of a non-IDR picture), nal_ref_idc: 3
[h264 @ 0000025c0186aac0] nal_unit_type: 1(Coded slice of a non-IDR picture), nal_ref_idc: 3
[h264 @ 0000025c0186aac0] nal_unit_type: 1(Coded slice of a non-IDR picture), nal_ref_idc: 3
[h264 @ 0000025c0186aac0] nal_unit_type: 1(Coded slice of a non-IDR picture), nal_ref_idc: 3
[h264 @ 0000025c0186aac0] nal_unit_type: 1(Coded slice of a non-IDR picture), nal_ref_idc: 3
[h264 @ 0000025c0186aac0] nal_unit_type: 1(Coded slice of a non-IDR picture), nal_ref_idc: 3
[h264 @ 0000025c0186aac0] nal_unit_type: 1(Coded slice of a non-IDR picture), nal_ref_idc: 3
[h264 @ 0000025c0186aac0] nal_unit_type: 1(Coded slice of a non-IDR picture), nal_ref_idc: 3
[h264 @ 0000025c0186aac0] nal_unit_type: 1(Coded slice of a non-IDR picture), nal_ref_idc: 3
[h264 @ 0000025c0186aac0] nal_unit_type: 1(Coded slice of a non-IDR picture), nal_ref_idc: 3
[h264 @ 0000025c0186aac0] nal_unit_type: 1(Coded slice of a non-IDR picture), nal_ref_idc: 3
[h264 @ 0000025c0186aac0] nal_unit_type: 1(Coded slice of a non-IDR picture), nal_ref_idc: 3
[h264 @ 0000025c0186aac0] nal_unit_type: 1(Coded slice of a non-IDR picture), nal_ref_idc: 3
[h264 @ 0000025c0186aac0] nal_unit_type: 1(Coded slice of a non-IDR picture), nal_ref_idc: 3
[h264 @ 0000025c0186aac0] nal_unit_type: 1(Coded slice of a non-IDR picture), nal_ref_idc: 3
[h264 @ 0000025c0186aac0] nal_unit_type: 1(Coded slice of a non-IDR picture), nal_ref_idc: 3
[h264 @ 0000025c0186aac0] nal_unit_type: 1(Coded slice of a non-IDR picture), nal_ref_idc: 3
[h264 @ 0000025c0186aac0] nal_unit_type: 1(Coded slice of a non-IDR picture), nal_ref_idc: 3
[h264 @ 0000025c0186aac0] nal_unit_type: 1(Coded slice of a non-IDR picture), nal_ref_idc: 3
[h264 @ 0000025c0186aac0] nal_unit_type: 1(Coded slice of a non-IDR picture), nal_ref_idc: 3
[h264 @ 0000025c0186aac0] nal_unit_type: 1(Coded slice of a non-IDR picture), nal_ref_idc: 3
[h264 @ 0000025c0186aac0] nal_unit_type: 1(Coded slice of a non-IDR picture), nal_ref_idc: 3
[h264 @ 0000025c0186aac0] nal_unit_type: 1(Coded slice of a non-IDR picture), nal_ref_idc: 3
[h264 @ 0000025c0186aac0] nal_unit_type: 1(Coded slice of a non-IDR picture), nal_ref_idc: 3
[h264 @ 0000025c0186aac0] nal_unit_type: 1(Coded slice of a non-IDR picture), nal_ref_idc: 3
[h264 @ 0000025c0186aac0] nal_unit_type: 1(Coded slice of a non-IDR picture), nal_ref_idc: 3
[h264 @ 0000025c0186aac0] nal_unit_type: 1(Coded slice of a non-IDR picture), nal_ref_idc: 3
[h264 @ 0000025c0186aac0] nal_unit_type: 1(Coded slice of a non-IDR picture), nal_ref_idc: 3
[h264 @ 0000025c0186aac0] nal_unit_type: 1(Coded slice of a non-IDR picture), nal_ref_idc: 3
[h264 @ 0000025c0186aac0] nal_unit_type: 1(Coded slice of a non-IDR picture), nal_ref_idc: 3
[h264 @ 0000025c0186aac0] nal_unit_type: 1(Coded slice of a non-IDR picture), nal_ref_idc: 3
[h264 @ 0000025c0186aac0] nal_unit_type: 1(Coded slice of a non-IDR picture), nal_ref_idc: 3
[h264 @ 0000025c0186aac0] nal_unit_type: 1(Coded slice of a non-IDR picture), nal_ref_idc: 3
[h264 @ 0000025c0186aac0] nal_unit_type: 1(Coded slice of a non-IDR picture), nal_ref_idc: 3
[matroska,webm @ 0000025c01844940] max_analyze_duration 5000000 reached at 22181000 microseconds st:0
[matroska,webm @ 0000025c01844940] rfps: 1.000000 0.006758
[matroska,webm @ 0000025c01844940] rfps: 2.000000 0.019257
[matroska,webm @ 0000025c01844940] rfps: 7.916667 0.017773
[matroska,webm @ 0000025c01844940] rfps: 9.916667 0.012828
[matroska,webm @ 0000025c01844940] rfps: 10.916667 0.019976
[matroska,webm @ 0000025c01844940] rfps: 16.833333 0.010482
[matroska,webm @ 0000025c01844940] rfps: 17.833333 0.007736
[matroska,webm @ 0000025c01844940] rfps: 17.833333 0.007736
[matroska,webm @ 0000025c01844940] rfps: 18.833333 0.018506
[matroska,webm @ 0000025c01844940] After avformat_find_stream_info() pos: 88442 bytes read:88443 seeks:0 frames:31
Input #0, matroska,webm, from 'pipe:':
  Metadata:
    encoder         : Chrome
  Duration: N/A, start: 0.000000, bitrate: N/A
  Stream #0:0(eng), 31, 1/1000: Video: h264 (Constrained Baseline), yuv420p(progressive), 1280x382, SAR 1:1 DAR 640:191, 1 tbr, 1k tbn (default)
Successfully opened the file.
Parsing a group of options: output url rtmp://a.rtmp.youtube.com/live2/pxjt-j9g5-ygv8-0000-6w8h.
Applying option c:v (codec name) with argument libx264.
Applying option c:a (codec name) with argument aac.
Applying option ar (set audio sampling rate (in Hz)) with argument 44100.
Applying option b:a (video bitrate (please use -b:v)) with argument 64k.
Applying option f (force format) with argument flv.
Successfully parsed a group of options.
Opening an output file: rtmp://a.rtmp.youtube.com/live2/pxjt-j9g5-ygv8-0000-6w8h.
Codec AVOption b (set bitrate (in bits/s)) specified for output file #0 (rtmp://a.rtmp.youtube.com/live2/pxjt-j9g5-ygv8-0000-6w8h) has not been used for any stream. The most likely reason is either wrong type (e.g. a video option with no video streams) or that it is a private option of some encoder which was not actually used for any stream.
[rtmp @ 0000025c01d1bd00] No default whitelist set
[tcp @ 0000025c01844f40] No default whitelist set
[tcp @ 0000025c01844f40] Original list of addresses:
[tcp @ 0000025c01844f40] Address 142.250.193.204 port 1935
[tcp @ 0000025c01844f40] Address 142.250.193.236 port 1935
[tcp @ 0000025c01844f40] Address 142.250.206.108 port 1935
[tcp @ 0000025c01844f40] Address 142.250.206.140 port 1935
[tcp @ 0000025c01844f40] Address 142.250.206.172 port 1935
[tcp @ 0000025c01844f40] Address 142.250.194.12 port 1935
[tcp @ 0000025c01844f40] Address 142.250.194.44 port 1935
[tcp @ 0000025c01844f40] Address 142.250.194.76 port 1935
[tcp @ 0000025c01844f40] Address 142.250.194.108 port 1935
[tcp @ 0000025c01844f40] Address 142.250.194.140 port 1935
[tcp @ 0000025c01844f40] Address 142.250.194.172 port 1935
[tcp @ 0000025c01844f40] Address 142.250.194.204 port 1935
[tcp @ 0000025c01844f40] Address 142.250.194.236 port 1935
[tcp @ 0000025c01844f40] Address 142.250.195.12 port 1935
[tcp @ 0000025c01844f40] Address 142.250.207.204 port 1935
[tcp @ 0000025c01844f40] Address 142.250.207.236 port 1935
[tcp @ 0000025c01844f40] Interleaved list of addresses:
[tcp @ 0000025c01844f40] Address 142.250.193.204 port 1935
[tcp @ 0000025c01844f40] Address 142.250.193.236 port 1935
[tcp @ 0000025c01844f40] Address 142.250.206.108 port 1935
[tcp @ 0000025c01844f40] Address 142.250.206.140 port 1935
[tcp @ 0000025c01844f40] Address 142.250.206.172 port 1935
[tcp @ 0000025c01844f40] Address 142.250.194.12 port 1935
[tcp @ 0000025c01844f40] Address 142.250.194.44 port 1935
[tcp @ 0000025c01844f40] Address 142.250.194.76 port 1935
[tcp @ 0000025c01844f40] Address 142.250.194.108 port 1935
[tcp @ 0000025c01844f40] Address 142.250.194.140 port 1935
[tcp @ 0000025c01844f40] Address 142.250.194.172 port 1935
[tcp @ 0000025c01844f40] Address 142.250.194.204 port 1935
[tcp @ 0000025c01844f40] Address 142.250.194.236 port 1935
[tcp @ 0000025c01844f40] Address 142.250.195.12 port 1935
[tcp @ 0000025c01844f40] Address 142.250.207.204 port 1935
[tcp @ 0000025c01844f40] Address 142.250.207.236 port 1935
[tcp @ 0000025c01844f40] Starting connection attempt to 142.250.193.204 port 1935
[tcp @ 0000025c01844f40] Successfully connected to 142.250.193.204 port 1935
[rtmp @ 0000025c01d1bd00] Handshaking...
[rtmp @ 0000025c01d1bd00] Type answer 3
[rtmp @ 0000025c01d1bd00] Server version 4.0.0.1
[rtmp @ 0000025c01d1bd00] Proto = rtmp, path = /live2/pxjt-j9g5-ygv8-0000-6w8h, app = live2, fname = pxjt-j9g5-ygv8-0000-6w8h
[rtmp @ 0000025c01d1bd00] Window acknowledgement size = 2500000
[rtmp @ 0000025c01d1bd00] Max sent, unacked = 59768832
[rtmp @ 0000025c01d1bd00] Releasing stream...
[rtmp @ 0000025c01d1bd00] FCPublish stream...
[rtmp @ 0000025c01d1bd00] Creating stream...
[rtmp @ 0000025c01d1bd00] Sending publish command for 'pxjt-j9g5-ygv8-0000-6w8h'
Successfully opened the file.
detected 8 logical cores
[h264 @ 0000025c01882e00] nal_unit_type: 7(SPS), nal_ref_idc: 3
[h264 @ 0000025c01882e00] nal_unit_type: 8(PPS), nal_ref_idc: 3
Stream mapping:
  Stream #0:0 -> #0:0 (h264 (native) -> h264 (libx264))
cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream)
cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream)
cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream)
cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream)
cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream)
[matroska,webm @ 0000025c01844940] Thread message queue blocking; consider raising the thread_queue_size option (current value: 1)
[h264 @ 0000025c01882e00] nal_unit_type: 7(SPS), nal_ref_idc: 3
[h264 @ 0000025c01882e00] nal_unit_type: 8(PPS), nal_ref_idc: 3
[h264 @ 0000025


    


  • How to debug ffmpeg reliability for long running rtsp streams

    13 septembre 2022, par Mark

    I have a long running ffmpeg background process that "watches" an rtsp stream and takes snapshots every 7 minutes.

    


    It's being run like this

    


    C:\Windows\System32\cmd.exe /c C:\ffmpeg\bin\ffmpeg.exe -nostdin -rtsp_transport tcp -y -timeout 5000000 -i rtsp://someurl -q:v 1 -an -vf fps=0.002381,scale="1280:720" -strftime 1 -f image2 C:\somelocalfolder\%Y-%m-%d_%H-%M-%S.jpg > c:\ffmpeglog.txt 2>&1


    


    This process runs for days but intermittently, for hours at a time, seems to miss taking snapshots, until eventually it starts to take them again - then fail again, etc. The logs at info level are not helpful. I checked the stream during times when it was not taking snapshots and the stream was up. What's happening here ? How can I debug this ?

    


    Below is an image of succesfull snapshots per hour. There should always be between 8 and 9.
metrics on successful snapshots taken

    


    Logs look like this

    


        ffmpeg version 2022-03-31-git-e301a24fa1-full_build-www.gyan.dev Copyright (c) 2000-2022 the FFmpeg developers
  built with gcc 11.2.0 (Rev7, 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-libdav1d --enable-libdavs2 --enable-libuavs3d --enable-libzvbi --enable-librav1e --enable-libsvtav1 --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs2 --enable-libxvid --enable-libaom --enable-libopenjpeg --enable-libvpx --enable-mediafoundation --enable-libass --enable-frei0r --enable-libfreetype --enable-libfribidi --enable-libvidstab --enable-libvmaf --enable-libzimg --enable-amf --enable-cuda-llvm --enable-cuvid --enable-ffnvcodec --enable-nvdec --enable-nvenc --enable-d3d11va --enable-dxva2 --enable-libmfx --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-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      57. 24.101 / 57. 24.101
  libavcodec     59. 25.100 / 59. 25.100
  libavformat    59. 20.101 / 59. 20.101
  libavdevice    59.  6.100 / 59.  6.100
  libavfilter     8. 29.100 /  8. 29.100
  libswscale      6.  6.100 /  6.  6.100
  libswresample   4.  6.100 /  4.  6.100
  libpostproc    56.  5.100 / 56.  5.100
Input #0, rtsp, from 'rtsp://somerul':
  Metadata:
    title           : HIK Media Server V4.21.005
    comment         : HIK Media Server Session Description : standard
  Duration: N/A, start: 0.033000, bitrate: N/A
  Stream #0:0: Video: h264 (High), yuv420p(progressive), 704x576, 30 tbr, 90k tbn
Stream mapping:
  Stream #0:0 -> #0:0 (h264 (native) -> mjpeg (native))
[swscaler @ 000002a1c2c20680] [swscaler @ 000002a1c2c2e0c0] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 000002a1c2c20680] [swscaler @ 000002a1c2c67c40] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 000002a1c2c20680] [swscaler @ 000002a1c2cc6700] deprecated pixel format used, make sure you did set range correctly
Output #0, image2, to 'C:\somelocalfolder\Temp\stream_2\StreamedImages\%Y-%m-%d_%H-%M-%S.jpg':
  Metadata:
    title           : HIK Media Server V4.21.005
    comment         : HIK Media Server Session Description : standard
    encoder         : Lavf59.20.101
  Stream #0:0: Video: mjpeg, yuvj420p(pc, progressive), 1280x720, q=2-31, 200 kb/s, 0.0024 fps, 0.0024 tbn
    Metadata:
      encoder         : Lavc59.25.100 mjpeg
    Side data:
      cpb: bitrate max/min/avg: 0/0/200000 buffer size: 0 vbv_delay: N/A
frame=    1 fps=0.0 q=0.0 size=N/A time=00:00:00.00 bitrate=N/A speed=   0x   


    


    Update
I got some trace logs. The ffmpeg seems to fail silently at some point and stop taking snapshots.

    


    After about 3 million log lines (which is really only a couple of hours in my case) I get the following

    


    rtsp://192.168.15.195:554/streaming/channels/904: Unknown error


    


    But ffmpeg silently continues. Here is a bit more of the log

    


        [Parsed_fps_0 @ 00000248e7d50e40] Read frame with in pts 1074443040, out pts 28
[Parsed_fps_0 @ 00000248e7d50e40] Dropping frame with pts 28
frame=   28 fps=0.0 q=1.0 size=N/A time=03:08:59.77 bitrate=N/A speed=0.95x    
[rtsp @ 00000248e765cf00] tcp_read_packet:
[h264 @ 00000248e7d59880] nal_unit_type: 1(Coded slice of a non-IDR picture), nal_ref_idc: 3
[rtsp @ 00000248e765cf00] ret=-138 c=24 [$]
rtsp://192.168.15.195:554/streaming/channels/904: Unknown error
[Parsed_fps_0 @ 00000248e7d50e40] Read frame with in pts 1074446100, out pts 28
[Parsed_fps_0 @ 00000248e7d50e40] Dropping frame with pts 28
frame=   28 fps=0.0 q=1.0 size=N/A time=03:08:59.77 bitrate=N/A speed=0.95x    
[rtsp @ 00000248e765cf00] tcp_read_packet:
[rtsp @ 00000248e765cf00] ret=1 c=24 [$]
[rtsp @ 00000248e765cf00] id=0 len=696
[rtsp @ 00000248e765cf00] Sending:
GET_PARAMETER rtsp://192.168.15.195:554/streaming/channels/904 RTSP/1.0

CSeq: 402

User-Agent: Lavf59.20.101

Session: 931848797

Authorization: Digest username="******", realm="709382dda4ccb674edf093d3", nonce="13fca62fc", uri="rtsp://192.168.15.195:554/streaming/channels/904", response="74341df9611f0ac3dc247b402424735b", algorithm="MD5"



--
[NULL @ 00000248e7662640] nal_unit_type: 7(SPS), nal_ref_idc: 3
[NULL @ 00000248e7662640] nal_unit_type: 8(PPS), nal_ref_idc: 3
[rtsp @ 00000248e765cf00] tcp_read_packet:
[rtsp @ 00000248e765cf00] ret=1 c=24 [$]
[rtsp @ 00000248e765cf00] id=0 len=756
[Parsed_fps_0 @ 00000248e7d50e40] Read frame with in pts 1074449070, out pts 28
[Parsed_fps_0 @ 00000248e7d50e40] Dropping frame with pts 28
[Parsed_fps_0 @ 00000248e7d50e40] Read frame with in pts 1074449070, out pts 28
[Parsed_fps_0 @ 00000248e7d50e40] Dropping frame with pts 28
frame=   28 fps=0.0 q=1.0 size=N/A time=03:08:59.77 bitrate=N/A speed=0.949x    
[rtsp @ 00000248e765cf00] tcp_read_packet:
[rtsp @ 00000248e765cf00] ret=1 c=24 [$]
[rtsp @ 00000248e765cf00] id=0 len=1352
frame=   28 fps=0.0 q=1.0 size=N/A time=03:08:59.77 bitrate=N/A speed=0.949x    
[rtsp @ 00000248e765cf00] tcp_read_packet:
[rtsp @ 00000248e765cf00] ret=1 c=24 [$]
[rtsp @ 00000248e765cf00] id=0 len=1352
[rtsp @ 00000248e765cf00] tcp_read_packet:
[rtsp @ 00000248e765cf00] ret=1 c=24 [$]
[rtsp @ 00000248e765cf00] id=0 len=1352
[rtsp @ 00000248e765cf00] tcp_read_packet:
[rtsp @ 00000248e765cf00] ret=1 c=24 [$]
[rtsp @ 00000248e765cf00] id=0 len=1352
[rtsp @ 00000248e765cf00] tcp_read_packet:
[rtsp @ 00000248e765cf00] ret=1 c=24 [$]
[rtsp @ 00000248e765cf00] id=0 len=1228
[rtsp @ 00000248e765cf00] tcp_read_packet:
[rtsp @ 00000248e765cf00] ret=1 c=24 [$]
[rtsp @ 00000248e765cf00] id=0 len=1352
[NULL @ 00000248e7662640] reference count 1 overflow
[rtsp @ 00000248e765cf00] tcp_read_packet:
[rtsp @ 00000248e765cf00] ret=1 c=24 [$]
[rtsp @ 00000248e765cf00] id=0 len=804
[rtsp @ 00000248e765cf00] tcp_read_packet:
[rtsp @ 00000248e765cf00] ret=1 c=24 [$]
[rtsp @ 00000248e765cf00] id=0 len=1352
[NULL @ 00000248e7662640] illegal memory management control operation 11
[rtsp @ 00000248e765cf00] tcp_read_packet:
[rtsp @ 00000248e765cf00] ret=1 c=24 [$]
[rtsp @ 00000248e765cf00] id=0 len=836


    


    Basically it appears an issue of ffmpeg silently failing. If it crashed, my software could detect it and I could rerun it, but if it fails silently like this, I need another solution.