Quelqu'un connaît-il des API (prototype) C# pour convertir la vidéo au nouveau format vidéo WebM de Google?API pour la conversion vidéo webm
9
A
Répondre
8
Une recherche rapide sur google indique: non. Mais le example encoder semble qu'il devrait être facilement traduisible en C# en utilisant P/Invoke. Le Encoder Algorithm Interface semble assez maniable. Et il y a toujours C++/CLI si tout le reste échoue. Qui lance le projet de codeplex? :-)
Mise à jour: A partir de maintenant, il existe un prototype de travail .NET rudimentaire et rudimentaire. Ici, vous allez:
#include "vpx_codec.h"
#define VPX_CODEC_DISABLE_COMPAT 1
#include "vpx_encoder.h"
#include "vp8cx.h"
#define vp8iface (&vpx_codec_vp8_cx_algo)
using namespace System;
namespace WebM
{
namespace VP8
{
namespace Native
{
public ref class VP8Codec
{
private:
vpx_codec_ctx_t* ctx;
VP8Codec(vpx_codec_ctx_t* ctx)
{
this->ctx = ctx;
}
public:
~VP8Codec()
{
vpx_codec_destroy(ctx);
delete ctx;
}
property String^ LastError
{
String^ get()
{
return gcnew String(vpx_codec_error(ctx));
}
}
property String^ LastErrorDetail
{
String^ get()
{
return gcnew String(vpx_codec_error_detail(ctx));
}
}
int Encode()
{
// TODO: do actual encoding
return
vpx_codec_encode(ctx, NULL, 0, 1, 0, VPX_DL_REALTIME);
}
static VP8Codec^ CreateEncoder() // TODO: add 'config' argument
{
vpx_codec_ctx_t* ctx;
vpx_codec_enc_cfg_t cfg;
if(vpx_codec_enc_config_default(vp8iface, &cfg, 0))
{
return nullptr; // TODO: throw exception
}
ctx = new vpx_codec_ctx_t;
if (vpx_codec_enc_init(ctx, vp8iface, &cfg, 0))
{
delete ctx;
return nullptr; // TODO: throw exception
}
return gcnew VP8Codec(ctx);
}
static property int Version
{
int get()
{
return vpx_codec_version();
}
}
static property String^ VersionString
{
String^ get()
{
return gcnew String(vpx_codec_version_str());
}
}
static property String^ BuildConfig
{
String^ get()
{
return gcnew String(vpx_codec_build_config());
}
}
static String^ GetErrorDescription(int errorCode)
{
return gcnew String(
vpx_codec_err_to_string((vpx_codec_err_t)errorCode));
}
static property String^ IfaceName
{
String^ get()
{
return gcnew String(vpx_codec_iface_name(vp8iface));
}
}
};
}
}
}
Vous devriez être en mesure de lier cette contre vpxmtd.lib du libvpx Windows build. Je n'ai pas réussi à me débarrasser d'un avertissement, mais jusqu'à présent cela semble fonctionner. Mon C++/CLI est un peu rouillé, cependant, il peut y avoir des fuites de mémoire dans le code.
Programme de test:
namespace WebM.VP8
{
using System;
using WebM.VP8.Native;
public class Program
{
public static void Main()
{
using (var encoder = VP8Codec.CreateEncoder())
{
Console.WriteLine(encoder.Encode());
}
}
}
}
Questions connexes
- 1. lecteur webm/vp8 pour java
- 2. conversion vidéo en C#
- 3. Conversion vidéo incohérente
- 4. vidéo iphone API
- 5. iPhone: API d'enregistreur vidéo?
- 6. Conversion vidéo simple pour un client ignorant la technologie
- 7. API Word: empêcher la conversion du fichier
- 8. Facebook ancienne API Télécharger vidéo
- 9. Y a-t-il un wrapper WebM libvpx .Net?
- 10. xe.com conversion de devises api
- 11. ffmpeg (WebM) ne respecte pas le bitrate
- 12. Lecteur vidéo pour le site
- 13. Conversion de codes vidéo Google en titres vidéo
- 14. streaming « proxy » conversion de formats vidéo
- 15. Conserver les proportions lors de la conversion de vidéo? - FFmpeg
- 16. API YouTube: option de confidentialité vidéo
- 17. Lors de la conversion .mov en .flv vidéo joue horizontalement
- 18. Une bonne API de vidéo musicale?
- 19. API d'enregistrement vidéo dans iPhone SDK 3.0
- 20. Outil d'édition vidéo non linéaire/API?
- 21. Youtube API Problème - Impossible de voir la vidéo
- 22. Carte de capture vidéo USB avec API
- 23. Couche de conversion API MSSQL vers MySQL
- 24. Pour enregistrer la vidéo enregistrée
- 25. Quel cadre de travail je dois utiliser pour la conversion de format vidéo
- 26. joindre la vidéo et la musique pour former un fichier vidéo
- 27. Youtube RSS Feed pour afficher la vidéo la plus populaire?
- 28. API pour afficher la vidéo et les éléments de dessin 2D
- 29. Y a-t-il un framework ou une API de cacao pour jouer de la vidéo?
- 30. embed vs lecteur vidéo flash pour afficher la vidéo
Très utile. Merci beaucoup. –
salut! Comment avez-vous ajouté la référence .lib au projet? quand j'essaie d'ajouter une référence dans vs2010, il ne prend pas de paquets .lib: s –
quelqu'un à la maison? :) –