0

Je suis en train d'encoder des fichiers multimédias à utiliser pour HTTP Live Streaming, mais n'ont pas beaucoup de chance jusqu'à présent. Quand je les utilise ICodec.ID.CODEC_ID_MPEG2TS ou codes ICodec.ID.CODEC_ID_MPEG4 le encodent de flux mais je reçois une erreur en utilisant l'outil de validation d'Apple:Essayer d'encoder en utilisant H264 pour HTTP Live Streaming

ERROR: (-12971) MPEG2 parser corrupt stream (program 1, track 257) ERROR: (-12971) failed to parse segment as either an MPEG-2 TS or an ES

Si je les enregistrer comme .mp4 au lieu de .ts ils jouent dans Quicktime (mais pas aussi .ts)

Si je ICodec.ID.CODEC_ID_H264 je reçois l'erreur suivante lors de l'encodage:

java.lang.RuntimeException: could not open stream [email protected][index:0;id:1;streamcoder:[email protected][[email protected][type=CODEC_TYPE_VIDEO;id=CODEC_ID_H264;name=libx264;];time base=1/25;frame rate=0/0;pixel type=YUV420P;width=640;height=360;];framerate:0/0;timebase:1/90000;direction:OUTBOUND;]: Operation not permitted

Je les paramètres suivants pour l'encodeur:

 coderSettings.width = 640; 
     coderSettings.height = 360; 
     coderSettings.bitRate = 700000; 
     coderSettings.codec = ICodec.ID.CODEC_ID_H264; 
     coderSettings.globalQuality = 75; 
     coderSettings.sampleRate = 22050; 

Je me demande si je fais quelque chose de mal. Je ne connais pas beaucoup de codage vidéo, donc peut-être juste oublié une option simple en essayant d'encoder en H264.

Répondre

1

Le problème est résolu avec la nouvelle version de Xuggler 5.5. Cependant, il semble qu'il ait utilisé l'encodeur mpeg2ts même en spécifiant l'encodeur H264 (sur la base de l'extension). Cela donne des problèmes avec les appareils QT et iOS.

Avec l'aide de FFMPEG directement, il pourrait fonctionne un peu mieux car il n'y a plus de contrôle.

0

Est-ce que xuggler est une exigence? Sinon, il est possible de préparer les assets en utilisant ffmpeg (la base de xuggler), par exemple avec these instructions.

+0

Merci, je pourrais, mais en utilisant Xuggler je peux le segment à la volée et aussi assurer un meilleur suivi des progrès de codage. –

+0

Les nouvelles versions de ffmpeg peuvent segmenter à la volée, mais je suis sûr que vous avez raison de dire qu'il est plus facile de suivre la progression de l'encodage avec Xuggler. – vipw

+0

Savez-vous réellement quelle version supporte cela? J'ai vérifié le SVN et construire, mais les options de segment sont inconnues. Je suis plus ou moins ému d'utiliser FFMPEG directement après tout, car Xuggler semble être très compliqué à faire EXACTEMENT ce que vous voulez en matière d'encodeur. –

Questions connexes