Recherche avancée

Médias (2)

Mot : - Tags -/rotation

Autres articles (45)

Sur d’autres sites (7551)

  • Failed to install ffmpeg. Failed to download resource "x265"

    19 août 2020, par Olha Olha

    I was trying to run "brew install ffmpeg" and two download links failed. So it failed the installation.

    


    Those are the links that aren't working :

    


    ==> Downloading https://mirrors.edge.kernel.org/pub/software/scm/git/git-htmldocs-2.28.0.tar.
==> Downloading https://bitbucket.org/multicoreware/x265/downloads/x265_3.4.tar.gz


    


    I got this errors :

    


    Error: Failed to download resource "git--html"

Download failed: https://mirrors.edge.kernel.org/pub/software/scm/git/git-htmldocs-2.28.0.tar.xz

Error: Failed to download resource "x265"

Download failed: https://bitbucket.org/multicoreware/x265/downloads/x265_3.4.tar.gz


    


  • lavd/x11grab : fix vertical repositioning

    28 mars 2019, par Octavio Alvarez
    lavd/x11grab : fix vertical repositioning
    

    There is a calculation error in xcbgrab_reposition() that breaks
    vertical repositioning on follow_mouse. It made the bottom
    reposition occur when moving the mouse lower than N pixels after
    the capture bottom edge, instead of before.

    This commit fixes the calculation to match the documentation.

    follow_mouse : centered or number of pixels. The documentation says :

    When it is specified with "centered", the grabbing region follows
    the mouse pointer and keeps the pointer at the center of region ;
    otherwise, the region follows only when the mouse pointer reaches
    within PIXELS (greater than zero) to the edge of region.

    • [DH] libavdevice/xcbgrab.c
  • ffmpeg extract segment from video on-the-fly

    29 novembre 2022, par brunoais

    Context

    


    I want to make a service that hosts mp4 files but also provides video streaming.

    


    The server side is made of 2 "small" edge servers with capacity to cache about 0.1% of the content and one main server with a fraction of the bandwidth of the edge servers but much more robust storage.

    


    Recent status

    


    With the help of the ffmpeg manual,
    
Recently, when a segment is requested by an edge server, I run this command in ffmpeg

    


    ffmpeg -i in.mp4 -f hls -hls_list_size 0 -hls_playlist 1 -hls_time 60 -strftime 1  -hls_flags independent_segments+second_level_segment_index+second_level_segment_duration -hls_base_url '/path/to/file/' -hls_segment_filename 'name_%%03d.ts'  -c copy -copyts -hls_segment_type fmp4 out.m3u8


    


    Then obtain the requested segment (plus 3 subsequent ones) then delete everything.

    


    Current status

    


    Currently, I tried to get some level of optimization using -to :

    


    ffmpeg -i in.mp4 -to  -f hls -hls_list_size 0 -hls_playlist 1 -hls_time 60 -strftime 1  -hls_flags independent_segments+second_level_segment_index+second_level_segment_duration -hls_base_url '/path/to/file/' -hls_segment_filename 'name_%%03d.ts'  -c copy -copyts -hls_segment_type fmp4 out.m3u8


    


    Then sending the requested segments to the edge that requested them, then delete the result.
Do note that /path/to/file/ is a tmpfs with quite modest capacity (files can't stay there for too long).

    


    The current setback

    


    The main issue I get with the current process is that it takes a long time to obtain the last segments (2-4s).
That creates a bottleneck in how long segments take to be served. I can increase the buffer from 3 videos to 5 (or even more) but that doesn't solve the actual problem and, instead, will bring more strain on other areas.

    


    Cutting is not reliable

    


    There doesn't seem to exist an option to select what segments to generate using ffmpeg.

    


    Using cutting argument for start time (-ss) has shown to usually work but regularely causes the first keyframe used to be wrong. However, I believe I have all segment files in variable length and cut at the keyframe of the original file.

    


    Help needed

    


    How to extract an arbitrary segment of an mp4, described in the m3u8 file (which was done in a previous extraction) ?

    


    I have full control over ffmpeg and I can automate edits to the m3u8 file after generating them, as required. However, I need to understand and see how can this be solved.