Recherche avancée

Médias (0)

Mot : - Tags -/clipboard

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

Autres articles (75)

  • MediaSPIP version 0.1 Beta

    16 avril 2011, par

    MediaSPIP 0.1 beta est la première version de MediaSPIP décrétée comme "utilisable".
    Le fichier zip ici présent contient uniquement les sources de MediaSPIP en version standalone.
    Pour avoir une installation fonctionnelle, il est nécessaire d’installer manuellement l’ensemble des dépendances logicielles sur le serveur.
    Si vous souhaitez utiliser cette archive pour une installation en mode ferme, il vous faudra également procéder à d’autres modifications (...)

  • MediaSPIP 0.1 Beta version

    25 avril 2011, par

    MediaSPIP 0.1 beta is the first version of MediaSPIP proclaimed as "usable".
    The zip file provided here only contains the sources of MediaSPIP in its standalone version.
    To get a working installation, you must manually install all-software dependencies on the server.
    If you want to use this archive for an installation in "farm mode", you will also need to proceed to other manual (...)

  • Personnaliser en ajoutant son logo, sa bannière ou son image de fond

    5 septembre 2013, par

    Certains thèmes prennent en compte trois éléments de personnalisation : l’ajout d’un logo ; l’ajout d’une bannière l’ajout d’une image de fond ;

Sur d’autres sites (10631)

  • Python stream H.264 data over socket

    9 janvier 2017, par Ezra Knobloch

    I am creating a H.264 encoded stream on my Raspberry using the tool ’raspivid’ and sending that stream to stdout.
    What i want is sending that stream to another computer and feed it to ffmpeg which in turn feeds it to MPlayer.

    When i do this using netcat and pipes it does work really good, i have a clean stream without any graphic bugs.

    I try to get the raspivid stdout over the subprocess module, see code below. Im more or less sure the problem lies somewhere there cause i did something similar a while back and it worked without many problems, and the only thing i did different now is using subprocess.

    My question is : does someone see what causes my problems ?

    Some Notes :

    • Using streamObj.get_data(pcktSize) did never work until now (MPlayer and ffmpeg cant open the stream)

    • process.stdout.readline() seems to be a bit faster than just read()

    • this code seems to be slower than just piping and netcat, how would i make it faster ? (while still using python)

    i need to write this sentence cause the code formatting below would be corrupted if i would not.

    import subprocess, socket, sys, time
    from thread import start_new_thread

    class streamObject:
       def __init__(self):
           global data
           data = ""

       def start_stream(self, rot, t, w, h, fps):
           global data

           process = subprocess.Popen(['/usr/bin/raspivid', '-rot', str(rot), '-t', str(t), '-w', str(w), '-h', str(h), '-fps', str(fps), '-o', '-'], stdout=subprocess.PIPE, stderr=subprocess.STDOUT)

           nodata_counter = 0

           while 1:
               if process.poll() is None:
                   data += process.stdout.readline()
                   #data += process.stdout.read(256)

                   sys.stdout.write("buffered %i bytes.     \r" % len(data))
                   sys.stdout.flush()
               elif nodata_counter < 200:
                   nodata_counter += 1

                   time.sleep(0.1)
               else:
                   break

       def get_alldata(self):
           global data

           return data

       def get_data(self, data_len):
           global data

           if len(data) > data_len:
               temp = data[0:data_len]
               data = data[data_len:len(data)]

               return temp
           else:
               return None

       def clear_cache(self):
           global data

           data = ""

       def poll(self):
           global data

           try:
               if len(data) != 0:
                   return None
               else:
                   return 0
           except:
               return 0

    def socket_connect(ip, port):
       s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
       s.connect((ip, port))

       return s

    def socket_listen(ip, port):
       s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
       s.bind((ip, port))
       s.listen(1)

       conn, addr = s.accept()

       return conn

    def socket_close(sock):
       sock.close()

    def send_stream(sock, streamObj, pcktSize):
       timeout = 0

       while 1:
           if streamObj.poll() is None:
               #data = streamObj.get_data(pcktSize)

               data = streamObj.get_alldata()
               streamObj.clear_cache()

               if data is not None:
                   sock.send(data)
           elif timeout < 200:
               timeout += 1

               time.sleep(0.1)
           else:
               break

    stream = streamObject()

    start_new_thread(stream.start_stream, (180, 0, 1280, 720, 20))

    sock = socket_connect("xxxx.xxxx.xxxx.xxxx", 7777)

    send_stream(sock, stream, 256)

    Here is a short video of the graphic bugs i encounter.

    I am doing this over a direct ethernet connection at this time.

  • how to make omxh264enc output filler data ?

    8 septembre 2020, par BlueWaterCrystal

    I require filler data from the encoder to artificially raise the bitrate to sustain constant bitrate.

    


    normally x264enc does this but omx264enc doesn't seem to. even though there seems be a value within its code PROP_FILLER_DATA

    


  • how to make omxh264enc output filler data ?

    8 septembre 2020, par BlueWaterCrystal

    I require filler data from the encoder to artificially raise the bitrate to sustain constant bitrate.

    


    normally x264enc does this but omx264enc doesn't seem to. even though there seems be a value within its code PROP_FILLER_DATA