script python pour enregistrer en direct en ligne en streaming des vidéos
je développe un script à télécharger en direct en ligne en streaming des vidéos.
Mon Script:
print "Recording video..."
response = urllib2.urlopen("streaming online video url")
filename = time.strftime("%Y%m%d%H%M%S",time.localtime())+".avi"
f = open(filename, 'wb')
video_file_size_start = 0
video_file_size_end = 1048576 * 7 # end in 7 mb
block_size = 1024
while True:
try:
buffer = response.read(block_size)
if not buffer:
break
video_file_size_start += len(buffer)
if video_file_size_start > video_file_size_end:
break
f.write(buffer)
except Exception, e:
logger.exception(e)
f.close()
script ci-dessus est le travail de l'amende pour téléchargement 7mo de la vidéo en direct streaming contenu et de le stocker dans de *.les fichiers avi.
Cependant, je tiens à télécharger à seulement 10 secondes de vidéo, quel que soit la taille du fichier et le stocker dans un fichier avi.
J'ai essayé différentes possibilités mais sans succès.
Pouvait-on s'il vous plaît partagez vos connaissances ici à résoudre mon problème.
Merci d'avance.
Je suis en train de faire le même genre de chose, prenez un flux vidéo. Est-il un tutoriel vous a suivi pour vous aider à écrire cela? Ou même un test les URL de streaming que je pouvais jouer avec serait une bonne aide.
Trouvé votre code utile dans un projet. Je suis à l'aide de Demandes, mais il semble que cela fonctionne de la même manière. Merci!
Quelle est la taille d'une vidéo de 10 seconde (je suis en supposant que vous avez été en mesure de résoudre le problème)
Ok, donc, sur l'exécution de votre script sur windows 64, le fichier est en cours de création, mais quand j'essaie de jouer, il a une durée de 0 secondes. Ses cours d'exécution pour vous? Dois-je changer le format?
Trouvé votre code utile dans un projet. Je suis à l'aide de Demandes, mais il semble que cela fonctionne de la même manière. Merci!
Quelle est la taille d'une vidéo de 10 seconde (je suis en supposant que vous avez été en mesure de résoudre le problème)
Ok, donc, sur l'exécution de votre script sur windows 64, le fichier est en cours de création, mais quand j'essaie de jouer, il a une durée de 0 secondes. Ses cours d'exécution pour vous? Dois-je changer le format?
OriginalL'auteur AGR | 2012-04-19
Vous devez vous connecter pour publier un commentaire.
Je ne pense pas qu'il existe un moyen de le faire sans analyse constamment la vidéo, qui sera le moyen de coûteuses. Donc, vous pouvez faire une estimation de combien de MO vous avez besoin et de le vérifier c'est assez long. Si c'est trop long, il suffit de couper. Au lieu de deviner que vous pouvez aussi construire des statistiques de combien vous avez besoin pour récupérer. Vous pouvez aussi remplacer le while True:
Cela devrait vous donner au moins 10 secondes de la vidéo, à moins que la connexion prend trop de temps (moins de 10 secondes) ou le serveur envoie plus de mise en mémoire-tampon (mais c'est peu probable pour les flux en direct).
OriginalL'auteur Sebastian Blask
Vous pouvez utiliser le "Content-Length' en-tête pour récupérer la vidéo de la taille du fichier s'il existe.
OriginalL'auteur exxy-
réponse.read() ne fonctionne pas. réponse.iter_content() semblent faire l'affaire.
OriginalL'auteur patel deven