Es Ágora.io Cloud ¿Registrando el código Python hasta la fecha?

Para llamar a los puntos finales de grabación de Agora.io hay algunos recursos en la documentación Agora.io. Uno de ellos es a través de una colección de correos/ambiente como en este blog post, y también hay un muestra Código Python donde llenas algunas variables, y el script hace todas las peticiones por sí mismo.

Probé ese código de Python mientras recibí una llamada conmigo mismo. esta aplicación web demo que ya implementa Agora.io SDK. Este te pide APPID, TOKEN, CHANNEL y UID.

Sin embargo, el resultado es que tanto la adquisición como el inicio van bien (tienen código de respuesta 200, devolviendo el resourceId y luego el sid), pero la consulta, ajusteLayout, y las llamadas de stop devuelven un 404. Hay un documentación específica Preguntas frecuentes sobre este 404Pero debuqué todos los pasos y no pude solucionar el problema.

La forma en que llené las variables en Python es la siguiente:

  • APPID: este es fácil de conseguir.
  • Utilicé un fragmento de pitón para este: "Basic " + base64.b64encode( (CUSTOMERID + ":" + - CUSTOMERCERTIFICATE).encode('ascii') ).decode('ascii') y confío en esto desde que cambiar algo hace que devuelva un error de austeridad.
  • Cname: Usé "hello" como nombre de canal, y también lo usé en la aplicación de demostración web.
  • ACCESS_KEY, SECRET_KEY, VENDOR, REGION: He utilizado un cubo de Amazon S3 para esto, y confío en que estos se establecen correctamente porque ya he utilizado los mismos valores para subir archivos de otro script, y funcionó bien.
  • BUCKET: Este no estoy seguro de que esté lleno correctamente, pero traté con el nombre normal "mis-experimentos", el ARN (Amazon Resource Name), e incluso la URL del cubo.

También el código UID Python utiliza 123, intenté combinar y no emparejar este parámetro en la llamada en la aplicación demo, pero ninguno funcionó, y ya comprobé con gotchas más obvias como encender Cloud Recording desde el panel del proyecto.

Todo esto me hace creer que este código de muestra Python podría estar ligeramente fuera de la fecha (tal vez recordingConfig), aunque vale la pena mencionar que las colecciones de Postman no funcionan para mí ni después de llenar los valores de una manera similar, así que también podría ser el caso de que estoy haciendo algo mal, pero no tengo idea como he probado la mayoría de las opciones.

Muchas gracias.

EDIT: Así se ve el cuerpo de las llamadas:

Adquirir:

{
  "cname": "{{AccessChannel}}",
  "uid": "{{RecordingUID}}",
  "clientRequest":{
  }
}

Comienzo:

{
    "cname":"{{AccessChannel}}",
    "uid":"{{RecordingUID}}",
    "clientRequest":{
        "token":"{{token}}",
        "recordingConfig":{
            "maxIdleTime":120,
            "streamTypes":2,
            "audioProfile":1,
            "channelType":1,
            "videoStreamType":0,
            "transcodingConfig":{
                "width":360,
                "height":640,
                "fps":30,
                "bitrate":600,
                "mixedVideoLayout":1,
                "maxResolutionUid":"1"
            }
        },
        "storageConfig":{
            "vendor":{{Vendor}},
            "region":{{Region}},
            "bucket":"{{Bucket}}",
            "accessKey":"{{AccessKey}}",
            "secretKey":"{{SecretKey}}"
        }   
    }
}

Estos son los valores que llenan esas variables, los rectángulos negros son para proteger los valores secretos allí.

Pregunta hecha hace 3 años, 4 meses, 29 días - Por compilerchieftain


2 Respuestas:

  • En el código que proporcionas, parece que estás teniendo problemas con las llamadas de API que devuelven un error 404. Hay algunas posibles razones por las cuales estás experimentando este problema.

    A continuación, te doy algunas sugerencias que podrían ayudarte a solucionar el problema:

    • Verifica la configuración del cubo de Amazon S3: Asegúrate de que la configuración del cubo de Amazon S3 que estás utilizando en el script Python sea correcta. Verifica que el ARN, el nombre del cubo y las credenciales de acceso estén configuradas adecuadamente.
    • Revisa las credenciales de acceso: Asegúrate de que las credenciales de acceso al cubo de Amazon S3 (ACCESS_KEY y SECRET_KEY) estén configuradas correctamente y tengan los permisos necesarios para realizar operaciones de escritura en el cubo.
    • Valida el UID: Asegúrate de que el UID que estás utilizando en la llamada de inicio del script Python coincida con el UID que estás utilizando en la aplicación web demo de Agora.io.
    • Verifica la configuración de grabación: Revisa la configuración de grabación que estás pasando en el cuerpo de la llamada de inicio. Asegúrate de que los parámetros como maxIdleTime, streamTypes, audioProfile, entre otros, estén configurados correctamente.
    • Actualización del código de muestra: Considera revisar la documentación actualizada de Agora.io para ver si ha habido alguna actualización en el código de muestra de Python o en los parámetros requeridos para las llamadas de API.
    • Debugging a través de la consola: Intenta imprimir o hacer logging de los valores de las variables utilizadas en el script para asegurarte de que estén siendo pasadas correctamente en las llamadas de API.

    Espero que estas sugerencias te ayuden a identificar y resolver el problema que estás experimentando con las llamadas de API de Agora.io en Python. Si necesitas más ayuda, no dudes en preguntar. ¡Buena suerte!

    Respondida el Dec 19, 2020 a las 12:02 - por Gpt

    Votos positivos: 0 | Votos negativos: 0

  • Posibles problemas y soluciones:

    1. Credenciales incorrectas

    Verifica que las credenciales de acceso y secretKey sean correctas. Asegúrate de que el cubo S3 tenga los permisos adecuados para que Agora.io acceda a él.

    2. Nombre de canal incorrecto

    Compara el nombre de canal utilizado en el código Python con el utilizado en la aplicación demo. Los nombres de los canales deben coincidir.

    3. Bucket incorrecto

    Confirma que el nombre del bucket especificado en el código Python exista en Amazon S3. Intenta utilizar el ARN o la URL del bucket en lugar del nombre normal.

    4. UID no emparejado

    Verifica que el UID utilizado en el código Python coincida con el UID utilizado en la aplicación demo.

    5. Región incorrecta

    Comprueba que la región especificada en el código Python coincida con la región del bucket S3.

    6. Grabación en la nube desactivada

    Asegúrate de que la grabación en la nube esté habilitada en el panel de control del proyecto Agora.io.

    7. Código de muestra desactualizado

    Es posible que el código de muestra de Python esté desactualizado. Consulta la última documentación de Agora.io para obtener el código más reciente.

    8. Problemas de conexión

    Comprueba tu conexión a Internet y asegúrate de que los servidores de Agora.io estén disponibles.

    9. Dependencias de Python

    Asegúrate de que tengas instaladas todas las dependencias necesarias de Python, como la biblioteca requests.

    Consejos adicionales:

    Utiliza un depurador como pdb o ipdb para verificar el estado del código y los valores de las variables. Intenta realizar llamadas de API utilizando Postman o REST Client para aislar el problema del código Python. Ponte en contacto con el equipo de soporte de Agora.io para obtener asistencia adicional.

    Respondida el Dec 19, 2020 a las 12:09 - por Gemini

    Votos positivos: 0 | Votos negativos: 0