Tema para preguntas random a Chatgpt 🤖

  • Autor Autor Carlos Arreola
  • Fecha de inicio Fecha de inicio
Unir vídeos .MP4 en PHP directamente puede ser un poco complicado debido a que los archivos de vídeo contienen encabezados y metadatos que no permiten una unión simple. Sin embargo, puedes hacer uso de herramientas externas como FFmpeg, que es ampliamente utilizada para manipular videos y audios, invocándolo desde PHP. Aquí te dejo un ejemplo básico de cómo lo podrías hacer:

PHP:
<?php
$directorio = '/ruta/tu/carpeta';
$archivos = glob($directorio.'/*.mp4');
$listado = 'lista.txt';
$archivo_lista = fopen($listado, 'w');

foreach($archivos as $archivo) {
    fwrite($archivo_lista, 'file \''.$archivo.'\''."\n");
}

fclose($archivo_lista);
shell_exec('ffmpeg -f concat -safe 0 -i '.$listado.' -c copy salida.mp4');
?>
Primero, se crea una lista en formato de texto con todos los nombres de los archivos .MP4. Luego, FFmpeg lee de esa lista para unir los vídeos. Los vídeos se concatenan en el orden en que fueron listados en el archivo de texto. Por último, el resultado se guarda en 'salida.mp4'. Recuerda cambiar las rutas de las carpetas a aquellas que correspondan en tu caso.

Es importante tener en cuenta que debes tener instalado FFmpeg en tu servidor y tener los permisos correspondientes para poder ejecutarlo. Las rutas de los archivos también deben ser correctas y tener permisos de lectura y escritura.
con esto no tendre ningun error de codificacion de video y se reproducira normal verdad?
 
con esto no tendre ningun error de codificacion de video y se reproducira normal verdad?
Usar el comando "-c copy" en FFmpeg debería preservar la calidad y la codificación original de tus vídeos, ya que con esto se copian directamente las pistas de video y audio sin volver a codificarlas. Esto significa que los vídeos unidos deberían reproducirse sin cambios en la calidad o la codificación.

Sin embargo, es importante tener en cuenta que todos los videos que quieras unir deben tener la misma codificación y mismos parámetros (como la resolución, la relación de aspecto, la frecuencia de cuadros, etc.) para que la operación funcione sin problemas. Si los archivos fuente tienen codificaciones o parámetros diferentes, puede que te encuentres con problemas de reproducción del video resultante.

Si los videos son diferentes en esos aspectos, tal vez necesites un proceso adicional para re-codificarlos antes de hacer la unión.
 
Unir vídeos .MP4 en PHP directamente puede ser un poco complicado debido a que los archivos de vídeo contienen encabezados y metadatos que no permiten una unión simple. Sin embargo, puedes hacer uso de herramientas externas como FFmpeg, que es ampliamente utilizada para manipular videos y audios, invocándolo desde PHP. Aquí te dejo un ejemplo básico de cómo lo podrías hacer:

PHP:
<?php
$directorio = '/ruta/tu/carpeta';
$archivos = glob($directorio.'/*.mp4');
$listado = 'lista.txt';
$archivo_lista = fopen($listado, 'w');

foreach($archivos as $archivo) {
    fwrite($archivo_lista, 'file \''.$archivo.'\''."\n");
}

fclose($archivo_lista);
shell_exec('ffmpeg -f concat -safe 0 -i '.$listado.' -c copy salida.mp4');
?>
Primero, se crea una lista en formato de texto con todos los nombres de los archivos .MP4. Luego, FFmpeg lee de esa lista para unir los vídeos. Los vídeos se concatenan en el orden en que fueron listados en el archivo de texto. Por último, el resultado se guarda en 'salida.mp4'. Recuerda cambiar las rutas de las carpetas a aquellas que correspondan en tu caso.

Es importante tener en cuenta que debes tener instalado FFmpeg en tu servidor y tener los permisos correspondientes para poder ejecutarlo. Las rutas de los archivos también deben ser correctas y tener permisos de lectura y escritura.
con esto no tendre ningun error de codificacion de video y se reproducira normal verdad?
 
con esto no tendre ningun error de codificacion de video y se reproducira normal verdad?
Usar el comando "-c copy" en FFmpeg debería preservar la calidad y la codificación original de tus vídeos, ya que con esto se copian directamente las pistas de vídeo y audio sin volver a codificarlas. Esto significa que los vídeos unidos deberían reproducirse sin cambios en la calidad o la codificación.

Sin embargo, es importante tener en cuenta que todos los vídeos que quieras unir deben tener la misma codificación y mismos parámetros (como la resolución, la relación de aspecto, la frecuencia de cuadros, etc.) para que la operación funcione sin problemas. Si los archivos fuente tienen codificaciones o parámetros diferentes, puedes encontrarte con problemas en la reproducción del vídeo resultante.

Si los vídeos son diferentes en esos aspectos, tal vez necesites un proceso adicional para re-codificarlos antes de unirlos.
 
Usar el comando "-c copy" en FFmpeg debería preservar la calidad y la codificación original de tus vídeos, ya que con esto se copian directamente las pistas de vídeo y audio sin volver a codificarlas. Esto significa que los vídeos unidos deberían reproducirse sin cambios en la calidad o la codificación.

Sin embargo, es importante tener en cuenta que todos los vídeos que quieras unir deben tener la misma codificación y mismos parámetros (como la resolución, la relación de aspecto, la frecuencia de cuadros, etc.) para que la operación funcione sin problemas. Si los archivos fuente tienen codificaciones o parámetros diferentes, puedes encontrarte con problemas en la reproducción del vídeo resultante.

Si los vídeos son diferentes en esos aspectos, tal vez necesites un proceso adicional para re-codificarlos antes de unirlos.
dame un ejemplo del proceso para re-codificarlos?
 
dame un ejemplo del proceso para re-codificarlos?
Para recodificar videos usando FFmpeg, puedes usar un comando como este:

PHP:
shell_exec('ffmpeg -i entrada.mp4 -c:v libx264 -crf 23 -c:a aac -strict -2 -b:a 192k salida.mp4');

Este comando convierte el video de entrada a H.264 (libx264) para video y AAC para audio, con un bitrate de audio de 192kbps. El -crf 23 es un parámetro de control de la tasa de bits variable para el video, y puedes ajustarlo para cambiar la calidad del video resultante (menor número para mayor calidad).

Recuerda reemplazar 'entrada.mp4' y 'salida.mp4' con los nombres de tus archivos de entrada y salida. Este es solo un ejemplo y tal vez necesites ajustar los parámetros según tus necesidades.

La recodificación puede llevar mucho tiempo dependiendo del video de entrada y la potencia de tu servidor, pero finalizará con todos tus videos en el mismo formato y con los mismos parámetros, preparados para ser concatenados.
 
Para recodificar videos usando FFmpeg, puedes usar un comando como este:

PHP:
shell_exec('ffmpeg -i entrada.mp4 -c:v libx264 -crf 23 -c:a aac -strict -2 -b:a 192k salida.mp4');

Este comando convierte el video de entrada a H.264 (libx264) para video y AAC para audio, con un bitrate de audio de 192kbps. El -crf 23 es un parámetro de control de la tasa de bits variable para el video, y puedes ajustarlo para cambiar la calidad del video resultante (menor número para mayor calidad).

Recuerda reemplazar 'entrada.mp4' y 'salida.mp4' con los nombres de tus archivos de entrada y salida. Este es solo un ejemplo y tal vez necesites ajustar los parámetros según tus necesidades.

La recodificación puede llevar mucho tiempo dependiendo del video de entrada y la potencia de tu servidor, pero finalizará con todos tus videos en el mismo formato y con los mismos parámetros, preparados para ser concatenados.
como creo una nueva carpeta con php??
y como la puedo borrar solo si existe??
 
como creo una nueva carpeta con php??
y como la puedo borrar solo si existe??
Para crear una nueva carpeta en PHP, puedes usar la función mkdir(). Para eliminar una carpeta, puedes usar rmdir(), pero solo funcionará si la carpeta está vacía. Aquí te dejo un ejemplo:

PHP:
// Crear carpeta
if (!file_exists('ruta/carpeta')) {
    mkdir('ruta/carpeta', 0777, true);
}

// Borrar carpeta
if (is_dir('ruta/carpeta')) {
    rmdir('ruta/carpeta');
}
Primero, con file_exists y is_dir, se verifica si la carpeta ya existe antes de intentar crearla o eliminarla para prevenir posibles errores.

IMPORTANTE: rmdir() solo elimina un directorio si está vacío. Si deseas eliminar un directorio que pueda tener archivos o subcarpetas dentro, necesitarás crear una función o procedimiento más complejo para eliminar primero el contenido antes de eliminar la carpeta. La gestión de archivos y carpetas siempre debe hacerse con precaución para evitar la pérdida de datos.
 
Para crear una nueva carpeta en PHP, puedes usar la función mkdir(). Para eliminar una carpeta, puedes usar rmdir(), pero solo funcionará si la carpeta está vacía. Aquí te dejo un ejemplo:

PHP:
// Crear carpeta
if (!file_exists('ruta/carpeta')) {
    mkdir('ruta/carpeta', 0777, true);
}

// Borrar carpeta
if (is_dir('ruta/carpeta')) {
    rmdir('ruta/carpeta');
}
Primero, con file_exists y is_dir, se verifica si la carpeta ya existe antes de intentar crearla o eliminarla para prevenir posibles errores.

IMPORTANTE: rmdir() solo elimina un directorio si está vacío. Si deseas eliminar un directorio que pueda tener archivos o subcarpetas dentro, necesitarás crear una función o procedimiento más complejo para eliminar primero el contenido antes de eliminar la carpeta. La gestión de archivos y carpetas siempre debe hacerse con precaución para evitar la pérdida de datos.
<?php
session_start();
error_reporting(0);
if(!($conexion = mysqli_connect("localhost", "loquenderus_root", "ML&-^TIBjw5:X@4l")));
mysqli_select_db($conexion,"loquenderus_base_tusubs");
if(!empty($_FILES)){
if(is_uploaded_file($_FILES['file']['tmp_name'])){

$temp_archivo = $_FILES['file']['tmp_name'];

if (!isset($_SESSION['ruta_destino'])) {
$_SESSION['ruta_destino'] = 'upload/'.mt_rand(1,100).bin2hex(random_bytes(mt_rand(5,15))).'.mp4';
}

$ruta_destino = $_SESSION['ruta_destino'];

if (file_exists($ruta_destino)) {
file_put_contents($ruta_destino, file_get_contents($temp_archivo), FILE_APPEND);
} else {
$peso = filesize($temp_archivo) / 1024 / 1024;
$peso = round($peso, 2);
$mochie = mysqli_query($conexion,"SELECT * FROM watch");
$koods = mysqli_num_rows($mochie)+1;
$fornier = bin2hex(random_bytes(mt_rand(4,10)));

$mocheauss = mysqli_query($conexion,"SELECT MAX(hora) AS hora FROM watch limit 0,1");
$guyears = mysqli_fetch_assoc($mocheauss);
$horato=$guyears['hora']+1;

$query_exitosa = mysqli_query($conexion,"INSERT INTO watch(hora,fecha,waiting,get_id,target,peso,hored,email,newmodevideo) VALUES ('".$horato."','".date('d M Y')."','".mt_rand(1,8).bin2hex(random_bytes(mt_rand(6,10)))."','".mt_rand(1,5).bin2hex(random_bytes(mt_rand(3,10)))."','".mt_rand(1,10).bin2hex(random_bytes(mt_rand(5,10)))."','".$peso."','".date("Y-m-d H:i:s",strtotime($fecha_actual."+ 72 hours"))."','".$_SESSION['email']."','".$ruta_destino."')");
$archivo_movido = move_uploaded_file($temp_archivo, $ruta_destino);

$resultada = mysqli_query($conexion, "SELECT MAX(id) AS max_id FROM watch WHERE email='".$_SESSION['email']."'");
$fiyi = mysqli_fetch_assoc($resultada);
$ultimo_id = $fiyi['max_id'];

if($archivo_movido && $query_exitosa) {
mysqli_query($conexion,"UPDATE watch SET posis='exito' WHERE email='".$_SESSION['email']."' and id='".$ultimo_id."'");
} else {
if(!$archivo_movido){
mysqli_query($conexion,"UPDATE watch SET posis='error al mover archivo' WHERE email='".$_SESSION['email']."' and id='".$ultimo_id."'");
}
if(!$query_exitosa){
mysqli_query($conexion,"UPDATE watch SET posis='error de consulta' WHERE email='".$_SESSION['email']."' and id='".$ultimo_id."'");
}
}
}

if (isset($_POST['resumableChunkNumber']) && isset($_POST['resumableTotalChunks'])) {
$esUltimoFragmento = ($_POST['resumableChunkNumber'] == $_POST['resumableTotalChunks']);

if ($esUltimoFragmento) {
unset($_SESSION['ruta_destino']);
$resultadas = mysqli_query($conexion, "SELECT MAX(id) AS max_id FROM watch WHERE email='".$_SESSION['email']."'");
$fiyis = mysqli_fetch_assoc($resultadas);
$ultimo_ids = $fiyis['max_id'];
mysqli_query($conexion,"UPDATE watch SET terminates='yess' WHERE terminates='noo' and email='".$_SESSION['email']."' and id='".$ultimo_ids."'");
}
}
}
}
?>

podrias hacer que los videos se suban en una carpeta nueva que no exista y se suban todas las partes de resumable por favor
 
<?php
session_start();
error_reporting(0);
if(!($conexion = mysqli_connect("localhost", "loquenderus_root", "ML&-^TIBjw5:X@4l")));
mysqli_select_db($conexion,"loquenderus_base_tusubs");
if(!empty($_FILES)){
if(is_uploaded_file($_FILES['file']['tmp_name'])){

$temp_archivo = $_FILES['file']['tmp_name'];

if (!isset($_SESSION['ruta_destino'])) {
$_SESSION['ruta_destino'] = 'upload/'.mt_rand(1,100).bin2hex(random_bytes(mt_rand(5,15))).'.mp4';
}

$ruta_destino = $_SESSION['ruta_destino'];

if (file_exists($ruta_destino)) {
file_put_contents($ruta_destino, file_get_contents($temp_archivo), FILE_APPEND);
} else {
$peso = filesize($temp_archivo) / 1024 / 1024;
$peso = round($peso, 2);
$mochie = mysqli_query($conexion,"SELECT * FROM watch");
$koods = mysqli_num_rows($mochie)+1;
$fornier = bin2hex(random_bytes(mt_rand(4,10)));

$mocheauss = mysqli_query($conexion,"SELECT MAX(hora) AS hora FROM watch limit 0,1");
$guyears = mysqli_fetch_assoc($mocheauss);
$horato=$guyears['hora']+1;

$query_exitosa = mysqli_query($conexion,"INSERT INTO watch(hora,fecha,waiting,get_id,target,peso,hored,email,newmodevideo) VALUES ('".$horato."','".date('d M Y')."','".mt_rand(1,8).bin2hex(random_bytes(mt_rand(6,10)))."','".mt_rand(1,5).bin2hex(random_bytes(mt_rand(3,10)))."','".mt_rand(1,10).bin2hex(random_bytes(mt_rand(5,10)))."','".$peso."','".date("Y-m-d H:i:s",strtotime($fecha_actual."+ 72 hours"))."','".$_SESSION['email']."','".$ruta_destino."')");
$archivo_movido = move_uploaded_file($temp_archivo, $ruta_destino);

$resultada = mysqli_query($conexion, "SELECT MAX(id) AS max_id FROM watch WHERE email='".$_SESSION['email']."'");
$fiyi = mysqli_fetch_assoc($resultada);
$ultimo_id = $fiyi['max_id'];

if($archivo_movido && $query_exitosa) {
mysqli_query($conexion,"UPDATE watch SET posis='exito' WHERE email='".$_SESSION['email']."' and id='".$ultimo_id."'");
} else {
if(!$archivo_movido){
mysqli_query($conexion,"UPDATE watch SET posis='error al mover archivo' WHERE email='".$_SESSION['email']."' and id='".$ultimo_id."'");
}
if(!$query_exitosa){
mysqli_query($conexion,"UPDATE watch SET posis='error de consulta' WHERE email='".$_SESSION['email']."' and id='".$ultimo_id."'");
}
}
}

if (isset($_POST['resumableChunkNumber']) && isset($_POST['resumableTotalChunks'])) {
$esUltimoFragmento = ($_POST['resumableChunkNumber'] == $_POST['resumableTotalChunks']);

if ($esUltimoFragmento) {
unset($_SESSION['ruta_destino']);
$resultadas = mysqli_query($conexion, "SELECT MAX(id) AS max_id FROM watch WHERE email='".$_SESSION['email']."'");
$fiyis = mysqli_fetch_assoc($resultadas);
$ultimo_ids = $fiyis['max_id'];
mysqli_query($conexion,"UPDATE watch SET terminates='yess' WHERE terminates='noo' and email='".$_SESSION['email']."' and id='".$ultimo_ids."'");
}
}
}
}
?>

podrias hacer que los videos se suban en una carpeta nueva que no exista y se suban todas las partes de resumable por favor
Por supuesto, aquí te dejo un ejemplo de cómo podrías hacerlo. Primero, generarías el nombre para la nueva carpeta de manera aleatoria o basado en alguna lógica que te convenga. Luego, crearías la carpeta y modificarías la ruta de destino del archivo para que apunte a la nueva carpeta:

PHP:
<?php
...
if(!empty($_FILES)){
if(is_uploaded_file($_FILES['file']['tmp_name'])){

$temp_archivo = $_FILES['file']['tmp_name'];

// Generamos el nombre de la nueva carpeta
$nombreCarpeta = 'upload/' . mt_rand(1,100) . bin2hex(random_bytes(mt_rand(5,15)));

// Creamos la carpeta si no existe
if (!is_dir($nombreCarpeta)) {
    mkdir($nombreCarpeta, 0777, true);
}

if (!isset($_SESSION['ruta_destino'])) {
    // Modificamos la ruta de destino para incluir la nueva carpeta
    $_SESSION['ruta_destino'] = $nombreCarpeta . '/video.mp4';
}

$ruta_destino = $_SESSION['ruta_destino']; 
...
?>
Ten en cuenta que este será el nombre de la carpeta para todos los fragmentos del archivo, por lo que es importante que mantengas esta lógica. Si la lógica para generar el nombre de la carpeta fuera dentro del bloque que se ejecuta cuando no existe el archivo de destino, se estaría generando un nombre distinto para cada fragmento. Tomando en cuenta esto, tienes que verificar que las partes resumables se estén guardando correctamente en la nueva carpeta.
 
Por supuesto, aquí te dejo un ejemplo de cómo podrías hacerlo. Primero, generarías el nombre para la nueva carpeta de manera aleatoria o basado en alguna lógica que te convenga. Luego, crearías la carpeta y modificarías la ruta de destino del archivo para que apunte a la nueva carpeta:

PHP:
<?php
...
if(!empty($_FILES)){
if(is_uploaded_file($_FILES['file']['tmp_name'])){

$temp_archivo = $_FILES['file']['tmp_name'];

// Generamos el nombre de la nueva carpeta
$nombreCarpeta = 'upload/' . mt_rand(1,100) . bin2hex(random_bytes(mt_rand(5,15)));

// Creamos la carpeta si no existe
if (!is_dir($nombreCarpeta)) {
    mkdir($nombreCarpeta, 0777, true);
}

if (!isset($_SESSION['ruta_destino'])) {
    // Modificamos la ruta de destino para incluir la nueva carpeta
    $_SESSION['ruta_destino'] = $nombreCarpeta . '/video.mp4';
}

$ruta_destino = $_SESSION['ruta_destino'];
...
?>
Ten en cuenta que este será el nombre de la carpeta para todos los fragmentos del archivo, por lo que es importante que mantengas esta lógica. Si la lógica para generar el nombre de la carpeta fuera dentro del bloque que se ejecuta cuando no existe el archivo de destino, se estaría generando un nombre distinto para cada fragmento. Tomando en cuenta esto, tienes que verificar que las partes resumables se estén guardando correctamente en la nueva carpeta.
la nueva carpeta se llamara video.mp4??
 
la nueva carpeta se llamara video.mp4??
Lo siento si la respuesta anterior fue confusa. En realidad, el 'video.mp4' es el nombre del archivo, no de la carpeta. La nueva carpeta se llamará de acuerdo al valor que asignes a la variable $nombreCarpeta, en este caso es un número aleatorio y un valor hexadecimal generado a partir de bytes aleatorios. Para que quede más claro:

$nombreCarpeta = 'upload/' . mt_rand(1,100) . bin2hex(random_bytes(mt_rand(5,15)));

Eso creará nombres de carpetas como 'upload/50e84f14abd926ba5fcfbe9e', por ejemplo.

Luego, dentro de esa carpeta se guardará el archivo 'video.mp4':

$_SESSION['ruta_destino'] = $nombreCarpeta . '/video.mp4';

Por lo tanto, todo el archivo se guardará en una ruta algo como: 'upload/50e84f14abd926ba5fcfbe9e/video.mp4'.
 
Lo siento si la respuesta anterior fue confusa. En realidad, el 'video.mp4' es el nombre del archivo, no de la carpeta. La nueva carpeta se llamará de acuerdo al valor que asignes a la variable $nombreCarpeta, en este caso es un número aleatorio y un valor hexadecimal generado a partir de bytes aleatorios. Para que quede más claro:

$nombreCarpeta = 'upload/' . mt_rand(1,100) . bin2hex(random_bytes(mt_rand(5,15)));

Eso creará nombres de carpetas como 'upload/50e84f14abd926ba5fcfbe9e', por ejemplo.

Luego, dentro de esa carpeta se guardará el archivo 'video.mp4':

$_SESSION['ruta_destino'] = $nombreCarpeta . '/video.mp4';

Por lo tanto, todo el archivo se guardará en una ruta algo como: 'upload/50e84f14abd926ba5fcfbe9e/video.mp4'.
mm ya entiendo, pero todas las partes de los videos se llamara video.mp4??
 
mm ya entiendo, pero todas las partes de los videos se llamara video.mp4??
Sí, en este caso, todas las partes del video se están agregando al mismo archivo 'video.mp4'. Con la forma en que está configurado el código, cada parte del archivo que se carga se agrega al final de 'video.mp4' en la carpeta específica creada para ese video. Así es como se maneja la carga de múltiples partes con resumable.js.

Sin embargo, si por alguna razón deseas que cada parte tenga un nombre de archivo único, tendrías que modificar el código para hacerlo. Pero generalmente, queremos que todas las partes se combinen en un solo archivo de video, que es lo que hace tu código actual.
 
Sí, en este caso, todas las partes del video se están agregando al mismo archivo 'video.mp4'. Con la forma en que está configurado el código, cada parte del archivo que se carga se agrega al final de 'video.mp4' en la carpeta específica creada para ese video. Así es como se maneja la carga de múltiples partes con resumable.js.

Sin embargo, si por alguna razón deseas que cada parte tenga un nombre de archivo único, tendrías que modificar el código para hacerlo. Pero generalmente, queremos que todas las partes se combinen en un solo archivo de video, que es lo que hace tu código actual.
sii es lo que hace mi codigo actual, pero por alguna razon siempre me sale error en el video y creo que es porque se codifica mal nose, entonces queria probar asi :c
 
sii es lo que hace mi codigo actual, pero por alguna razon siempre me sale error en el video y creo que es porque se codifica mal nose, entonces queria probar asi :c
Entendido, podrías intentar guardar cada chunk en un archivo separado y luego unirlos. Aquí te dejo un ejemplo de cómo podrías hacerlo:

PHP:
<?php
...
$temp_archivo = $_FILES['file']['tmp_name'];

// Generamos el nombre de la nueva carpeta
$nombreCarpeta = 'upload/' . mt_rand(1,100) . bin2hex(random_bytes(mt_rand(5,15)));
   
if (!is_dir($nombreCarpeta)) {
   mkdir($nombreCarpeta, 0777, true);
}
   
$numeroParte = $_POST['resumableChunkNumber'] ?? 'parte'; // Utilizamos el número de parte si disponemos de él
$ruta_destino = $nombreCarpeta . '/video_' . $numeroParte . '.mp4';
   
// Aquí continuas con tu código
...
?>
Una vez que todos los fragmentos estén cargados, puedes unirlos con un comando específico de shell o usando una biblioteca de PHP que pueda hacerlo. Ten en cuenta que necesitarás controlar el orden de los fragmentos para unirlos correctamente.
 
Entendido, podrías intentar guardar cada chunk en un archivo separado y luego unirlos. Aquí te dejo un ejemplo de cómo podrías hacerlo:

PHP:
<?php
...
$temp_archivo = $_FILES['file']['tmp_name'];

// Generamos el nombre de la nueva carpeta
$nombreCarpeta = 'upload/' . mt_rand(1,100) . bin2hex(random_bytes(mt_rand(5,15)));
  
if (!is_dir($nombreCarpeta)) {
   mkdir($nombreCarpeta, 0777, true);
}
  
$numeroParte = $_POST['resumableChunkNumber'] ?? 'parte'; // Utilizamos el número de parte si disponemos de él
$ruta_destino = $nombreCarpeta . '/video_' . $numeroParte . '.mp4';
  
// Aquí continuas con tu código
...
?>
Una vez que todos los fragmentos estén cargados, puedes unirlos con un comando específico de shell o usando una biblioteca de PHP que pueda hacerlo. Ten en cuenta que necesitarás controlar el orden de los fragmentos para unirlos correctamente.
de esta manera es menos probable un error de codificacion verdad?
 
de esta manera es menos probable un error de codificacion verdad?
Es difícil asegurar que cambiar este método reducirá los errores de codificación sin conocer más detalles del error que estás experimentando. Sin embargo, este método te dará más control, ya que tendrás cada fragmento de video separado y podrás manejar errores en fragmentos individuales. Además, podrás verificar, por ejemplo, que cada fragmento se ha subido correctamente antes de intentar unirlos. Pero en términos de codificación, los videos aún se estarán cargando y manejando de la misma manera, por lo que si el error es debido a cómo se está codificando el video, es posible que este método no resuelva tus problemas.
 
Es difícil asegurar que cambiar este método reducirá los errores de codificación sin conocer más detalles del error que estás experimentando. Sin embargo, este método te dará más control, ya que tendrás cada fragmento de video separado y podrás manejar errores en fragmentos individuales. Además, podrás verificar, por ejemplo, que cada fragmento se ha subido correctamente antes de intentar unirlos. Pero en términos de codificación, los videos aún se estarán cargando y manejando de la misma manera, por lo que si el error es debido a cómo se está codificando el video, es posible que este método no resuelva tus problemas.
hoyp.php?crackfin=undefined net::ERR_INSUFFICIENT_RESOURCES

que significa este error??
 
hoyp.php?crackfin=undefined net::ERR_INSUFFICIENT_RESOURCES

que significa este error??
El mensaje de error "net::ERR_INSUFFICIENT_RESOURCES" generalmente indica que tu navegador (a menudo Chrome) no tiene suficientes recursos para cargar o procesar algo. Esto podría deberse a varias razones, como no tener suficiente memoria disponible en la máquina, estar cargando demasiados datos al mismo tiempo, o un archivo específico que es demasiado grande para gestionar de una vez.

Cuando agregas "?crackfin=undefined" a la URL, parece que estás intentando pasar algún tipo de parámetro a la página "hoyp.php", pero el valor está "indefinido". Esto podría indicar que hay un problema con tu código JavaScript (quizá estás intentando acceder a una variable que no existe o no se ha definido correctamente).
 
Atrás
Arriba