Recherche avancée

Médias (0)

Mot : - Tags -/albums

Aucun média correspondant à vos critères n’est disponible sur le site.

Autres articles (46)

Sur d’autres sites (9023)

  • FFmpeg - Rotating at angle

    23 septembre 2017, par connor

    I’ve been working through FFmpeg, but I have been unable to get a rotation to run from the examples they have on their site. I am trying to "wiggle" a video back and forth at a fixed point on the bottom - think a head moving left to right (and so on).

    I am attempting to do this with the filter "rotate" (https://ffmpeg.org/ffmpeg-filters.html#rotate). Attempting to use their examples, I get an error.

    This is what I have so far :

    ffmpeg -i vid1.mp4 -i vid2.mov -loop 1 -i image.png -filter_complex "\
       [2:v]alphaextract, scale=240x160[mask];\
       [0:v] scale=240x160, rotate=A*sin(2*PI/T*t) [ascaled];\
       [ascaled][mask]alphamerge[masked];\
       [1:v]scale=480x360[background];\
       [background][masked]overlay=120:20"\
       -c:a copy 65B6354F61B4AF02_HD_sq.MOV

    I am using "rotate" directly from an example in an attempt to get something to run at all.

    The error I get back is :

    [Parsed_rotate_3 @ 0x7ff4476045e0] [Eval @ 0x7fff5b3e3f00] Undefined constant or missing '(' in 'T*t)'
    [Parsed_rotate_3 @ 0x7ff4476045e0] Error occurred parsing angle expression 'A*sin(2*PI/T*t)'
    [Parsed_rotate_3 @ 0x7ff4476045e0] Failed to configure output pad on Parsed_rotate_3
    Error reinitializing filters!
    Failed to inject frame into filter network: Invalid argument
    Error while processing the decoded data for stream #1:0

    If I remove ’A’, ’T’, ’sin’, etc, rotate does actually work, but far from the desired behavior.

    Am I missing something to expose those params ?

  • matroskaenc : factor ts_offset into block timecode computation

    15 février 2017, par John Stebbins
    matroskaenc : factor ts_offset into block timecode computation
    

    ts_offset was added to cluster timecode, but then effectively subtracted
    back off the block timecode

    When setting initial_padding for an audio stream, the timestamps are
    written incorrectly to the mkv file. cluster timecode gets written
    as pts0 + ts_offset which is correct, but then block timecode gets
    written as pts - cluster timecode which expanded is
    pts - (pts0 + ts_offset). Adding cluster and block tc back together :
    cluster + block = (pts0 + ts_offset) + (pts - (pts0 + ts_offset)) = pts
    But the result should be pts + ts_offset since demux will subtract the
    CodecDelay element from pts and set initial_padding to CodecDelay.
    This patch gives the correct result.

    • [DBH] libavformat/matroskaenc.c
  • FFmpeg RTP network issue in Ubuntu

    4 mai 2017, par Ivan Kolesnikov

    I want to copy a bunch of SD sources from mpegts transported with RTP on local files. (VBR mpeg2video, mp2 audio). It works fine for one multicast source with the following command :

    ffmpeg -i rtp://@IP1:PORT -c copy video1.mpg

    but when I ran a second ffmpeg instance with the following command :

    ffmpeg -i rtp://@IP2:PORT -c copy video2.mpg

    then I got errors from both FFmpeg instances ("RTP : dropping old packet received too late") and in both files (video1.mpg and video2.mpg) recorded video from the second source (rtp ://@IP2:PORT).

    This issue occurs only in Linux (I checked Ubuntu 14.04 - 16.04). I have no problems in Windows and can transcoding video correctly in parallel from files. Under Ubuntu even two ffplay instances tuned to different sources play back the same content (from the source which was opened last). I tried playing back with VLC and there is no such problem.

    I can resolve this issue when using FFmpeg with the -f option :
    ffmpeg -f mpegts -i rtp ://@IP1:PORT -c copy video1.mpg
    and
    ffmpeg -f mpegts -i rtp ://@IP2:PORT -c copy video2.mpg, but then I’m getting the following errors : "[mpegts @ 0x306e240] PES packet size mismatch" and receive both files (video1.mpg and video2.mpg) with artifacts and freeze effects. This issue appears for both operating systems.

    How can I record|transcode videos from multiple RTP streams with FFmpeg simultaneously under Ubuntu without errors and artifacts ?