PHP - Ruta de archivo

 
Vista:

Ruta de archivo

Publicado por Nelson Torres (32 intervenciones) el 06/09/2015 00:50:13
Hola a todos:

Tengo la siguiente inquietud, he estado investigando y no me que queda del todo claro el siguiente tema. Tengo una pagina html con una etiqueta de vídeo, no quiero que se copien vídeos al sitio solo quiero que el usuario los reproduzca y use ciertas funciones que he programado de edición, una vez que finalice su sesión, la ruta desaparecerá, no me interesa guardarla mas bien almacenarla en una variable temporal mientras la sesión este activa; he investigado y he encontrado códigos de php y javascript que permiten obtener la ruta del vídeo desde la pc del cliente, pero también he encontrado contras por el lado de seguridad. Entonces mi duda es la siguiente, estos códigos que permiten realizar lo que necesito pueden funcionar en el servidor de prueba pero cuando suba mi proyecto a la red funcionaran igual?, si no es así, que puedo hacer para lograr lo que me propongo y cual lenguaje me recomiendan para esto?.

Gracias!

Saludos!!!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve
Val: 3.943
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Ruta de archivo

Publicado por xve (6935 intervenciones) el 06/09/2015 20:04:55
Hola Nelson, no se muy bien a que códigos te refieres, pero si son de JavaScript entiendo que funcionaran perfectamente en tu hosting.

Que no te copien un vídeo que se esta reproduciendo, es casi imposible... por lo menos youtube no lo ha conseguido...

Si el cliente puede verlo, casi seguro que podrá descargarlo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Ruta de archivo

Publicado por Nelson Torres (32 intervenciones) el 06/09/2015 23:15:42
Hola xve agradezco tu ayuda en mi inquietud, no obstante, creo que no me hice entender. Veras soy novato en esto y solo quiero saber si es posible que mi pagina reproduzca el vídeo que el usuario desee desde su pc. Lo que busco es que la ruta del vídeo sea almacenada en una variable por medio de PHP o JavaScript (no se cual sea mas aconsejable) y luego sea asignada a la etiqueta vídeo HTML, no deseo almacenar la ruta en la BD, no quiero que el usuario suba vídeos al sitio, solo que los reproduzca.

Gracias por tu ayuda!

Saludos!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve
Val: 3.943
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Ruta de archivo

Publicado por xve (6935 intervenciones) el 07/09/2015 08:20:53
Hola Nelson, segun entiendo, quieres que desde una pagina web que esta en tu servidor, el cliente pueda reproducir un vídeo que tiene en su disco duro desde tu pagina web que se encuentra en un servidor de internet...

Si es esto, la respuesta es NO... por temas de seguridad, desde una pagina web alojada en un servidor de internet,no es posible acceder a ningún contenido del disco duro del ordenador que se conecta a dicha pagina web.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Ruta de archivo

Publicado por Nelson Torres (32 intervenciones) el 07/09/2015 17:38:27
Hola xve, agradezco tu ayuda en mi inquietud, ya me queda claro el tema. Sin embargo, perdonaras mi curiosidad al respecto. Existen alternativas para lograr lo que necesito? se puede lograr con otros lenguajes de programación?, puedes aconsejarme una solución diferente?.

Gracias!!!

Saludos!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve
Val: 3.943
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Ruta de archivo

Publicado por xve (6935 intervenciones) el 07/09/2015 19:20:20
La única manera que se me ocurre, es utilizando java, pero el usuario tiene que tenerlo instalado y aceptar el uso del mismo, y con todo eso, no se si podrías llegar a publicar dicho vídeo.

La verdad, es que intentarse saltar la seguridad del navegador, espero que no sea posible, ya que si lo fuera, imagínate la que se podría liar...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Vainas
Val: 34
Ha aumentado su posición en 3 puestos en PHP (en relación al último mes)
Gráfica de PHP

Ruta de archivo

Publicado por Vainas (262 intervenciones) el 07/09/2015 18:44:21
Buenas de nuevo:

La pregunta es. Donde van a estar los videos que quieres que reproduzca el usuario? En el servidor o en la maquina del cliente?

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Vainas
Val: 34
Ha aumentado su posición en 3 puestos en PHP (en relación al último mes)
Gráfica de PHP

Ruta de archivo

Publicado por Vainas (262 intervenciones) el 07/09/2015 18:36:07
Buenas:

"solo quiero que el usuario los reproduzca y use ciertas funciones que he programado de edición" que funcionalidades has programado? se supone que en javascript?

Aqui hay mucho de que hablar la verdad es muy amplio el tema. Yo hasta hace poco te habria respondido que no a todo pero como hoy en dia hay que dar una vuelta en google y demas buscadores a ver que es lo que se ha trabajado la gente por otros sitios....

Por partes:

1. Se puede reproducir un video que esta en el cliente. En un principio asi sin mas NO. pero quizas si el cliente selecciona el archivo con una etiqueta <input type="file" accept="video/*"/> puede que si. Aqui tienes uno que lo ha hecho: http://stackoverflow.com/a/9349984

2. Se puede editar ese video?. Pues en un principio yo pensaba que NO mas que nada que para editar necesitas tener instaladas herramientas como FFmpeg http://ffmpeg.org/about.html codificador y decodificador de video y audio. Pues resulta que hay gente que ha construido el FFmpeg como una libreria de javascript....https://bgrins.github.io/videoconverter.js/ bastaria comprobar que esto en produccion funciona y que con la solucion anterior de reproducir un video en local se puede juntar todo.

3. "almacenarla en una variable temporal mientras la sesión este activa" para que quieres almacenar la ruta del archivo?. Sera el usuario el que tenga que seleccionar cada vez que quiera modificar el archivo. Si tienes que cambiar de pagina tendras que idear algun metodo de no recargar las paginas con ajax y algun framework como angular por ejemplo.

xve dice: "Que no te copien un vídeo que se esta reproduciendo, es casi imposible". Esto es cierto en parte. Puedes idear algun metodo que sea dificil que el usuario pueda copiar el video pero si estas tu solo no va a ser una opcion facil/rapida de implementar, Seguro que tendras que contratar algun servicio como http://www.wowza.com/ que seguro que cobrando algo mas tienen algun servicio de ocultar la ruta del video y poder lograr que un usuario medio lo copie. Claro esta que quieren accede al video como un flujo lo podra copiar igualmente...

Espero haber aclarado algunas dudas.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Ruta de archivo

Publicado por Nelson Torres (32 intervenciones) el 07/09/2015 21:14:41
Hola Vainas, muchas gracias por tu aporte. Es grandioso saber que uno cuenta con mucha ayuda en este medio. Aclarando un poco mas la temática planteada, voy por pasos:

1. El termino "edición", esta ves ha sido mal utilizado por mi, pido disculpas por ello. A lo que me refería es a las funciones que trae consigo la etiqueta Video de HTML. Respondiendo a tu pregunta sobre el uso de java, la respuesta es si. He utilizado java a través de la lectura de botones HTML por medio de id en archivos alternos, para el uso de funciones como por ejemplo retrocesos, adelantos, retrocesos a puntos en linea de tiempo etc que se derivan de las funciones que HTML5 incorporo para esta etiqueta.

2. El link que tu mencionas "http://stackoverflow.com/a/9349984", ya lo había visto, de hecho este fue el que provoco mi duda. Te explico, (perdonaras si cometo errores, pero estoy hasta ahora empezando en este campo de programación), cuando estuve documentandome en cada uno de los lenguajes de programación, aprendí que en PHP se puede usar formularios HTML con el atributo enctype="multipart/form-data"; por medio de un objeto <input type="file" /> se obtiene la ruta del archivo que se desea subir. La variable global $_FILES que existe si mal no estoy a partir de PHP 4.1, se incorpora al método move_uploaded_file(string $filename , string $destination) que es el que mueve el archivo del pc del cliente hacia el servidor.

Yo pensé lo siguiente: Si puedo obtener la ruta del archivo y puedo moverlo desde el pc del cliente hacia el servidor. Entonces, porque no puedo manipularlo?, pero como PHP y JavaScript, son lenguajes del lado del servidor, decidí indagar un poco mas para saber si existían limitantes y vaya! me tope con la limitante de seguridad. A simple vista si yo lo programo usando XAMPP funcionaria, pero dados los comentarios me pregunte ¿mi código funcionara cuando le de vida a mi sitio? y mi respuesta fue limitada, por esta razón decidí buscarla con ayuda de personas como tu y xve.

2.En cuanto a la edición de vídeo con la(s) herramientas FFmpeg que tu nombras, las desconozco, pero me pareció interesante tu aporte y voy a investigar mas al respecto para saber que se puede logran con ella(s), te agradecería si me dieras una manito.

3. El tema de la variable, surge precisamente del link que tu comentas. No planeo que el usuario cambie de pagina, pero me pareció bueno manejarlo con una variable PHP en la etiqueta video HTML.

El link que menciona Vainas, plantea que es posible que se pueda lograr, pero para ello es necesario concatenar a la dirección del video una parte textual como sigue: "http://127.0.0.1:4001/videos/", es posible lograrlo?, funcionara cuando de vida a mi sitio?

Gracias!!!

Saludos!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Vainas
Val: 34
Ha aumentado su posición en 3 puestos en PHP (en relación al último mes)
Gráfica de PHP

Ruta de archivo

Publicado por Vainas (262 intervenciones) el 07/09/2015 21:59:40
Buenas de nuevo:

Ahora la pregunta es: que es para ti manipular un video?

Cuando te hablo de herramientas como ffmpeg estoy hablando de cambiarle al video como esta codificado internamente, pasarlo de mpeg a avi puede ser otro ejemplo, incluso cortar trozos del mismo y unirlo de nuevo y hacer otro video.

Manipularlo simplemente con avanzar, retroceder, detener etc etc es otra cosa.

Asi que volviendo de nuevo a lo que dije arriba añado lo siguiente. Si quieres manipularlo para avanzar, retroceder, detener o pausar, comenzar en un punto... eso se puede hacer con javascript y con alguna de sus librerias que existen para esas cosas.

Si lo que quieres es cortarlo y demas tienes lo que te pase anteriormente.

El punto 2 que comentas sobre la variable $_FILES vas bien encaminado asi que sigue asi. Es basicamente cuando quieres subir videos de un cliente al servidor poco mas te puedo agregar de lo que has dicho. Una vez tengas por ejemplo el archivo en el servidor puedes cortarlo editarlo, agregarle nuevo sonido... cosas de ese estilo y desvolver al cliente el video modificado por ejemplo (la ruta en tu servidor donde estara el nuevo video modificado).

" Si puedo obtener la ruta del archivo y puedo moverlo desde el pc del cliente hacia el servidor. Entonces, porque no puedo manipularlo?" Puedes pero esto desde hace poco eehh!! es parte de html5 y su nuevo standard. con html5 incluyeron la etiqueta de video y nuevos formatos como File (aqui puedo estar metiendo un poco la pata por que no se si estaba antes) para que mientras el cliente ve la pagina (pero estando siempre en el cliente) se pueda usar archivos en general (txt, jpg....). Lo que pasa es que si te paras a pensar que sentido tiene un reproductor de video en una web que carga un video desde el mismo cliente (yo no le veo la gracia) cuando seguro la gente tiene instalado el vlc el windows media player... winamp (si es que existe aun!!!) y no le vas a hacer nada A menos que agreges alguna funcionalidad como cajas de texto encima o que salte alguna ventana cuando esta en x punto... o cambie el color de la web..me explico?


Una ultima cosa: hacer algo asi http://127.0.0.1:4001/videos/ te obligaria a que todos tus clientes tengan instalado el xampp en su ordenador ya que esa ruta intenta buscar al xampp y dentro la carpeta videos (explicacion corta).

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Ruta de archivo

Publicado por Nelson Torres (32 intervenciones) el 07/09/2015 22:50:44
Hola Vainas, gracias nuevamente por tu aporte. Entiendo entonces que por ahora lo mas prudente es permitir que el usuario mueva los vídeos al sitio web, para evitar inconvenientes de funcionalidad verdad?.

Por otro lado estoy precisamente viendo la herramienta FFmpeg que tu mencionaste, acabo de enterarme de que existe FFmpeg-PHP. El punto es y me gustaría tratarlo aquí o si prefieres abro un tema nuevo, que me interesa y demasiado la función de conversión de formato de esta herramienta. Estuve investigando pero tengo una duda y se trata sobre la instalación de dicha herramienta en mi sitio, no me ha quedado del todo claro. Mas concretamente:

¿como puedo usar FFmpeg-PHP para convertir los vídeos que el cliente desee subir a mi sitio a formatos compatibles con la etiqueta vídeo de HTML5 (mp4-ogg/.ogv-webm)? y ¿esta herramienta permite reducir el tamaño del vídeo?

Puedes ayudarme?

Gracias!!

Saludos!!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Vainas
Val: 34
Ha aumentado su posición en 3 puestos en PHP (en relación al último mes)
Gráfica de PHP

Ruta de archivo

Publicado por Vainas (262 intervenciones) el 08/09/2015 10:01:34
A tus preguntas:

"Entiendo entonces que por ahora lo mas prudente es permitir que el usuario mueva los vídeos al sitio web, para evitar inconvenientes de funcionalidad verdad?."

Yo sinceramente para no pisarme los pies creo que si. Mas adelante y con mas estudio del tema puedes crear un programa que realice ediciones de video enteramente del lado del cliente pero sin mucho conocimiento mejor ir estudiando opciones que hay por foros y demas.

Sobre lo de PHP-FFMpeg tambien me entero ahora de que existe. Sobre la instalacion te pone (al menos lo basico) en la documentacion: https://github.com/PHP-FFMpeg/PHP-FFMpeg

Antes de instalar:
Dice que tienes que tener instalado FFMpeg y FFProbe en tu servidor asi que imagino que un hosting NO te servira ya que dudo que te dejen instalar estas cosas. Necesitaras un VPS como opcion mas economica.

La instalacion de la herramienta:
Tienes que saber que es Composer y usarlo para instalarla (no es necesario pero te lo recomiendo). Es una herramienta para muchas cosas pero entre otras tiene la de instalar paquetes para tus proyectos. Tienes que crear un archivo composer.json con:

1
2
3
4
5
{
    "require": {
        "php-ffmpeg/php-ffmpeg": "~0.5"
    }
}

Lo suyo es leerse la documentacion (como la mayoria de las cosas en la informatica esta en ingles) y de alli preguntanos que no entienes.

Yo antes de nada probaria tambien a usar FFMpeg y FFProbe de modo normal a ver que fucnionalidades de conversion tienen y cosas asi... mas que nada por conocer un poco como funciona la compresion de video.

Espero que te ayude.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar