Tous les produits
Search
Centre de documentation

:Dépannage des anomalies d'ingestion de flux

Dernière mise à jour :Aug 08, 2026

Scénarios

ApsaraVideo Live transmet les flux vidéo RTMP (Real-Time Messaging Protocol) depuis un client d'ingestion vers le centre live. Le client d'ingestion peut être un outil dédié ou le SDK Push. Le centre live correspond à l'URL d'ingestion fournie par ApsaraVideo Live, telle que video-center.alivecdn.com. Pour en savoir plus sur les méthodes d'ingestion, consultez la rubrique Paramètres et opérations d'ingestion. Toutefois, l'ingestion de flux peut échouer même si vous suivez les instructions. Cette rubrique décrit les problèmes courants liés à l'ingestion de flux et fournit les étapes de dépannage appropriées.

Dépannage

  • Incorrect client ingest method

    • Vérifiez que l'URL et le Stream Name configurés dans vos paramètres de flux sont corrects.

      Remarque

      Les paramètres présentés ci-dessous concernent Open Broadcaster Software (OBS) à titre d'exemple. Vos propres paramètres peuvent varier.

      L'URL inclut le centre live et l'AppName. Le nom du flux comprend les paramètres StreamName et QueryString. Ces derniers contiennent le paramètre vhost ainsi que, si l'authentification est activée, le paramètre auth_key.

      Définissez le Stream Type sur Custom Streaming Server. Dans le champ URL, saisissez l'URL d'ingestion, par exemple rtmp://push.aliyunlive.com/app/. Dans le champ Stream Name, entrez le nom du flux accompagné de la clé d'authentification, par exemple stream?auth_key=xxx.

    • Examinez la configuration de votre outil d'ingestion client. Parmi les outils d'ingestion courants figurent OBS, ffmpeg et Adobe Flash Media Live Encoder. Utilisez ces outils pour tester le bon fonctionnement de l'ingestion. Si l'opération réussit, recherchez les anomalies spécifiques à votre méthode d'ingestion initiale.

      Remarque

      Pour plus de détails sur la configuration de l'ingestion avec OBS, consultez la rubrique Outil d'ingestion OBS.

      Si d'autres outils fonctionnent correctement, le problème réside dans la configuration de votre client. Comparez les paramètres, identifiez les divergences et ajustez-les en conséquence.

  • Non-compliant audio and video encoding

    ApsaraVideo Live exige l'utilisation du format H.264 for video streams et du format Advanced Audio Coding (AAC) for audio streams. Assurez-vous que vos formats d'encodage respectent ces exigences. Dans le cas contraire, des problèmes peuvent survenir selon les protocoles de diffusion utilisés.

    Utilisez la commande ffmpeg suivante pour vérifier le format d'encodage du flux.

    ffmpeg -i rtmp://[$Your_Domain]/[$App_Name]/[$Stream_Name]
    • [$Your_Domain] : votre domaine d'ingestion.

    • [$App_Name] : l'AppName figurant dans l'URL d'ingestion.

    • [$Stream_Name] : le StreamName figurant dans l'URL d'ingestion.

    Confirmez que le format d'encodage de votre flux répond aux exigences spécifiées.

    D:\Common Tools\ffmpeg\bin>ffmpeg -i rtmp://xxx/AppName/StreamName
    ffmpeg version N-79143-g8ff0f6a Copyright (c) 2000-2016 the FFmpeg developers
    built with gcc 5.3.0 (GCC)
    configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-av
    isynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --ena
    ble-iconv --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca
    --enable-libdcadec --enable-libfreetype --enable-libgme --enable-libgsm --enabl
    e-libilbc --enable-libmodplug --enable-libmfx --enable-libmp3lame --enable-libopenc
    ore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --ena
    ble-librtmp --enable-libschroedinger --enable-libsnappy --enable-libsoxr --enabl
    e-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-l
    ibvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-lib
    webp --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enab
    le-libzing --enable-lzma --enable-decklink --enable-zlib
      libavutil      55. 19.100 / 55. 19.100
      libavcodec     57. 30.100 / 57. 30.100
      libavformat    57. 29.101 / 57. 29.101
      libavdevice    57.  0.101 /  57.  0.101
      libavfilter     6. 40.102 /  6. 40.102
      libswscale      4.  0.100 /  4.  0.100
      libswresample   2.  0.101 /  2.  0.101
      libpostproc    54.  0.100 / 54.  0.100
    Metadata:
      Server          Tengine
      width           720.00
      height          540.00
      displayWidth    720.00
      displayHeight   540.00
      duration        0.00
      framerate       24.00
      videodatarate   300.00
      videocodecid    7.00
      audiodatarate   62.00
      audiocodecid    10.00
      via             liveproxy010182174197.eu6,livesource010182170179.eu6,liv
    esource010182170179.eu6,liveproxy010182169150.eu6,cache13.l2nu17-1[328,75,444,MI
    SS],cache19.l2nu17-1[444,-1,655,MISS],cache7.cn396[713,52,805,MISS],cache6.cn396
    [805,2,1006,MISS]
      begints         23258.00
      alilive_streamid  dc xxx.cn/AppName/StreamName
      videocodecreal  0.00
      key_ts:
    Input #0, flv, from 'rtmp://dc xxx.cn/AppName/StreamName':
      Metadata:
        Server          : Tengine
        displayWidth    : 720
        displayHeight   : 540
        fps             : 24
        profile         :
        level           :
        via             : liveproxy010182174197.eu6,livesource010182170179.eu6,lives
    ource010182170179.eu6,liveproxy010182169150.eu6,cache13.l2nu17-1[328,75,444,MISS
    ],cache19.l2nu17-1[444,-1,655,MISS],cache7.cn396[713,52,805,MISS],cache6.cn396[8
    05,2,1006,MISS]
        begints         : 23258
        alilive_streamid: dc xxx.cn/AppName/StreamName
        videocodecreal  : 0
      Duration: 00:00:00.00, start: 20.843000, bitrate: N/A
        Stream #0:0: Video: h264 (High), yuv420p, 720x540 [SAR 1:1 DAR 4:3], 307 kb/
    s, 24.42 fps, 24 tbr, 1k tbn, 48 tbc
        Stream #0:1: Audio: aac (LC), 22050 Hz, stereo, fltp, 63 kb/s
  • Concurrent ingest limit reached

    Le service ApsaraVideo Live impose des limites sur le nombre de domaines live par utilisateur et sur le nombre de flux d'ingestion simultanés pour un domaine donné. Un seul compte peut créer jusqu'à 20 domaines live. Si le centre live se trouve à Pékin, Shanghai ou Shenzhen, chaque nom de domaine accéléré prend en charge par défaut jusqu'à 300 flux live originaux (non transcodés) simultanés. Chaque domaine live est limité à 300 flux d'ingestion simultanés. Pour les autres centres live, chaque nom de domaine accéléré prend en charge par défaut jusqu'à 50 flux live originaux (non transcodés) simultanés. Si le nombre de flux d'ingestion simultanés dépasse cette limite, l'opération échoue.

    Par ailleurs, si le transcodage en temps réel est configuré pour l'AppName et que le centre live est situé à Pékin, Shanghai ou Shenzhen, chaque domaine prend en charge jusqu'à 300 flux transcodés simultanés. Cela signifie qu'un domaine unique peut diffuser au maximum 300 flux transcodés en même temps. Pour les autres centres live, chaque domaine prend en charge jusqu'à 50 flux transcodés simultanés. Le dépassement de cette limite entraîne l'échec de l'ingestion.

    Pour consulter le nombre actuel de flux d'ingestion simultanés, reportez-vous à la rubrique Gérer les flux live.

    Remarque

    Pour en savoir plus sur les limites d'ingestion de flux et sur la procédure pour les augmenter, consultez la rubrique Limites.

  • Stream Ingest Is Disabled for This Live Stream

    ApsaraVideo Live vous permet de désactiver l'ingestion de flux pour une paire AppName et StreamName spécifique. Si une URL d'ingestion figure sur la liste noire, l'opération échoue. En cas d'échec, vérifiez que l'URL d'ingestion n'est pas bloquée.

    • Consultez la page Flux de la console pour déterminer si le flux live est bloqué. Pour plus d'informations, voir Gérer les flux live.

    • Appelez l'opération DescribeLiveStreamsBlockList afin de récupérer les informations relatives aux flux live bloqués pour un domaine spécifique.

    Pour reprendre la diffusion du flux live :

    • Sur la page Flux de la console, cliquez sur Streams dans la ligne correspondant au flux live cible.

    • Appelez l'opération ResumeLiveStream pour reprendre la diffusion du flux live.

  • Streams

    Une fois l'authentification activée, les URL d'ingestion et de lecture du domaine doivent toutes deux inclure le paramètre auth_key. L'ingestion échoue si le paramètre d'authentification a expiré ou si la signature est incorrecte. Pour plus de détails, consultez la rubrique Authentification des URL d'ingestion et de lecture.

  • Enable

    Le client d'ingestion transmet le flux live au centre live via le protocole RTMP. Tout problème survenant sur ce trajet réseau peut provoquer l'échec de l'ingestion. Commencez par vérifier les deux points suivants :

    • Depuis le client d'ingestion, exécutez un ping sur l'URL d'ingestion afin de détecter d'éventuelles pertes de paquets. Si des pertes sont constatées, contactez votre fournisseur d'accès Internet pour investigation.

    • Depuis le client d'ingestion, utilisez la commande telnet pour tester la connectivité vers le port 1935 du domaine d'ingestion. En cas d'échec de connexion, effectuez le test depuis un autre environnement réseau afin de déterminer si le problème provient de votre réseau local.

  • Authentication failed

    L'ingestion cliente ajoute deux horodatages à chaque trame vidéo et audio : l'horodatage de présentation (pkt_pts) et l'horodatage de décodage (pkt_dts). Utilisez la commande ffprobe pour les afficher. Par exemple : ffprobe -show_frames rtmp://live.zhibotest.com/AppName/StreamName. Voici un exemple de résultat :

    Si l'horodatage pkt_pts ou pkt_dts (en millisecondes) dépasse 31 bits lors de sa conversion binaire, des problèmes d'incompatibilité client peuvent survenir. Les champs width et height indiquent la résolution vidéo. Le champ pict_type indique le type de trame (les trames vidéo sont classées en B, P ou I ; seule la vidéo possède cette propriété).

    [/FRAME]
    [FRAME]
    media_type=video
    stream_index=1
    key_frame=0
    pkt_pts=100766
    pkt_pts_time=100.766000
    pkt_dts=100766
    pkt_dts_time=100.766000
    best_effort_timestamp=100766
    best_effort_timestamp_time=100.766000
    pkt_duration=33
    pkt_duration_time=0.033000
    pkt_pos=255797
    pkt_size=10406
    width=1280
    height=720
    pix_fmt=yuv420p
    sample_aspect_ratio=N/A
    pict_type=B
    coded_picture_number=23
    display_picture_number=0
    interlaced_frame=0
    top_field_first=0
    repeat_pict=0
    color_range=unknown
    color_space=unknown
    color_primaries=unknown
    color_transfer=unknown
    chroma_location=left
    [/FRAME]
    [FRAME]
    media_type=audio

    L'horodatage peut être converti en valeur binaire. S'il dépasse 24 bits, vérifiez côté client d'ingestion si une trame vidéo excède la taille maximale et contient plusieurs fragments (chunks). Le cas échéant, modifiez le client d'ingestion afin d'Network error. Vous pouvez également résoudre le problème en forçant une valeur pts plus petite.

  • Ingest timestamp uses an extension field

    Si aucune des méthodes précédentes ne résout le problème, soumettez un ticket. Pour savoir comment procéder, consultez la rubrique Nous contacter. Fournissez les informations suivantes afin que nos ingénieurs du support technique puissent vous aider :

    • URL d'ingestion et URL de lecture.

    • Méthode d'ingestion, incluant l'outil utilisé et la procédure suivie.

    • Message d'erreur affiché sur le client d'ingestion lors de l'échec.

    • Capture d'écran du résultat du ping vers l'adresse IP du domaine d'ingestion.

    • Capture d'écran du résultat de la tentative de connexion telnet au port 1935 du domaine d'ingestion.