¿Por qué no se puede reproducir mi video desde donde arrastré la barra de reproducción?

Estoy atascado y realmente no sé cómo explicarlo de manera correcta. Así lo puse en los detalles del profano.

Tengo dos videos mp4 de 30 segundos de duración guardados en el almacenamiento en la nube.

  • video1 es generado por otra persona y
  • video2 es generado por mí en ffmpeg.

Ambos tienen el mismo contenido de video.

mi problema es

Si abro video2en el navegador Safari, no puedo ubicar la hora exacta (por segundo) en la barra de progreso del reproductor de video.

Lo que quiero decir es que, por ejemplo, tomo medidas:

  1. Pauso el video,
  2. arrastre la barra de progreso al primer segundo,
  3. Reproduzco el video.

el reproductor de video saltará a 0 y reproducirá, en lugar de reproducir desde 1 segundo.

Hay varios intervalos de tiempo video2que tienen este problema.

Sin embargo, video1no tiene este problema.

información de video1 de ffmpeg

Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'origin.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf56.4.101
  Duration: 00:00:33.78, start: 0.000000, bitrate: 584 kb/s
    Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 640x360 [SAR 1:1 DAR 16:9], 545 kb/s, 23.98 fps, 23.98 tbr, 11988 tbn, 47.95 tbc (default)
    Metadata:
      handler_name    : VideoHandler
    Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 32 kb/s (default)
    Metadata:
      handler_name    : SoundHandler

información de video2 de ffmpeg

Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'my.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf57.71.100
  Duration: 00:00:35.04, start: 0.000000, bitrate: 734 kb/s
    Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 640x360 [SAR 90:67 DAR 160:67], 599 kb/s, 23.98 fps, 23.98 tbr, 24k tbn, 47.95 tbc (default)
    Metadata:
      handler_name    : VideoHandler
    Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 129 kb/s (default)
    Metadata:
      handler_name    : SoundHandler

Respuestas (1)

video1tiene un intervalo de fotogramas clave muy corto: tiene un fotograma clave cada pocos fotogramas. video2no. Algunos jugadores tienen la capacidad de decodificar hasta que no sea KF en silencio y comenzar a jugar desde el punto de búsqueda. Si el suyo no lo hace, comenzará desde el fotograma clave más cercano que precede al punto de búsqueda.

ffprobe origin.mp4 -show_entries frame=key_frame,pkt_pts_time -select_streams v -of compact=p=0 | grep ame=1

Resultado:

key_frame=1|pkt_pts_time=0.000000
key_frame=1|pkt_pts_time=0.333667
key_frame=1|pkt_pts_time=0.667334
key_frame=1|pkt_pts_time=1.001001
key_frame=1|pkt_pts_time=1.334668
key_frame=1|pkt_pts_time=1.668335
key_frame=1|pkt_pts_time=2.002002
...
key_frame=1|pkt_pts_time=32.699366
key_frame=1|pkt_pts_time=33.033033
key_frame=1|pkt_pts_time=33.366700
key_frame=1|pkt_pts_time=33.700367

Vídeo2:

ffprobe my.mp4 -show_entries frame=key_frame,pkt_pts_time -select_streams v -of compact=p=0 | grep ame=1

Resultado:

key_frame=1|pkt_pts_time=0.000000
key_frame=1|pkt_pts_time=2.293958
key_frame=1|pkt_pts_time=5.171833
key_frame=1|pkt_pts_time=7.257250
key_frame=1|pkt_pts_time=9.718042
key_frame=1|pkt_pts_time=13.221542
key_frame=1|pkt_pts_time=15.473792
key_frame=1|pkt_pts_time=21.271250
key_frame=1|pkt_pts_time=24.357667
key_frame=1|pkt_pts_time=29.195833
key_frame=1|pkt_pts_time=32.407375

Agregar -g 8al comando de transcodificación ffmpeg para colocar un fotograma clave cada 8 fotogramas.

¡Eres un salvavidas como siempre! ¡¡Realmente me salvaste de días de depresión!! Una pregunta más, si quiero un buen intervalo de fotogramas clave y un tamaño de archivo de aproximadamente 3 m. Mientras tanto, debería reducir la tasa de bits de video y los Hz de audio, lo que por supuesto resultará en una calidad reducida. ¿Tengo razón?
¿Reducir la tasa de bits de video? si. La frecuencia de muestreo de audio no importará mucho.
Entendido. ¡buen día!
mi audio hls tiene la misma frecuencia de fotogramas clave. Pero el problema sigue aquí. ¿Hay algún otro problema que pueda afectar esto?