
Recherche avancée
Médias (1)
-
Rennes Emotion Map 2010-11
19 octobre 2011, par
Mis à jour : Juillet 2013
Langue : français
Type : Texte
Autres articles (100)
-
Websites made with MediaSPIP
2 mai 2011, parThis page lists some websites based on MediaSPIP.
-
Creating farms of unique websites
13 avril 2011, parMediaSPIP platforms can be installed as a farm, with a single "core" hosted on a dedicated server and used by multiple websites.
This allows (among other things) : implementation costs to be shared between several different projects / individuals rapid deployment of multiple unique sites creation of groups of like-minded sites, making it possible to browse media in a more controlled and selective environment than the major "open" (...) -
Publier sur MédiaSpip
13 juin 2013Puis-je poster des contenus à partir d’une tablette Ipad ?
Oui, si votre Médiaspip installé est à la version 0.2 ou supérieure. Contacter au besoin l’administrateur de votre MédiaSpip pour le savoir
Sur d’autres sites (10892)
-
Python stream H.264 data over socket
9 janvier 2017, par Ezra KnoblochI 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 BlueWaterCrystalI 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 BlueWaterCrystalI 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