Recherche avancée

Médias (39)

Mot : - Tags -/audio

Autres articles (31)

  • 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

  • Le plugin : Podcasts.

    14 juillet 2010, par

    Le problème du podcasting est à nouveau un problème révélateur de la normalisation des transports de données sur Internet.
    Deux formats intéressants existent : Celui développé par Apple, très axé sur l’utilisation d’iTunes dont la SPEC est ici ; Le format "Media RSS Module" qui est plus "libre" notamment soutenu par Yahoo et le logiciel Miro ;
    Types de fichiers supportés dans les flux
    Le format d’Apple n’autorise que les formats suivants dans ses flux : .mp3 audio/mpeg .m4a audio/x-m4a .mp4 (...)

  • Librairies et binaires spécifiques au traitement vidéo et sonore

    31 janvier 2010, par

    Les logiciels et librairies suivantes sont utilisées par SPIPmotion d’une manière ou d’une autre.
    Binaires obligatoires FFMpeg : encodeur principal, permet de transcoder presque tous les types de fichiers vidéo et sonores dans les formats lisibles sur Internet. CF ce tutoriel pour son installation ; Oggz-tools : outils d’inspection de fichiers ogg ; Mediainfo : récupération d’informations depuis la plupart des formats vidéos et sonores ;
    Binaires complémentaires et facultatifs flvtool2 : (...)

Sur d’autres sites (5953)

  • Streaming Anki Vector's camera

    25 novembre 2023, par Brendan Goode

    I am trying to stream my robot to Remo.tv with my Vector robot. The website recognizes I am going live but does not stream what the robots camera is seeing. I have confirmed the camera works by a local application that runs the SDK. The very end of the code is what is giving issues, it appears somebody ripped code from Cozmo and attempted to paste it into a Vector file. The problem is it seems like the camera is taking pictures and we reach the point where it attempts to send photo but fails ?

    


    # This is a dummy file to allow the automatic loading of modules without error on none.
import anki_vector
import atexit
import time
import _thread as thread
import logging
import networking

log = logging.getLogger('RemoTV.vector')
vector = None
reserve_control = None
robotKey = None
volume = 100 #this is stupid, but who cares
annotated = False

def connect():
    global vector
    global reserve_control

    log.debug("Connecting to Vector")
    vector = anki_vector.AsyncRobot()
    vector.connect()
    #reserve_control = anki_vector.behavior.ReserveBehaviorControl()
    
    atexit.register(exit)

    return(vector)

def exit():
    log.debug("Vector exiting")
    vector.disconnect()
    
def setup(robot_config):
    global forward_speed
    global turn_speed
    global volume
    global vector
    global charge_high
    global charge_low
    global stay_on_dock

    global robotKey
    global server
    global no_mic
    global no_camera
    global ffmpeg_location
    global v4l2_ctl_location
    global x_res
    global y_res
    
    robotKey = robot_config.get('robot', 'robot_key')

    if robot_config.has_option('misc', 'video_server'):
        server = robot_config.get('misc', 'video_server')
    else:
        server = robot_config.get('misc', 'server')
 
    no_mic = robot_config.getboolean('camera', 'no_mic')
    no_camera = robot_config.getboolean('camera', 'no_camera')

    ffmpeg_location = robot_config.get('ffmpeg', 'ffmpeg_location')
    v4l2_ctl_location = robot_config.get('ffmpeg', 'v4l2-ctl_location')

    x_res = robot_config.getint('camera', 'x_res')
    y_res = robot_config.getint('camera', 'y_res')


    if vector == None:
        vector = connect()

    #x  mod_utils.repeat_task(30, check_battery, coz)

    if robot_config.has_section('cozmo'):
        forward_speed = robot_config.getint('cozmo', 'forward_speed')
        turn_speed = robot_config.getint('cozmo', 'turn_speed')
        volume = robot_config.getint('cozmo', 'volume')
        charge_high = robot_config.getfloat('cozmo', 'charge_high')
        charge_low = robot_config.getfloat('cozmo', 'charge_low')
        stay_on_dock = robot_config.getboolean('cozmo', 'stay_on_dock')

#    if robot_config.getboolean('tts', 'ext_chat'): #ext_chat enabled, add motor commands
#        extended_command.add_command('.anim', play_anim)
#        extended_command.add_command('.forward_speed', set_forward_speed)
#        extended_command.add_command('.turn_speed', set_turn_speed)
#        extended_command.add_command('.vol', set_volume)
#        extended_command.add_command('.charge', set_charging)
#        extended_command.add_command('.stay', set_stay_on_dock)

    vector.audio.set_master_volume(volume) # set volume

    return
    
def move(args):
    global charging
    global low_battery
    command = args['button']['command']

    try:
        if vector.status.is_on_charger and not charging:
            if low_battery:
                print("Started Charging")
                charging = 1
            else:
                if not stay_on_dock:
                    vector.drive_off_charger_contacts().wait_for_completed()

        if command == 'f':
            vector.behavior.say_text("Moving {}".format(command))

            #causes delays #coz.drive_straight(distance_mm(10), speed_mmps(50), False, True).wait_for_completed()
            vector.motors.set_wheel_motors(forward_speed, forward_speed, forward_speed*4, forward_speed*4 )
            time.sleep(0.7)
            vector.motors.set_wheel_motors(0, 0)
        elif command == 'b':
            #causes delays #coz.drive_straight(distance_mm(-10), speed_mmps(50), False, True).wait_for_completed()
            vector.motors.set_wheel_motors(-forward_speed, -forward_speed, -forward_speed*4, -forward_speed*4 )
            time.sleep(0.7)
            vector.motors.set_wheel_motors(0, 0)
        elif command == 'l':
            #causes delays #coz.turn_in_place(degrees(15), False).wait_for_completed()
            vector.motors.set_wheel_motors(-turn_speed, turn_speed, -turn_speed*4, turn_speed*4 )
            time.sleep(0.5)
            vector.motors.set_wheel_motors(0, 0)
        elif command == 'r':
            #causes delays #coz.turn_in_place(degrees(-15), False).wait_for_completed()
            vector.motors.set_wheel_motors(turn_speed, -turn_speed, turn_speed*4, -turn_speed*4 )
            time.sleep(0.5)
            vector.motors.set_wheel_motors(0, 0)

        #move lift
        elif command == 'w':
            vector.behavior.say_text("w")
            vector.set_lift_height(height=1).wait_for_completed()
        elif command == 's':
            vector.behavior.say_text("s")
            vector.set_lift_height(height=0).wait_for_completed()

        #look up down
        #-25 (down) to 44.5 degrees (up)
        elif command == 'q':
            #head_angle_action = coz.set_head_angle(degrees(0))
            #clamped_head_angle = head_angle_action.angle.degrees
            #head_angle_action.wait_for_completed()
            vector.behaviour.set_head_angle(45)
            time.sleep(0.35)
            vector.behaviour.set_head_angle(0)
        elif command == 'a':
            #head_angle_action = coz.set_head_angle(degrees(44.5))
            #clamped_head_angle = head_angle_action.angle.degrees
            #head_angle_action.wait_for_completed()
            vector.behaviour.set_head_angle(-22.0)
            time.sleep(0.35)
            vector.behaviour.set_head_angle(0)
   
        #things to say with TTS disabled
        elif command == 'sayhi':
            tts.say( "hi! I'm cozmo!" )
        elif command == 'saywatch':
            tts.say( "watch this" )
        elif command == 'saylove':
            tts.say( "i love you" )
        elif command == 'saybye':
            tts.say( "bye" )
        elif command == 'sayhappy':
            tts.say( "I'm happy" )
        elif command == 'saysad':
            tts.say( "I'm sad" )
        elif command == 'sayhowru':
            tts.say( "how are you?" )
    except:
        return(False)
    return

def start():
    log.debug("Starting Vector Video Process")
    try:
        thread.start_new_thread(video, ())
    except KeyboardInterrupt as e:
        pass        
    return
    
def video():
    global vector
    # Turn on image receiving by the camera
    vector.camera.init_camera_feed()

    vector.behavior.say_text("hey everyone, lets robot!")

    while True:
        time.sleep(0.25)

        from subprocess import Popen, PIPE
        from sys import platform

        log.debug("ffmpeg location : {}".format(ffmpeg_location))

#        import os
#        if not os.path.isfile(ffmpeg_location):
#        print("Error: cannot find " + str(ffmpeg_location) + " check ffmpeg is installed. Terminating controller")
#        thread.interrupt_main()
#        thread.exit()

        while not networking.authenticated:
            time.sleep(1)

        p = Popen([ffmpeg_location, '-y', '-f', 'image2pipe', '-vcodec', 'png', '-r', '25', '-i', '-', '-vcodec', 'mpeg1video', '-r', '25', "-f", "mpegts", "-headers", "\"Authorization: Bearer {}\"".format(robotKey), "http://{}:1567/transmit?name={}-video".format(server, networking.channel_id)], stdin=PIPE)
        #p = Popen([ffmpeg_location, '-nostats', '-y', '-f', 'image2pipe', '-vcodec', 'png', '-r', '25', '-i', '-', '-vcodec', 'mpeg1video', '-r', '25','-b:v', '400k', "-f","mpegts", "-headers", "\"Authorization: Bearer {}\"".format(robotKey), "http://{}/transmit?name=rbot-390ddbe0-f1cc-4710-b3f1-9f477f4875f9-video".format(server)], stdin=PIPE)
        #p = Popen([ffmpeg_location, '-y', '-f', 'image2pipe', '-vcodec', 'png', '-r', '25', '-i', '-', '-vcodec', 'mpeg1video', '-r', '25', "-f", "mpegts", "-headers", "\"Authorization: Bearer {}\"".format(robotKey), "http://{}/transmit?name=rbot-390ddbe0-f1cc-4710-b3f1-9f477f4875f9-video".format(server, networking.channel_id)], stdin=PIPE)
        print(vector)
        image = vector.camera.latest_image
        image.raw_image.save("test.png", 'PNG')
        try:
            while True:
                if vector:
                    image = vector.camera.latest_image
                    if image:
                        if annotated:
                            image = image.annotate_image()
                        else:
                            image = image.raw_image
                        print("attempting to write image")
                        image.save(p.stdin, 'PNG')

                else:
                    time.sleep(.1)
            log.debug("Lost Vector object, terminating video stream")
            p.stdin.close()
            p.wait()
        except Exception as e:
            log.debug("Vector Video Exception! {}".format(e))
            p.stdin.close()
            p.wait()
            pass               
    


    


    Here is the error we get

    


    [vost#0:0/mpeg1video @ 000001c7153c1cc0] Error submitting a packet to the muxer: Error number -10053 occurred
[out#0/mpegts @ 000001c713448480] Error muxing a packet
[out#0/mpegts @ 000001c713448480] Error writing trailer: Error number -10053 occurred
[http @ 000001c7134cab00] URL read error: Error number -10053 occurred
[out#0/mpegts @ 000001c713448480] Error closing file: Error number -10053 occurred
[out#0/mpegts @ 000001c713448480] video:56kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
frame=   25 fps=0.0 q=2.0 Lsize=      53kB time=00:00:01.32 bitrate= 325.9kbits/s speed=7.05x
Conversion failed!

attempting to write image


    


    You can see our attempts to fix by commented out code in the #p section at the bottom.

    


  • Chrome times out on streaming FFMPEG output from ASP.NET Web Api

    3 août 2014, par Hayden McAfee

    I’ve got a unique problem here !

    UPDATE 2 So it turns out the development below is FALSE, the inconsistency of the bug made it seem like not closing the stream made it work... but in fact the same issue persists !

    UPDATE Interesting development ; if I comment out ffmpegBufferedIn.Close(); below, the entire stream always goes through fine... the request just never ends. What could be going on here ?

    I’m writing a web service that stores audio files in Azure Blob Storage, and converts them to MP3 live when requested through my ASP.NET Web API endpoint. I accomplish this by using ’DownloadToStream’ via the Azure Storage API, feeding that stream through the STDIN of an FFMPEG process, and sending the STDOUT stream as the request response.

    The block of code that does this looks like this :

    public HttpResponseMessage Get(Guid songid)
    {
       // This could take awhile.
       HttpContext.Current.Server.ScriptTimeout = 600;

       Process ffmpeg = new Process();
       ProcessStartInfo startinfo = new ProcessStartInfo(HostingEnvironment.MapPath("~/App_Data/executables/ffmpeg.exe"), "-i - -vn -ar 44100 -ac 2 -ab 192k -f mp3 - ");
       startinfo.RedirectStandardError = true;
       startinfo.RedirectStandardOutput = true;
       startinfo.RedirectStandardInput = true;
       startinfo.UseShellExecute = false;
       startinfo.CreateNoWindow = true;
       ffmpeg.StartInfo = startinfo;
       ffmpeg.ErrorDataReceived += ffmpeg_ErrorDataReceived;

       // Our response is a stream
       var response = Request.CreateResponse();
       response.StatusCode = HttpStatusCode.OK;

       // Retrieve storage account from connection string.
       CloudStorageAccount storageAccount = CloudStorageAccount.Parse(
           CloudConfigurationManager.GetSetting("StorageConnectionString"));

       // Create the blob client.
       CloudBlobClient blobClient = storageAccount.CreateCloudBlobClient();

       // Retrieve reference to a previously created container.
       CloudBlobContainer container = blobClient.GetContainerReference("songs");

       // Retrieve reference to a blob
       CloudBlockBlob blockBlob = container.GetBlockBlobReference(songid.ToString());

       ffmpeg.Start();
       ffmpeg.BeginErrorReadLine();

       // Buffer the streams
       var ffmpegBufferedIn = new BufferedStream(ffmpeg.StandardInput.BaseStream);
       var ffmpegBufferedOut = new BufferedStream(ffmpeg.StandardOutput.BaseStream);

       blockBlob.DownloadToStreamAsync(ffmpegBufferedIn).ContinueWith((t) => {
           ffmpegBufferedIn.Flush();
           ffmpegBufferedIn.Close();
       });

       response.Content = new StreamContent(ffmpegBufferedOut);
       response.Content.Headers.ContentType = new MediaTypeHeaderValue("audio/mpeg");

       System.Diagnostics.Debug.WriteLine("Returned response.");
       return response;
    }

    This works quite well in all browsers - all except for Chrome, which has an interesting way of buffering audio streams. Chrome will buffer the first 2 megabytes of a stream, then keep the connection open and wait until the user gets closer to playing the next segment of a file before consuming the rest of the stream. This should be fine - and for some songs it is. For others, I get this :

    Chrome error

    At first I thought this was due to some kind of timeout - But it happens at a different time and size for each file. It is consistent within about 15 seconds on the same songs, however. The output on the server side is normal - no exceptions thrown, and FFMpeg finishes encoding the song successfully.

    Here’s the server-side output of the above request :

    ffmpeg version N-64919-ga613257 Copyright (c) 2000-2014 the FFmpeg developers
     built on Jul 23 2014 00:27:32 with gcc 4.8.3 (GCC)
     configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libfreetype --enable-libgme --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-decklink --enable-zlib
     libavutil      52. 92.101 / 52. 92.101
     libavcodec     55. 69.100 / 55. 69.100
     libavformat    55. 48.101 / 55. 48.101
     libavdevice    55. 13.102 / 55. 13.102
     libavfilter     4. 11.102 /  4. 11.102
     libswscale      2.  6.100 /  2.  6.100
     libswresample   0. 19.100 /  0. 19.100
     libpostproc    52.  3.100 / 52.  3.100
    Input #0, mp3, from 'pipe:':
     Metadata:
       TSRC            : AUUM71001516
       title           : Sunlight
       track           : 2
       artist          : Bag Raiders
       copyright       : 2010 Modular Recordings
       genre           : Electronic
       album           : Bag Raiders
       album_artist    : Bag Raiders
       disc            : 1/1
       publisher       : Modular Recordings
       composer        : Chris Stracey/Jack Glass/Dan Black
       date            : 2010
     Duration: N/A, start: 0.000000, bitrate: 320 kb/s
       Stream #0:0: Audio: mp3, 44100 Hz, stereo, s16p, 320 kb/s
       Stream #0:1: Video: mjpeg, yuvj420p(pc, bt470bg), 600x600 [SAR 300:300 DAR 1:1], 90k tbr, 90k tbn, 90k tbc
       Metadata:
         title           :
         comment         : Other
    Output #0, mp3, to 'pipe:':
     Metadata:
       TSRC            : AUUM71001516
       TIT2            : Sunlight
       TRCK            : 2
       TPE1            : Bag Raiders
       TCOP            : 2010 Modular Recordings
       TCON            : Electronic
       TALB            : Bag Raiders
       TPE2            : Bag Raiders
       TPOS            : 1/1
       TPUB            : Modular Recordings
       TCOM            : Chris Stracey/Jack Glass/Dan Black
       TDRL            : 2010
       TSSE            : Lavf55.48.101
       Stream #0:0: Audio: mp3 (libmp3lame), 44100 Hz, stereo, s16p, 192 kb/s
       Metadata:
         encoder         : Lavc55.69.100 libmp3lame
    Stream mapping:
     Stream #0:0 -> #0:0 (mp3 (native) -> mp3 (libmp3lame))
    size=       6kB time=00:00:00.21 bitrate= 227.6kbits/s    
    size=     102kB time=00:00:04.31 bitrate= 193.7kbits/s    
    size=     202kB time=00:00:08.56 bitrate= 192.9kbits/s    
    size=     341kB time=00:00:14.49 bitrate= 192.5kbits/s    
    size=     489kB time=00:00:20.82 bitrate= 192.4kbits/s    
    size=     642kB time=00:00:27.35 bitrate= 192.3kbits/s    
    size=     792kB time=00:00:33.75 bitrate= 192.2kbits/s    
    size=     950kB time=00:00:40.49 bitrate= 192.2kbits/s    
    size=    1106kB time=00:00:47.15 bitrate= 192.2kbits/s    
    size=    1258kB time=00:00:53.63 bitrate= 192.1kbits/s    
    size=    1415kB time=00:01:00.31 bitrate= 192.1kbits/s    
    size=    1563kB time=00:01:06.66 bitrate= 192.1kbits/s    
    size=    1710kB time=00:01:12.90 bitrate= 192.1kbits/s    
    size=    1857kB time=00:01:19.17 bitrate= 192.1kbits/s    
    size=    2008kB time=00:01:25.63 bitrate= 192.1kbits/s    
    size=    2162kB time=00:01:32.21 bitrate= 192.1kbits/s    
    size=    2299kB time=00:01:38.03 bitrate= 192.1kbits/s    
    size=    2457kB time=00:01:44.80 bitrate= 192.1kbits/s    
    size=    2600kB time=00:01:50.89 bitrate= 192.1kbits/s    
    size=    2755kB time=00:01:57.52 bitrate= 192.1kbits/s    
    size=    2864kB time=00:02:02.17 bitrate= 192.1kbits/s    
    size=    3022kB time=00:02:08.88 bitrate= 192.1kbits/s    
    size=    3172kB time=00:02:15.31 bitrate= 192.1kbits/s    
    size=    3284kB time=00:02:20.06 bitrate= 192.1kbits/s    
    size=    3385kB time=00:02:24.40 bitrate= 192.1kbits/s    
    size=    3529kB time=00:02:30.51 bitrate= 192.0kbits/s    
    size=    3687kB time=00:02:37.25 bitrate= 192.0kbits/s    
    size=    3838kB time=00:02:43.71 bitrate= 192.0kbits/s    
    size=    3988kB time=00:02:50.11 bitrate= 192.0kbits/s    
    size=    4138kB time=00:02:56.53 bitrate= 192.0kbits/s    
    size=    4279kB time=00:03:02.54 bitrate= 192.0kbits/s    
    size=    4408kB time=00:03:08.03 bitrate= 192.0kbits/s    
    size=    4544kB time=00:03:13.85 bitrate= 192.0kbits/s    
    size=    4683kB time=00:03:19.78 bitrate= 192.0kbits/s    
    size=    4805kB time=00:03:24.95 bitrate= 192.0kbits/s    
    size=    4939kB time=00:03:30.67 bitrate= 192.0kbits/s    
    size=    5049kB time=00:03:35.38 bitrate= 192.0kbits/s    
    size=    5141kB time=00:03:39.32 bitrate= 192.0kbits/s    
    size=    5263kB time=00:03:44.49 bitrate= 192.0kbits/s    
    size=    5372kB time=00:03:49.17 bitrate= 192.0kbits/s    
    The thread 0xb24 has exited with code 259 (0x103).
    size=    5436kB time=00:03:51.91 bitrate= 192.0kbits/s    
    size=    5509kB time=00:03:55.02 bitrate= 192.0kbits/s    
    size=    5657kB time=00:04:01.32 bitrate= 192.0kbits/s    
    size=    5702kB time=00:04:03.22 bitrate= 192.0kbits/s

    video:0kB audio:5701kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.005738%

    Any ideas ? I’m grateful for suggestions - I’ve been chasing this for a week now !

  • ffmpeg with frei0r libraries fails on os x 10.14.6

    13 novembre 2019, par Bernhard Wagner

    I’m on Mac OS X 10.14.6 (Mojave), used homebrew to install both ffmpeg and frei0r.
    If you check the output below, the option --enable-frei0r is there.

    I verified the path to the frei0r libaries and call ffmpeg like this :

    FREI0R_PATH=/usr/local/Cellar/frei0r/1.6.1/lib/frei0r-1/ ffmpeg -v debug -i running.mkv -filter:v frei0r=pixeliz0r=0.02:0.02 pixel.mkv

    however it fails the exact same way as if I hadn’t passed the env var FREI0R_PATH :

    FREI0R_PATH=/usr/local/Cellar/frei0r/1.6.1/lib/frei0r-1/ ffmpeg -y -v debug -i running.mkv -filter:v frei0r=pixeliz0r=0.02:0.02 pixel.mkv
    ffmpeg version 4.2.1 Copyright (c) 2000-2019 the FFmpeg developers
     built with Apple clang version 11.0.0 (clang-1100.0.33.8)
     configuration: --prefix=/usr/local/Cellar/ffmpeg/4.2.1_2 --enable-shared --enable-pthreads --enable-version3 --enable-avresample --cc=clang --host-cflags='-I/Library/Java/JavaVirtualMachines/adoptopenjdk-13.jdk/Contents/Home/include -I/Library/Java/JavaVirtualMachines/adoptopenjdk-13.jdk/Contents/Home/include/darwin -fno-stack-check' --host-ldflags= --enable-ffplay --enable-gnutls --enable-gpl --enable-libaom --enable-libbluray --enable-libmp3lame --enable-libopus --enable-librubberband --enable-libsnappy --enable-libtesseract --enable-libtheora --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libxvid --enable-lzma --enable-libfontconfig --enable-libfreetype --enable-frei0r --enable-libass --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-librtmp --enable-libspeex --enable-libsoxr --enable-videotoolbox --disable-libjack --disable-indev=jack
     libavutil      56. 31.100 / 56. 31.100
     libavcodec     58. 54.100 / 58. 54.100
     libavformat    58. 29.100 / 58. 29.100
     libavdevice    58.  8.100 / 58.  8.100
     libavfilter     7. 57.100 /  7. 57.100
     libavresample   4.  0.  0 /  4.  0.  0
     libswscale      5.  5.100 /  5.  5.100
     libswresample   3.  5.100 /  3.  5.100
     libpostproc    55.  5.100 / 55.  5.100
    Splitting the commandline.
    Reading option '-y' ... matched as option 'y' (overwrite output files) with argument '1'.
    Reading option '-v' ... matched as option 'v' (set logging level) with argument 'debug'.
    Reading option '-i' ... matched as input url with argument 'running.mkv'.
    Reading option '-filter:v' ... matched as option 'filter' (set stream filtergraph) with argument 'frei0r=pixeliz0r=0.02:0.02'.
    Reading option 'pixel.mkv' ... matched as output url.
    Finished splitting the commandline.
    Parsing a group of options: global .
    Applying option y (overwrite output files) with argument 1.
    Applying option v (set logging level) with argument debug.
    Successfully parsed a group of options.
    Parsing a group of options: input url running.mkv.
    Successfully parsed a group of options.
    Opening an input file: running.mkv.
    [NULL @ 0x7f894e002000] Opening 'running.mkv' for reading
    [file @ 0x7f894ce20f40] Setting default whitelist 'file,crypto'
    [matroska,webm @ 0x7f894e002000] Format matroska,webm probed with size=2048 and score=100
    st:0 removing common factor 1000000 from timebase
    st:1 removing common factor 1000000 from timebase
    [matroska,webm @ 0x7f894e002000] Before avformat_find_stream_info() pos: 1021 bytes read:32768 seeks:0 nb_streams:2
    [h264 @ 0x7f894e003400] nal_unit_type: 7(SPS), nal_ref_idc: 3
    [h264 @ 0x7f894e003400] nal_unit_type: 8(PPS), nal_ref_idc: 3
    [h264 @ 0x7f894e003400] nal_unit_type: 7(SPS), nal_ref_idc: 3
    [h264 @ 0x7f894e003400] nal_unit_type: 8(PPS), nal_ref_idc: 3
    [h264 @ 0x7f894e003400] nal_unit_type: 5(IDR), nal_ref_idc: 1
    [h264 @ 0x7f894e003400] Format yuv420p chosen by get_format().
    [h264 @ 0x7f894e003400] Reinit context to 1280x720, pix_fmt: yuv420p
    [h264 @ 0x7f894e003400] no picture
    [matroska,webm @ 0x7f894e002000] All info found
    [matroska,webm @ 0x7f894e002000] After avformat_find_stream_info() pos: 26157 bytes read:32768 seeks:0 frames:5
    Input #0, matroska,webm, from 'running.mkv':
     Metadata:
       MINOR_VERSION   : 0
       COMPATIBLE_BRANDS: iso6avc1mp41
       MAJOR_BRAND     : dash
       ENCODER         : Lavf58.29.100
     Duration: 00:00:46.22, start: -0.013000, bitrate: 2189 kb/s
       Stream #0:0, 3, 1/1000: Video: h264 (Main), 1 reference frame, yuv420p(tv, bt709, progressive, left), 1280x720 [SAR 1:1 DAR 16:9], 0/1, 60 fps, 60 tbr, 1k tbn, 120 tbc (default)
       Metadata:
         HANDLER_NAME    : ISO Media file produced by Google Inc.
         DURATION        : 00:00:46.216000000
       Stream #0:1(eng), 2, 1/1000: Audio: opus, 48000 Hz, stereo, fltp, delay 312 (default)
       Metadata:
         DURATION        : 00:00:46.194000000
    Successfully opened the file.
    Parsing a group of options: output url pixel.mkv.
    Applying option filter:v (set stream filtergraph) with argument frei0r=pixeliz0r=0.02:0.02.
    Successfully parsed a group of options.
    Opening an output file: pixel.mkv.
    [file @ 0x7f894ce22840] Setting default whitelist 'file,crypto'
    Successfully opened the file.
    detected 4 logical cores
    [h264 @ 0x7f894d006a00] nal_unit_type: 7(SPS), nal_ref_idc: 3
    [h264 @ 0x7f894d006a00] nal_unit_type: 8(PPS), nal_ref_idc: 3
    Stream mapping:
     Stream #0:0 -> #0:0 (h264 (native) -> h264 (libx264))
     Stream #0:1 -> #0:1 (opus (native) -> vorbis (libvorbis))
    Press [q] to stop, [?] for help
    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)
       Last message repeated 1 times
    [opus @ 0x7f894d020000] skip 312/960 samples
    [h264 @ 0x7f894d006a00] nal_unit_type: 5(IDR), nal_ref_idc: 1
    [h264 @ 0x7f894d006a00] Format yuv420p chosen by get_format().
    [h264 @ 0x7f894d006a00] Reinit context to 1280x720, pix_fmt: yuv420p
    [graph_1_in_0_1 @ 0x7f894ce3f740] Setting 'time_base' to value '1/48000'
    [graph_1_in_0_1 @ 0x7f894ce3f740] Setting 'sample_rate' to value '48000'
    [h264 @ 0x7f894d006a00] no picture
    [graph_1_in_0_1 @ 0x7f894ce3f740] Setting 'sample_fmt' to value 'fltp'
    [graph_1_in_0_1 @ 0x7f894ce3f740] Setting 'channel_layout' to value '0x3'
    [graph_1_in_0_1 @ 0x7f894ce3f740] tb:1/48000 samplefmt:fltp samplerate:48000 chlayout:0x3
    [format_out_0_1 @ 0x7f894ce3fdc0] Setting 'sample_fmts' to value 'fltp'
    [AVFilterGraph @ 0x7f894cc07180] query_formats: 4 queried, 9 merged, 0 already done, 0 delayed
    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)
       Last message repeated 2 times
    [h264 @ 0x7f894d007000] nal_unit_type: 1(Coded slice of a non-IDR picture), nal_ref_idc: 1
    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)
    [h264 @ 0x7f894e030800] nal_unit_type: 1(Coded slice of a non-IDR picture), nal_ref_idc: 1
    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)
    [h264 @ 0x7f894e030e00] nal_unit_type: 1(Coded slice of a non-IDR picture), nal_ref_idc: 1
    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)
       Last message repeated 1 times
    [h264 @ 0x7f894e017c00] nal_unit_type: 1(Coded slice of a non-IDR picture), nal_ref_idc: 1
    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)
    [h264 @ 0x7f894d006a00] nal_unit_type: 1(Coded slice of a non-IDR picture), nal_ref_idc: 1
    [Parsed_frei0r_0 @ 0x7f894ce4fe40] Setting 'pixeliz0r' to value '0.02'
    [Parsed_frei0r_0 @ 0x7f894ce4fe40] Option 'pixeliz0r' not found
    [AVFilterGraph @ 0x7f894cc08340] Error initializing filter 'frei0r' with args 'pixeliz0r=0.02:0.02'
    Error reinitializing filters!
    Failed to inject frame into filter network: Option not found
    Error while processing the decoded data for stream #0:0
    [AVIOContext @ 0x7f894cc06400] Statistics: 0 seeks, 0 writeouts
    [libvorbis @ 0x7f894d800c00] 44 frames left in the queue on closing
    [AVIOContext @ 0x7f894ce21080] Statistics: 65536 bytes read, 0 seeks
    Conversion failed!