P2PSP

  • ¿Es posible ejecutar un protocolo peer-to-peer en Chromecast?

    En P2PSP creemos que un dispositivo Google Chromecast puede ejecutar un peer P2PSP y un player usando WebRTC. Chromecast tiene un navegador Chrome en su interior, esto es lo que nos lleva a pensar que HTML5, MSE y WebRTC están disponible. Es por ello que una implementación del P2PSP para el navegador podría ser compatible con este dispositivo.

    Esta es la idea que presentamos en las JCE (Jornadas de Computación Empotrada), que tuvieron lugar en Córdoba (España) el pasado 25 de septiembre. Nos gustaría presentar pronto una versión beta para el navegador, pero por el momento...estamos trabajando en ello!

     

  • A very exciting visit ...

    In 2015, we had three students doing excellent work for the Google Summer of Code. One of those students was Max Mertens who worked on a project whose objective was to provide a new feature to the P2PSP protocol: to traverse NATs, as many types as possible. He told us about it in this post. We liked so much the work done by Max that we proposed him to become a mentor for the GSoC 2016. He accepted the challenge, and as we expected, he was a great mentor. After our excellent experience, we invite him to visit us in Almeria (Spain) with the aim of meeting him face-to-face and share our thoughts about the future lines of work.

    Max giving his talk about NAT traversal

    He accepted our proposal, got on the plane and arrived at Almería on September 30. A very special day because we were celebrating the European Researchers' Night. An event dedicated to popular science and fun learning/teaching. As in previous years, we prepared a P2PSP demo using an IP camera as a source, we explained to the assistants how the protocol works, the advantages over others streaming protocols and how everyone can involve in an open source project.

    People were visiting our stand in the European Researchers' Night.*

     

    *Faces have been hidden for privacy reasons

  • Canal IRC para el P2PSP

    IRC Freenode

    La mayoría de vosotros nos ha preguntado por un canal IRC para el P2PSP. Aquí lo tenéis.

    ¡Gracias por vuestro comentarios!

    Visita el canal IRC para el P2PSP en Freenode.net

  • Digital Professionals

    Last November 18th a meeting of digital professionals was held at University of Almeria, it was an initiative of the Spanish Ministry of Industry, the organization Red.es and the Conference of Rectors of Spanish Universities.

    During the morning were carried out several talks including "P2PSP: A collaborative protocol for live video streaming". We explained to attendees how the protocol works, some things about free software and how they can get involved in the free software comunity.

    P2PSP poster

  • Gracias por este summer of code

    Thanks!

    Como ya sabéis el Google Summer of Code 2015 ha llegado a su fin. Este año hemos participado con tres estudiantes y seis mentores. Estamos orgullosos de anunciar que todos nuestros estudiantes han pasado la evaluación final, lo que quiere decir que han completado con éxito sus proyectos.

    Los proyectos dessarrollados durante el programa han sido las ideas número #5, #10 y #11 de nuestra página de ideas para el GSoC 2015.

    Queremos agradecer a nuestros estudiantes y mentores por su esfuerzo y trabajo duro. Por supuesto, gracias también a Google por darnos esta gran oportunidad.

    En los próximos días escribiremos sobre la evolución de cada proyecto.

  • GSoC 2015 Ideas Page

    Google summer of code 2015

    Welcome to P2PSP Google Summer of Code (GSoC) 2015 project ideas page. We will use this page to develop possible project ideas. Please note that anyone who is interested can participate in this process. You do not have to be a GSoC student or mentor to suggest possible project ideas. If you want to suggest an idea, please, send an email with the subject "GSoC 15 Ideas" to info [at] p2psp.org. You can also join the team at https://launchpad.net/~p2psp and subscribe to the mailing list.

    Potential mentors: This email address is being protected from spambots. You need JavaScript enabled to view it.Leocadio González CasadoVicente González RuizCristóbal Medina LópezJuan Álvaro Muñoz NaranjoJose Juan Sánchez Hernández

    The current list of ideas for the GSoC 2015 is:

  • GSoC 2015 wrap-up: NAT traversal via hole punching Set of Rules

    As you know, we participated in the Google summer of code 2015. One of the projects accepted for our organization was "NAT traversal via hole punching Set of Rules" by the student Max Mertens. In this post, Max tells us about his experience. Thanks!

    Peer-to-peer software is a great idea, as you do not need a central server and save bandwidth necessary for relaying. As I have been interested in networking and protocol development for a few years, I was happy to find the P2PSP organization and that it is participating in the Google Summer of Code 2015. So I asked the P2PSP developers if they would need an implementation of NAT traversal in their software, and applied for GSoC with the project "NAT traversal via hole punching Set of Rules as a Python implementation". The main idea of the NAT Traversal Set of rules (NTS) is that two peers (computers) that are each behind a different router (Network Address Translator, NAT) can connect to each other, without prior configuration of port forwarding and without UPnP or similar techniques. This enables multimedia to be streamed between such peers, e.g. between PCs or mobile devices each behind a home router.
    The mentors Vicente González Ruiz and Juan Pablo García Ortiz accepted the project ("any improvement in the NAT's war is also interesting for us") and I was very happy to be able to work with this organization over the summer.

    I began with the project by examining existing NAT traversal software and setting up a testing environment. Then I worked on a simple Python script doing nothing but NAT traversal. After testing and improving it, I added the NTS classes to the P2PSP software and added more and more functionality, until NAT traversal was working for all theoretically possible combinations.

    Virtual network setup used for testing; each box represents a virtual machine or Linux network namespace.
    Virtual network setup used for testing; each box represents a virtual machine or Linux network namespace.


    During the project, I sent status report emails once or several times a week, and my mentors Vicente and Juan Pablo helped me if I was unclear about P2PSP code or principles, and they had creative ideas on extending the NTS code. Also they were always open to merge changes to existing P2PSP code that were necessary or helpful during development.
    A few practices emerged that were helpful during development: To stick closely to the timeline that was planned in the proposal and to keep track of outstanding tasks, I had a frequently updated task list with finished tasks for each week and a to-do list sorted by priority. This way it was easy for my mentors and me to see how many tasks are left and what is to be done next. Documentation can turn out to be much more work than necessary if you document any change you made to the project. So I aimed at documenting each small part of the code just after it was finished and was not likely to be changed much anymore, and finalized the documentation before the midterm and the final evaluation to fully match the code.

  • GSoC 2016 Ideas Page

     

    Google Summer of Code 2016

    Welcome to P2PSP Google Summer of Code (GSoC) 2016 project ideas page. We will use this page to develop possible project ideas. Please note that anyone who is interested can participate in this process. You do not have to be a GSoC student or mentor to suggest possible project ideas. If you want to suggest an idea, please, send an email with the subject "GSoC 16 Ideas" to info [at] p2psp.org. You can also join the team at GitHub, chat on Gitter and subscribe to the mailing list.

    Potential mentors: This email address is being protected from spambots. You need JavaScript enabled to view it.Leocadio González CasadoVicente González RuizCristóbal Medina LópezJuan Álvaro Muñoz NaranjoJose Juan Sánchez HernándezJose Manuel García SalmerónMax Mertens.

    The current list of ideas for the GSoC 2016 is:

  • GSoC 2017 Ideas Page

     

    Google Summer of Code 2016

    Welcome to P2PSP Google Summer of Code (GSoC) 2017 project ideas page. We will use this page to develop possible project ideas. Please note that anyone who is interested can participate in this process. You do not have to be a GSoC student or mentor to suggest possible project ideas. If you want to suggest an idea, please, send an email with the subject "GSoC 17 Ideas" to info [at] p2psp.org. You can also join the team at GitHub, chat on Gitter and subscribe to the mailing list.

    Potential mentors:Vicente González RuizCristóbal Medina López, Leocadio González CasadoJuan Álvaro Muñoz NaranjoThis email address is being protected from spambots. You need JavaScript enabled to view it.Jose Manuel García SalmerónMax Mertens Juan José Moreno Riado.

    The current list of ideas for the GSoC 2017 is:

  • GSoC Application Template

    GSoC application templateHere you have some key points that you should consider to include in your GSoC application:

    1. What project would you like to work on and why?
    2. Propose an idea of how are you going to develop the project. Please, try to give as much information about this topic in your proposal, for example, milestones, time scheduling, deliverables, etc.
    3. Tell us about your experiences in free software development. Point us to a code sample: something good and clean to demonstrate that you know what you're doing, ideally from an existing project. Please, include your contributions in GitHub, Launchpad, Google Code, etc.
    4. Why do you want to work with P2PSP Project in particular?
    5. Will you be working full-time on the project for the summer, or will you have other commitments too (a second job, classes, etc)?
    6. What is your ideal approach to keeping us informed of your progress, problems, and questions over the course of the project?
    7. How can we contact you to ask you further questions?
    8. What school are you attending? What year are you, and what's your major/degree/focus? If you're part of a research group, which one?
  • Ideas para el GSoC 2015

    Google Summer of Code 15

    Seguro que ya conoces el Google Summer of Code, un programa anual que organiza Google para colaborar con proyectos de software libre durante el verano. Al igual que el año pasado pensamos que es muy importante participar y estamos preparando ideas para posibles proyectos. Cualquiera que esté interesado puede participar aportando ideas, no es necesario ser un estudiante o un mentor del programa. Si quieres aportar tus ideas, no lo dudes, envíanos un email con el asunto "GSoC 15 Ideas" a info[at]p2psp.org y las publicaremos en la página de ideas que puedes ver a continuación.

    Página de ideas GSoC 2015

  • Ideas para el GSoC 2016

    Google Summer of Code 16

    Seguro que ya conoces el Google Summer of Code, un programa anual que organiza Google para colaborar con proyectos de software libre durante el verano. Al igual que el año pasado pensamos que es muy importante participar y estamos preparando ideas para posibles proyectos. Cualquiera que esté interesado puede participar aportando ideas, no es necesario ser un estudiante o un mentor del programa. Si quieres aportar tus ideas, no lo dudes, envíanos un email con el asunto "GSoC 16 Ideas" a info[at]p2psp.org y las publicaremos en la página de ideas que puedes ver a continuación.

    Página de ideas GSoC 2016

  • IRC Channel for P2PSP

    IRC FreenodeMost of you asked us for an IRC channel for P2PSP. Here it is.

    Thanks for your comments!

    Visit IRC Channel for P2PSP at Freenode.net

  • Is it possible to run a peer-to-peer protocol on Chromecast?

    In the P2PSP team we think that a Google Chromecast device can run a P2PSP peer and a player using the WebRTC framework. Chromecast has a Chrome browser inside, that is the reason to think that HTML5, MSE and WebRTC are available. So, an implementation of the P2PSP for the web browser would be compatible with the device.

    This is the idea that we presented in the JCE "Jornadas de Computación Empotrada" (Embedded Computing Conferences), held in Córdoba (Spain) on September 25. We want to get a beta version soon, but for the moment...we are working on it.

     

  • Our first participation in Google Summer of Code

    P2PSP is an open application-layer protocol for the real-time streaming of media content over a peer-to-peer overlay, where every peer is connected with each other following a push-based fully connected mesh scheme. This project was born of the necessity of teaching about computer networks in a more exciting way to students of computer science at University of Almería (a small university in the south of Spain) and … it worked!

    In 2015 was the first time we participated as a mentoring organization in the GSoC program. We supervised three excellent students withgreat ideas. Their work has not only consisted of writing code but also thinking about new algorithms and researching about the problem in depth. We’d like to outline their projects.

    NAT traversal via hole punching Set of Rules (Max Mertens)
    Connection-filtering-NATs are becoming increasingly frequent, and this is a situation thathindersthe connectivity between peers. In this project Max worked in proposing and creating an extra functionality to handle those peers that are behind restricted-cone NATs and symmetric NATs. Max coded and tested his implementation in different scenarios.

    Implementation of Content Integrity Set of rules for P2PSP (Ilya Shakirov)
    Pollution attacks are a challenging security-related problem in peer-to-peer streaming platforms. We proposed two different theoretical strategies in order todetect a pollution attack in the context of the P2PSP live streaming system. In this project, Ilya coded the strategies, got statistical results and proposed improvements for the strategies.

  • P2PSP en el Google Summer of Code 2015

    Google Summer of Code 2015Estamos encantados de anunciar que hemos sido seleccionados para ser una organización mentora del Google Summer of Code (GSoC) 2015. Tenemos un montón de ideas que te podrían interesar. Además, ¡puedes proponer tus propias ideas!
     
    El periodo para registrarse como estudiante empieza el Lunes, 16 de Marzo de 2015 a las 19:00 UTC y finaliza el Viernes 27 de Marzo de 2015 a las 19:00 UTC. Si estás interesado en participar, por favor empieza revisando nuestra Ideas Page. Si no te gusta ninguna de nuestras ideas, nos pondremos tristes, pero esto no te impide participar con otra organización. La lista de organizaciones aceptadas está disponible en http://www.google-melange.com/gsoc/org/list/public/google/gsoc2015 
     
     
    ¡Participa!
  • P2PSP in the Google Summer of Code 2015

    Google Summer of Code 2015We are excited to announce that we have been selected as a mentor organization for the Google Summer of Code (GSoC) 2015. We have a lot of ideas that you might be interested in. You can even suggest new project ideas!
     
    The student application period begins on Monday, March 16, 2015 at 19:00 UTC and finish on Friday, March 27, 2015 at 19:00 UTC . If you are an interested student, please start by reviewing our Ideas Page. If you dont like our ideas, we will be sad about it, but you still can participate with other organizations. The list of accepted organizations is available at http://www.google-melange.com/gsoc/org/list/public/google/gsoc2015 
     
     
    Get involved!
  • P2PSP Protocol

    The P2PSP is an application layer protocol for the real-time streaming of multimedia content over the Internet, i.e., where the users playback the stream in a synchronized way. It can be used to build a variety of live streaming services that ranges from small hangouts to large IPTV systems. Unlike in the traditional CS (Client/Server) and CDN (Content Delivery Network) based video streaming, P2P peers contribute with their upload bandwidth to the system. For this reason, in general, P2P systems are much more scalable than those based on the client/server architecture.

    P2P video streaming technology has been an intensive research field of in the last years and several proposals have appeared. P2PSP is another proposal to add to a long list of solutions. However, before describe it, we would highlight some of its features making it attractive, specially for the open-source community:

    1. The P2PSP is not aware of the broadcasted content, the bit-rate, the format, etc. You can transmit any type of stream you need without having to modify the protocol at all.
    2. The P2PSP has an application layered architecture. The number of layers used depends on the final requirements.
    3. The most basic layer (the broadcasting layer) is simple enough to run the peer process in systems with very low computing resources (for instance, to run several threads or to fork processes is not needed). The rest of layers add functionality to the protocol, such as parallel streaming, system integrity and information privacy. Of course, layers can be modified or new ones can be added to fulfill the requirements, always keeping the interface between them.
    4. If native IP multicast is available (even locally, as happen in most of the local networks), P2PSP can use it, having the same performance as IP multicast.
    5. Under unannounced peer churn, the P2PSP provides methods for error concealment in the received stream.
    6. Peers can be hosted in private networks, even if they are behind symmetric NATs.
    7. P2PSP provides Multiresolution (both, spatially and temporally) and bandwidth-adaptive streaming services by using simulcast, scalable video coding and multiple description video coding.

    You can know all details of the protocol in P2PSP protocol

  • Profesionales Digitales

    El pasado día 18 de Noviembre tuvo lugar un encuentro de Profesionales Digitales en la Universidad de Almería. Profesionales Digitales es una iniciativa puesta en marcha por el Ministerio de Industria, Energía y Turismo, a través de la entidad pública empresarial Red.es y la Conferencia de Rectores de las Universidades Españolas.

    Durante la mañana de ese día se llevaron a cabo varias charlas de carácter divulgativo, entre ellas estuvo "P2PSP: Un protocolo colaborativo para el streaming de vídeo en directo". En el evento se explicó a los asistente en qué consiste el protocolo, qué es el software libre y por qué P2PSP forma parte del movimiento. Además, se invitó a los participantes a formar parte de este proyecto uniéndose así a la comunidad de software libre.

    Póster P2PSP

  • Resumen del GSoC 15: atravesando NAT en P2PSP

    Como ya sabéis, hemos participado en el programa Google Summer of Code 2015. Uno de los proyectos aceptados en el programa ha sido "NAT traversal via hole punching Set of Rules" del estudiante Max Mertens. Max nos ha escrito un post contando su experienca.

    El post está disponible en inglés en GSoC 2015 wrap-up: NAT traversal via hole punching Set of Rules

    ¡Gracias Max!