Video kodlama çözümlerinde en önemli konular, çözümler ve kullanıcılar / geliştiriciler arasında iyi belgelenmiştir. Çözümleri daha kullanışlı hale getirmek için bu belgeyi hazırladık.
Bu belge, kodlama işlerinin Erlab Teknoloji VideoBulut API'si aracılığıyla anlaşılmasını sağlar. İlk işleminize , sınırlı kullanım için ücretsiz olan VideoBulut portalı üzerinden VideoBulut API'leri ile deneyimleyebilirsiniz. VideoBulut hesabı,uygulama kimlik bilgileri ve kimlik doğrulama için API Anahtarını içerir.
"APIKey" tag tüm kullanıcı tabanlı talepler için zorunludur ve bu API anahtarı, API hizmetlerimizin sistem kimlik doğrulaması için kullanılacaktır.
APIKey | User’s unique API key for authentication |
Hizmetimizin iki uç nokta adresi vardır, bunlardan birini uygulamalarınızın gereksinimlerine göre kullanabilirsiniz.
Kullanıcı dili olarak XML veya JSON , hem müşteri istekleri hem de sunucu yanıtları için kabul edilen yöntemlerdir.
Müşteri, XML veya JSON formatındaki istekleri gönderir, sunucu da aynı şekilde yanıt verir. Bu adresi, api uygulamamızla VideoBulut'a request göndermek için kullanabilirsiniz:
http://api.videobulut.com/Cloud
Bu ikinci adresi VideoBulut Hizmetine uygun WCF uygulamalarıyla request göndermek için kullanabilirsiniz, bu SVC adresi, VideoBulut API’nin İnternet Bilgi Servisleri sunucularımız tarafından barındırılan bir hizmeti temsil eder:
Talep üzerine video (ekran) (VOD), kullanıcıların belirli bir yayın zamanında izlemek zorunda kalmak yerine, diledikleri zamanda video veya ses içeriği seçmelerini ve izlemelerini sağlayan sistemlerdir. IPTV teknolojisi genellikle televizyonlara ve kişisel bilgisayarlara talep üzerine video getirmek için kullanılır. Televizyon VOD sistemleri, alıcıları bir set üstü kutu, bilgisayar veya başka bir cihaz üzerinden gerçek zamanlı olarak izlemeye izin verebilir.Bilgisayar, dijital video kaydedici (kişisel video kaydedici olarak da adlandırılır) veya taşınabilir bir cihaza indirebilir böylece medya oynatıcıdan VOD olarak görüntülenebilir.
Kablo ve telekomünikasyon tabanlı televizyon sağlayıcılarının çoğunluğu, izleme başına ödeme ve ücretsiz içerik dahil olmak üzere hem VOD akışını sunar, böylece bir kullanıcı bir film veya televizyon programı satın alır/seçer ve neredeyse anında televizyonda oynatılmaya başlar Bir diğer alternatif olarak gelecekte görüntülemek için sağlayıcıdan kiralanmış bir DVR'a indirme veya bir PC'ye indirme şeklindedir. İnterneti kullanan televizyon, VOD yöntemi için popüler bir video biçimidir. VOD'a iTunes gibi masaüstü istemci uygulamaları aracılığıyla da erişilebilir. Bazı havayolları, koltuk arkalığı veya kol dayama yerlerine yerleştirilmiş veya taşınabilir medya oynatıcıları aracılığıyla sunulan, bireysel olarak kontrol edilen video ekranları aracılığıyla yolculara uçuş keyfi olarak VOD sunar. Netflix gibi talep üzerine hizmet veren bazı videolarda, kullanıcıların paketlenmiş bir içeriğe erişmek için aylık bir ücret ödemesini gerektiren bir abonelik modeli kullanılır. Diğer hizmetler, erişimin kullanıcılar için ücretsiz olduğu ve platformların ana gelir akışı olarak reklamları satmaya dayandığı, reklam tabanlı bir model kullanır.
Job, hizmetimizdeki bir medya işleme prosedürüdür. (Bu medya işleme prosedürleri kodludur). Web portalımızdan Job a Başla düğmesine tıkladığınızda veya API hizmetlerimize CreateJob isteği gönderdiğinizde, Job oluşturulur. Kodlama işleminin sonuçlarına göre Jobunuzun durumu hakkında bilgilendirileceksiniz.
Her Job farklıdır - baz Job id si vardır ve parametrelerine göre ücretlendirilir (maliyetleri www.videobulut.com adresinde bulabilirsiniz.) Joblarınızı web portalımızdaki “Job Listesi” bölümünden veya API Servis talepleri ile inceleyebilirsiniz (Lütfen API Belgelerimize bakınız), bu alanlara ilgili her detay bu alana yazılmıştır.
Desteklenen tüm formatlarla (hizmetimizden) Live to Live işlerini, Live to VOD işlerini ve VOD to VOD işlerini yapabilirsiniz. Ayrıca Mpeg2TS çıkış formatları ile VOD - Live formatları oluşturabilirsiniz.
Nadiren, job oluştururken hata mesajları alabilirsiniz. Bu arıza durumlarını mesaj tipine göre halledebilirsiniz:
RESPONSE CODE | DETAIL |
SUCCESS | İşlem Başarılı. |
FAIL | İşlem Başarısız. |
INVALID_OPERATION | Geçersiz işlem denemesi. |
RECORD_ALREADY_EXIST | Kayıt zaten var. |
RECORD_NOT_FOUND | Kayıt bulunamadı. |
RECORD_RELATED_ANOTHER_ENTITY | Başka bir entity ile ilgili kayıt. |
MISSED_DATA | Record hakkında eksik bilgi var. |
UNAUTHORIZED_REQUEST | Bu işlem için izniniz yok. |
SYSTEM_ERROR | Sistem Hatası var. |
ACTIONS_NOTEXIST | Bu istek geçerli değil, servisimizde böyle bir işlem yok. |
ACTION_UNKNOWN | Unknown action request |
ACTION_UNKNOWNTYPE | İşlemde bilinmeyen request parçası var. |
CUSTOMER_MULTIPLECONTACTINFO | Müşterinin birden fazla iletişim adresi var. |
CUSTOMER_MULTIPLEPAYMENTINFO | Müşterinin birden fazla ödeme bilgisi var |
CUSTOMER_PAYMENTINFO_NOTFOUND | Müşterinin ödeme bilgisi yok. |
PAYMENT_WAITINGFORPAYMENT | Payment işlemi, ödeme işleminin tamamlanmasını bekler. |
PAYMENT_INSUFFICIENTFUNDS | Hesabınızın ödeme için kredisi yok. |
PAYMENT_NOTFOUND | Ödeme bulunamadı. |
TICKET_NOT_ENOUGH_QUOTA | Kullanıcınızın ticketı yok. |
JOB_NOT_FOUND | Bu bilgiyle alakalı job yok. |
JOB_ALREADY_RUNNING | Bu job zaten devam ediyor. |
JOB_CANNOT_OPEN_SOURCE | İnput dosyanız / parametreleriniz geçerli değil. |
JOB_UNSUPPORTED_FORMAT | İnput dosyalarınız desteklenmiyor. |
JOB_WRONG_STREAM_DEFINITION | Akış parametreleriniz geçerli değil. |
Preset ID, kodlanmış ortam dosyalarının çıktılarını oluşturmak için önceden tanımlanmış kodlama profilleri veya yapılandırmalarıdır. Konfigürasyonlarınızı kodlama için saklayın ve daha sonra kolayca bu konfigürasyonları kullanın.
"PresetID", "SavePreset" eylemi ile hazır ayarların API Tarafından kaydedilmesi için zorunlu bir kimliktir, diğer gerekli şeyler basit çıktı ayrıntılarıdır (Lütfen belgedeki Çıktılar bölümüne bakın).
Özel preset ayarlarınızı portal bölümünden de kaydedebilirsiniz, çok kolaydır, sistem ön ayarlarımızdan (özelleştirme yapmak istediğiniz) preset ayarınızı seçmeniz ve ön ayarı kaydet düğmesini tıklamanız yeterlidir, "Presetlerim" bölümü altında kaydeder.
XML ve JSON isteklerini kullanan tüm programlama dillerini entegre edebiliriz. Entegrasyon sürelerimiz bildirim hizmetleri ile zenginleştirilmiştir. Müşterilerimiz kendi MAM / CMS uygulamalarını kullanırlarsa, iç işlemlerini bildirim hizmeti yönetimi ile yönetebilir ve etkili kodlama yapabilirler (Örneğin, müşterilerini başvurularını Joblerin yanıtlarına göre ayarlayabilir ve Job verdikten sonra iş çıktılarını yayınlamaya başlayabilirler. “Başarı” mesajı, Bildirimler bölümüne bakabilirsiniz.
C # uygulamaları (WCF servisleri) kullanıyorsanız, tüm sistemimizi uygulamanıza entegre edebilir ve servise daha hızlı adapte olabilirsiniz
Bazı diller için örnek API wrapperları: C #, Visual Basic
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Net;
using System.Text;
using System.Threading.Tasks;
namespace Videobulut
{
public class VideobulutRequestPost
{
static string HttpPost(string vbCloudVideoRequest)
{
System.Net.HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://api.videobulut.com/
Cloud");
request.Method = "POST";
request.ContentType = "application/xml";
request.ContentLength = vbCloudVideoRequest.Length;
request.GetRequestStream().Write(Encoding.UTF8.GetBytes(vbCloudVideoRequest), 0,
vbCloudVideoRequest.Length);
request.GetRequestStream().Close();
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
StreamReader stReader = new StreamReader(response.GetResponseStream(), Encoding.UTF8);
string result = stReader.ReadToEnd();
stReader.Close();
response.Close();
return result;
}
public static void VBCloudVideoMain(string Address)
{
string _xml, vbCloudVideoRequest, APIKey;
//please write your unique apiKey below
APIKey = "*";
//You can write API request to "_xml"
_xml = string.Format(@"
<Request>
<Action>CreateJob</Action>
<APIKey>{0}</APIKey>
<Job>
<Region>ANK</Region>
<Name>C# DENEME</Name>
<Inputs>
<Input>
<Address>{1}</Address>
</Input>
</Inputs>
<Outputs>
<Output>
<PresetID>1</PresetID>
<Address>videobulut://SiK7FCNaAchRpo8Li</Address>
<HLS>
<DRM>
<DrmProvider>NGCloudVideo</DrmProvider>
<DrmType>AES128</DrmType>
</DRM>
</HLS>
</Output>
</Outputs>
</Job>
</Request>
", APIKey, Address);
vbCloudVideoRequest = _xml;
//Format-Beautify Response Text XML
var xmlRespFormattedText = string.Empty;
xmlRespFormattedText = System.Xml.Linq.XDocument.Parse(HttpPost(vbCloudVideoRequest)).ToString();
Console.WriteLine(vbCloudVideoRequest);
Console.WriteLine();
Console.WriteLine(xmlRespFormattedText);
}
static void Main(string[] args)
{
string Address = "https://cdn.videobulut.com/UhKj6Th98MRKs.mp4";//Video address
VBCloudVideoMain(Address);
Console.ReadKey();
}
}
}
?xml>
Imports System
Imports System.IO
Imports System.Net
Imports System.Text
Module VideoBulut
Public Sub Main()
Dim request As WebRequest = WebRequest.Create(“http://api.videobulut.com/Cloud")
request.Method = "POST"
Dim postData As String = "
"
'Dim xml, address, action, result, '
Dim apiKey
'Use your unique APIKey'
apiKey = "*"
postData = postData & "<Request>
" & vbCrLf
postData = postData & "<Action>" & "CreateJob" & "</Action>"
postData = postData & "<APIKey>" & apiKey & "</APIKey>"
postData = postData & "<Job>
" & vbCrLf
postData = postData & "<Name>MyVBClientTestJob</Name>"
postData = postData & "<PresetID>12</PresetID>"
postData = postData & "<Inputs>
<Input>
<Address>
https://cdn.videobulut.com/UhKj6Th98MRKs.mp4>
</Input>
</Address>
</Inputs>"
postData = postData & "
</Job>"
postData = postData & "
</Request>"
Dim byteArray As Byte() = Encoding.UTF8.GetBytes(postData)
request.ContentType = "text/xml"
request.ContentLength = byteArray.Length
Dim dataStream As Stream = request.GetRequestStream()
dataStream.Write(byteArray, 0, byteArray.Length)
dataStream.Close()
Dim vbcloudResponse As WebResponse = request.GetResponse()
'You can see the request and response from server via console'
Console.WriteLine(CType(vbcloudResponse, HttpWebResponse).StatusDescription & vbCrLf)
dataStream = vbcloudResponse.GetResponseStream()
Dim stReader As New StreamReader(dataStream)
Dim vbcloudResponseFromServer As String = stReader.ReadToEnd()
stReader.Close()
dataStream.Close()
vbcloudResponse.Close()
Console.ReadKey()
End Sub
End Module
?xml>
VideoBulut Platform, müşterileri üzerinde servis adresleri ve benzersiz API Anahtarlarınız aracılığıyla kullanabileceğiniz benzersiz ve etkili bir dosya aktarma hizmetine sahiptir. Dosya aktarımının en önemli kısmı yığın boyutudur; dosya aktarım hizmetimiz, dosyaları yığınla alır ve aktarma etkinliği nedeniyle kesilen aktarımların devam etmesi kolay olduğundan, yığının 64 MB'den daha düşük olması gerekir.
Dosya Transfer Servis Adresi:
ANK Region: "http://ts02ank.videobulut.com/FTS/"
Dosya Transfer Medya Servis Adresi:
Job
CreateJob
CreateJob methodu yeni bir job oluşturmanızı sağlar. Oluşturulan Job geriye StreamLink değerini döndürmektedir.
Bu link, oluşturulan Job'ın depolandığı CDN’deki adresi gösterir. Her CreateJob yapıldığında rastgele bir UID üretilir.
Bu UID, Outputs adres yoluna dosya uzantısıyla birlikte eklenerek Job'ın adresini gösterir.
Not:CreateJob kodunu çalıştırırken JSON & XML kodlarında,çıkış dosyanızın bilgileri ile video özelliklerini birlikte
kullanmak isterseniz çıkış dosyanızın bilgilerini (HLS) kod içinde belirtmelisiniz.Örneğin;
<Request>
<Streams>
<OutputStream>
<StreamType>Video </StreamType>
<StreamPID>1 </StreamPID>
<StreamName>Video_250K </StreamName>
<BitRate>250000 </BitRate>
<Width>416 </Width>
<Height>234 </Height>
<VideoCodec>H264_BASELINE </VideoCodec>
<VideoProfileLevel>3.0 </VideoProfileLevel>
<VideoTargetUsage>4 </VideoTargetUsage>
<VideoGOPLength>100 </VideoGOPLength>
<VideoRCMode>None </VideoRCMode>
<VideoEntropyCodingMode>CAVLC </VideoEntropyCodingMode>
<VideoRepeatSPSPPS>false </VideoRepeatSPSPPS>
<VideoDisableSPSPPS>false </VideoDisableSPSPPS>
</OutputStream>
<OutputStream>
<StreamType>Audio </StreamType>
<StreamPID>2 </StreamPID>
<StreamName>Audio_64K </StreamName>
<BitRate>64000 </BitRate>
<AudioSampleRate>44100 kHz </AudioSampleRate>
<AudioChannelLayout>STEREO </AudioChannelLayout>
<AudioCodec>AAC Low Complexity </AudioCodec>
</OutputStream>
</Streams>
<HLS>
<SegmentDelete>false </SegmentDelete>
<AllowCache>false </AllowCache>
<IsSingleFile>false </IsSingleFile>
<AudioOnly>false </AudioOnly>
<NoEndList>false </NoEndList>
<RoundDurations>false </RoundDurations>
<DiscontStart>false </DiscontStart>
</HLS>
"HLS": {
"SegmentDelete": false,
"AllowCache": false,
"IsSingleFile": false,
"AudioOnly": false,
"NoEndList": false,
"RoundDurations": false,
"DiscontStart": false
},
"Streams": [
{
"StreamType": "Video",
"StreamPID": 1,
"StreamName": "Video_250K",
"BitRate": 250000,
"Width": 416,
"Height": 234,
"VideoCodec": "H264_BASELINE",
"VideoProfileLevel": "3.0",
"VideoTargetUsage": 4,
"VideoGOPLength": 100,
"VideoRCMode": "None",
"VideoEntropyCodingMode": "CAVLC",
"VideoIntraRefreshEnableFlag": false,
"VideoRepeatSPSPPS": false,
"VideoDisableSPSPPS": false
},
{
"StreamType": "Audio",
"StreamPID": 2,
"StreamName": "Audio_64K",
"BitRate": 64000,
"AudioSampleRate": "44100 kHz",
"AudioChannelLayout": "STEREO",
"AudioCodec": "AAC Low Complexity"
}]
Method | URL |
---|---|
Post | http://api.videobulut.com/Cloud |
Header
Field | Type | Description |
---|---|---|
Content-Type | String |
application/json application/xml |
Request Body Parameters
Field | Type | Description |
---|---|---|
Action | string | CreateJob |
API Key | String | Kullanıcınız için tanımlanmış olan anahtar |
Job | Object | |
ID | long | Job Unique ID |
IngestDuration | long | Job'ın yüklenme süresi |
InQueueDuration | long | Kuyruk süresi |
DeliveryDuration | long | Job'ın teslim edilme süresi(dk., sn.) |
PresetID | long | Job için oluşturulan Preset ID |
ProcessDuration | long | Job'ın process süresi |
Progress | short | Job tamamlanma yüzdesi |
UserID | int | User Unique ID |
Name | string | Job Name |
StreamLink | string | Cdn erişim adresi |
Region | string | Region Name |
Message | string | Job'ın mevcut durumu hakkında bilgi |
CreateDate | Datetime | Job'ın oluşturulma zamanı |
StartDate | Datetime | Job'ın başlama zamanı |
CompletedDate | DateTime | Job'ın tamamlanma zamanı |
FailedDate | DateTime | Job'ın hataya düşme zamanı |
StopDate | DateTime | Job'ın tamamlandan durdurulmaya |
ScheduleDate | DateTime | Yüklenen içeriğin süresi |
ContentDuration | double | Yüklenen içeriğin süresi |
Job Type | JobType | JobType |
Job Statistic | Object | Job İstatistiği |
CalculatedDuration | long | Job'ın encode süresi |
Capacity | long | Job'ın kapasitesi |
Duration | long | Job'ın süresi |
JobStatistic.OutputStatistics | Object | OutputStatistics |
AudioDuration | long | Video sesinin süresi |
VideoDuration | long | Video Süresi |
Is4K | bool | Is4K |
IsHD | bool | IsHD |
IsHEVC | bool | IsHEVC |
Job State | JobState | Job'ın hataya düşme zamanı |
Job Outputs | Object | Output |
Address | string | Job'ın kaydedildiği adres |
UID | string | UID |
ShortLink | string | NA |
StreamLink | string | Cdn erişim adresi |
DeliveryEndTime | DateTime | Job teslimatın tamamlandığı zaman |
DeliveryStartTime | DateTime | Job'ın teslim edilmesi için başlama zamanı |
IsPackage | bool | NA |
IsPlayOut | bool | NA |
OrderNumber | long | NA |
PresetID | long | Output Preset ID |
DeliveryDuration | long | Output'un yükleme süresi |
Size | long | Job Size |
Progress | short | Output tamamlanma yüzdesi |
Output Streams | Object | OutputStream nesnesi |
ISOLanguageCode | string | Encode dili |
StreamName | string | StreamName |
OutputGroupID | long | OutputGroupID |
VideoVBVInitialDelay | int | |
Width | int | Kullanıcı en fazla video boyutu maksimum 8192p seçilebilir. H264 çıkışını seçerseniz, genişliğiniz 4096 pikselden daha büyük olamaz. |
BitRate | int | 64Kb ile 65000 Kb arasında tanımlanabilir. |
Height | int | Kullanıcı en fazla video boyutu maksimum 8192p seçilebilir. H264 çıkışını seçerseniz, genişliğiniz 4096 pikselden daha büyük olamaz. |
ImageDPI | int | Bir inç karedeki nokta sayısı |
StreamPID | int | StreamPID |
VideoDarHeight | int | NA |
VideoDarWidth | int | NA |
VideoGOPLength | int | Ardışık resimlerin çerçeve uzunluklarının ayarlanması |
VideoIntraQPDelta | int | QP Değer aralığı [-51,51] arasındadır |
VideoIntraRefreshCycleSize | int | 0 ve 1 değerleri yoktur. Sadece başlatılma sırasında geçerlidir |
VideoVBVBufferSize | int | |
VideoIntraRefreshPeriod | int | |
VideoKeyFramesMin | int | 0 ise bir IDR, 1 ise bir IDR ve bir IFrame eklenecek |
VideoMaxBFrame | int | MPEG standartlarında kullanılan video sıkıştırma yöntemi |
VideoMaxBitrate | int | VBR=0 ise bitrate, frame rate, profil ve level hesaplanır |
VideoMaxNumRefFrames | int | DPb maksimum referans |
VideoMaxQPB | short | B frame için maksimum QP [0-51] arasında değer alır |
VideoMaxQPI | short | I frame için maksimum QP [0-51] arasında değer alır |
VideoMaxQPP | short | P frame için maksimum QP [0-51] arasında değer alır |
VideoMinQPB | short | B frame için minimum QP [0-51] arasında değer alır |
VideoMinQPI | short | I frame için minimum QP [0-51] arasında değer alır |
VideoMinQPP | short | P frame için minimum QP [0-51] arasında değer alır |
VideoQPB | short | B frame [0-51] arasında değer alır |
VideoQPI | short | I frame [0-51] arasında değer alır |
VideoQPP | short | P frame [0-51] arasında değer alır |
VideoQuality | short | Video kalite değerleri [0-51] aralığındadır |
VideoRepeatSPSPPS | short | Disables SPS/PPS |
VideoTargetUsage | short | Video'nun kodlanma süresi [1-7] değer alır. Varsayılan değer=4 |
AudioADTSHeader | short | NA |
AudioBitsperSample | short | NA |
VideoIntraRefreshEnableFlag | short | Devre dışı ise resfresh, etkin ise MBs sütununa göre dikey refreshdir. |
VideoDisableSPSPPS | short | Disable SPS/PPS |
VideoEnableBPyramid | short | En az iki tane B frame ayarlandığında kullanılır |
OutputStream AudioChannelLayout | AudioChannels | AudioChannels |
OutputStream VideoRCMode | RCMode | RCMode |
OutputStream AudioCode | AudioCodecs | AudioCodecs |
OutputStream VideoProfileLevel | VideoProfileLevel | VideoProfileLevel |
OutputStream AudioSampleRate | AudioSampleRate | AudioSampleRate |
OutputStream.ImageCodec | ImageCodecs | ImageCodecs |
OutputStream StreamType | StreamType | StreamType |
OutputStream SubtitleCodec | SubtitleCodecs | SubtitleCodecs |
OutputStream VideoCodec | VideoCodecs | VideoCodecs |
OutputStream.VideoColorMatrixCode | VideoColorMatrixCode | VideoColorMatrixCode |
OutputStream VideoEntropyCodingMode | VideoEntropyCodingMode | VideoEntropyCodingMode |
OutputStream VideoGOPOption | VideoGOPOption | VideoGOPOption |
Output.Thumbnail | Object | Thumbnail |
StartTime | long | NA |
EndTime | long | NA |
IsVTT | bool | NA |
MosaicX | short | NA |
Numerator | short | NA |
Denominator | short | NA |
Thumbnail.SelectionType | SelectType | SelectType |
Output.DASH | Object | DASH nesnesi |
GenerateHLSManifes | bool | DASH dosyasında HLS'nin MP4 desteği için bir bildirim dosyası oluşturur |
IsSingleFile | bool | NA |
PreCautionDelay | int | ms(mili saniye) cinsinden gecikme |
SegmentDuration | int | 2-40 sn arasındadır |
SubtitleSegmentDuration | int | Yığın süresi |
TimeShiftSecond | int | 260000 saniyeye kadar ayarlanabilir |
DASH.DRM | Object | OutputDRM |
ContentID | string | ContentID(optional) |
ContentKey | string | ContentKey |
CustomData | string | NA |
IV | string | DRM code(optional) |
KeyID | string | DRM KeyID |
KeySeed | string | NA |
LicenceURL | string | DRM Licence UR |
Policy | string | DRM Policy(optional) |
Provider | DRMProvider | DRMProvider |
OutputDRM DrmType | DRMType | DRMType |
Output DeliveryState | TransferState | TransferState |
Output.HLS | Object | HLS |
AllowCache | bool | Tekrar izlemek için indirilen dosyayı ön bellekte tutar. |
AudioOnly | bool | Ses akışlarını oluşturur [1-16] aralığında değer alır. |
DiscontStart | bool | İşaretlenirse süresiz olarak tekrarlanır. |
IsSingleFile | bool | Tek bir dosya için byte aralık desteği |
NoEndList | bool | Listeyi bitirmeden VOD çıkışı yapar. |
RoundDurations | bool | m3u8 |
SegmentDelete | bool | PlayLİst'ten kaldırıldığında dosyayı sil. |
HLSProtocolVersion | short | HLS byte aralığı |
IFrameStream | short | I-Frame oluşturur. |
SegmentWrap | short | |
PlayListCount | int | NA |
SegmentCount | int | NA |
SegmentDuration | int | 2000-40000 ms aralığındadır |
SegmentStartNumber | int | NA |
PublishURL | string | NA |
HLS.DRM | Object | OutputDRM |
ContentID | string | ContentID |
ContentKey | string | ContentKey |
CustomData | string | |
IV | string | DRM code |
KeyID | string | DRM KeyID |
KeySeed | string | |
LicenceURL | string | DRM Licence URL |
Policy | string | DRM Policy |
OutputDRM.DrmProvide | DRMProvider | DRM Provider |
OutputDRM.DrmType | DRMType | DRMType |
Output.DeliveryState | TransferState | TransferState |
Output.HSS | Object | HSS |
AudioFragmentDuration | int | |
SubtitleFragmentDuration | int | |
VideoFragmentDuration | int | |
HSS.DRM | Object | OutputDRM |
ContentID | string | ContentID |
ContentKey | string | ContentKey |
CustomData | string | |
IV | string | DRM code |
KeyID | string | DRM KeyID |
KeySeed | string | |
LicenceURL | string | DRM Licence URL |
Policy | string | DRM Policy |
Provider | string | DRM Provider |
TrackType | string | TrackType |
OutputDRM.DrmProvide | DRMProvider | DRM Provider |
OutputDRM.DrmType | DRMType | DRMType |
DRM.DRM | Object | OutputDRM |
ContentID | string | ContentID |
ContentKey | string | ContentKey |
CustomData | string | |
IV | string | DRM code |
KeyID | string | DRM KeyID |
KeySeed | string | |
LicenceURL | string | DRM Licence URL |
Policy | string | DRM Policy |
Provider | string | DRM Provider |
TrackType | string | TrackType |
OutputDRM.DrmProvide | DRMProvider | DRM Provider |
OutputDRM.DrmType | DRMType | DRMType |
Output.DeliveryState | TransferState | TransferState |
Output.KeepOrigina | Object | KeepOriginal |
UseSameFileName | bool | |
Output.Metadata | Object | OutputMetadatas |
Album | string | NA |
Author | string | NA |
CopyRight | string | NA |
Description | string | NA |
Title | string | NA |
Output.MP2TS | Object | MP2TS |
BufferSize | int | NA |
MuxRate | int | MP2TS Muxing Quality Rate |
PCRPeriod | int | NA |
TTL | int | NA |
Name | string | Stream Name |
Provider | string | Stream Provider |
Title | string | Stream Title |
Output.MP4 | Object | MP4 |
FastStart | bool | Enable ise çıkışı MP4 olur |
RTPHint | bool | RTP ip ucu ekleme |
MP4.Mp4MuxingType | Mp4MuxingType | Mp4MuxingType |
Job.OutputGroups | Object | OutputGroup nesnesi |
DARDenominator | int | |
DARNumerator | int | |
FrameRateDenominator | int | |
FrameRateNumerator | int | |
TimeOffset | int | |
ID | long | OutputGroup ID |
ISOLangCode | string | Encode dili |
Name | string | OutputGroup Name |
Type | StreamType | StreamType |
OutputGroup.Segment | Object | OutGroupSegments |
Length | long | Dosya uzunluğu |
OutputGroupSegments.Channels | Object | Channels |
Channel | AudioChannels | AudioChannels |
OutputGroupSegments.ResizeMethod | ResizeMethod | ResizeMethod |
OutputGroupSegments.SegmentItem | Object | OutputGroupSegmentsSegmentItem |
AnimationDuration | short | Video canlı kalma süresi |
AudioLevel | string | Encode dili |
ISOLangCode | short | Dosya sesinin yüksekliği |
Rotation | short | Dosyayı döndürme |
InputStreamID | long | InputStreamID |
StartTime | long | Dosyanın başlangıç zamanı |
ChannelID | long | ChannelID |
CropBottom | int | Encode dili |
CropLeft | int | Soldan dosyayı kırpma |
CropRight | int | Sağdan dosyayı kırpma |
CropTop | int | Üstten dosyayı kırpma |
PositionBottom | int | Aşağıdan dosyayı konumlandırma |
PositionLeft | int | Soldan dosyayı konumlandırma |
PositionRight | int | Sağdan dosyayı konumlandırma |
PositionTop | int | Üstten dosyayı konumlandırma |
SladeOnVideoLostActTime | int | |
SladeOnVideoLostInput | string | |
InputUID | string | InputUID |
OutputGroupSegmentsSegmentItem.Texts | Object | Text |
BackgroundColor | long | Text BackgroundColor |
FontColor | long | Text FontColor |
Caption | string | Text Caption |
FontType | string | Text FontType |
FontRotate | short | |
IsTimeCode | bool | |
PositionLeft | int | Text'i sola yasla |
PositionTop | int | Text'i üste konumlandır |
Size | int | Text boyutu |
Text.Animation | TextAnimation | Text Caption |
OutputGroupSegmentsItem.AnimationType | ScreenAnimationType | ScreenAnimationType |
OutputGroupSegmentsSegmentItem.Channels | Object | Channels |
Channel | AudioChannels | AudioChannels |
OutputGroupSegmentsSegmentItem.FillMethod | FillMethod | FillMethod |
OutputGroupSegmentsSegmentItem.FrameRate | EncodeFrameRates | EncoodeFrameRates |
OutputGroupSegmentsSegmentItem.Logos | Object | Logo |
Duration | int | |
Height | int | Logo'nun yüksekliği |
PositionLeft | int | Logo'yu sola yasla |
PositionTop | int | Logo'yu üstte konumlandır |
Width | int | Logo'nun genişliği |
ThreshholdColor | string | |
OutputGroupSegments.Texts | Object | Text |
BackgroundColor | long | Text BackgroundColor |
FontColor | long | Text FontColor |
FontColor | long | Text FontColor |
FontRotate | short | |
FontType | string | Text FontType |
Caption | string | Text Caption |
IsTimeCode | bool | |
PositionLeft | int | Text'i sola yasla |
PositionTop | int | Text'i üste konumlandır |
Text.Size | int | Text boyutu |
Text.Animation | TextAnimation | TextAnimation |
Job.Notify | Object | Notify nesnesi |
Address | string | |
Notify.Event | NotifyEvent | NotifyEvent |
Notify.Format | NotifyFormat | NotifyFormat |
Job.Inputs | Object | Input nesnesi |
Address | string | Dosyanın sistemde bulunduğu adres |
ItemName | string | Yüklenen dosyanan uzantısı ve adı |
LinkedInputUID | string | |
Duration | int | Yüklenen dosyanın uzunlugu(süresi) |
LiveReadTimeout | int | |
OrderNumber | int | |
IngestDuration | long | Dosyanın ne kadar sürede yüklendiği |
ItemSize | long | |
IngestEndTime | DateTime | Yüklenen dosyanın tamamlanma zamanı |
IngestStartTime | DateTime | Yüklenen dosyanın başlama zamanı |
Input.PositionType | Object | ItemPosition |
Progress | short | ItemPosition tamamlanma yüzdesi |
Start | int | |
UID | string | |
Input.Texts | Object | Text |
BackgroundColor | long | Text BackgroundColor |
FontColor | long | Text FontColor |
FontType | string | Text FontType |
Caption | string | Text Caption |
FontRotate | short | |
IsTimeCode | bool | |
PositionLeft | int | Text'i sola yasla |
PositionTop | int | Text'i üste konumlandır |
Size | int | Text boyutu |
Text.Animation | TextAnimation | Text Caption |
Input.ExpiryPolicy | SourceExpiryPolicy | SourceExpiryPolicy |
Input.IngestState | TransferState | TransferState |
Input.ResizeMethod | ResizeMethod | ResizeMethod |
Input.Streams | Object | InputStream |
AspectRatioX | short | |
AspectRatioY | short | |
AudioLevel | short | |
Interlaced | short | |
Duration | long | Dosyanın uzunluğu(süresi) |
Start | long | Başlama zamanı |
Name | string | Dosya Adı |
LinkedInputUIDPID | string | |
Position | string | Position |
ServiceName | string | ServiceName |
Codec | string | Dosyanın hangi formatla yüklendiğini |
Crop | string | Dosyanın kırpılması |
ISOLangCode | string | Encode dili |
FourCC | string | |
ServiceProvider | string | |
OrderID | int | OrderID |
PID | int | Preset Unique ID |
BitsPerSample | int | |
BitRate | int | 64Kb ile 65000 Kb arasında tanımlanabilir |
FrameRateDenominator | int | |
FrameSize | int | |
FrameTime | int | |
Height | int | Pencere yüksekliği |
ProgramID | int | ProgramID |
TimeOffset | int | |
Width | bool | Pencere genişliği |
InputStream.Channels | AudioChannels | AudioChannels |
InputStream.CropFillMethod | FillMethod | FillMethod |
InputStream.DeInterlacedMode | DeInterlaceMode | DeInterlaceMode |
InputStream.PositionType | Object | ItemPosition |
Progress | short | Tamamlanma yüzdesi |
Start | int | Başlama zamanı |
UID | string | UID |
InputStream.SampleRate | AudioSampleRate | AudioSampleRate |
InputStream.StreamType | StreamType | StreamType |
Input.Texts | Object | Text |
BackgroundColor | long | Text BackgroundColor |
FontColor | long | Text FontColor |
Caption | string | Text Caption |
FontType | string | Text FontType |
FontRotate | short | |
IsTimeCode | bool | |
PositionLeft | int | Text'i sola yasla |
PositionTop | int | Text'i üste konumlandır |
Size | int | Text boyutu |
Text.Animation | TextAnimation | Text Caption |
Job.History | Object | JobHistory |
Detail | string | Status'un detaylı açıklanmasıdır |
ErrorCode | int | Hata olması durumunda ErrorCode üretilir |
Time | DateTime | Dosya bu status'teki mevcut zamanını gösterir |
JobHistory.Status | JobState | JobState |
Sample Request
<Request>
<Action>CreateJob</Action>
<APIKey>"apiKey"</APIKey>
<Job>
<Name>CreateJobSample</Name>
<Region>ANK</Region>
<Inputs>
<Input />
<Address>http://www.videobulut.com/sample/NgVideo.mp4</Address>
</Input>
</Inputs>
<Outputs>
<Output>
<Address>videobulut://</Address>
<Streams>
<OutputStream>
<StreamType>Video</StreamType>
<StreamPID>1</StreamPID>
<StreamName>Video_250K</StreamName>
<BitRate>250000</BitRate>
<Width>416</Width>
<Height>234</Height>
<VideoCodec>H264_BASELINE</VideoCodec>
<VideoProfileLevel>3.0</VideoProfileLevel>
<VideoTargetUsage>4</VideoTargetUsage>
<VideoGOPLength>100</VideoGOPLength>
<VideoRCMode>None</VideoRCMode>
<VideoEntropyCodingMode>CAVLC</VideoEntropyCodingMode>
<VideoIntraRefreshEnableFlag>false</VideoIntraRefreshEnableFlag>
<ideoRepeatSPSPPS>false</ideoRepeatSPSPPS>
<VideoDisableSPSPPS>false</VideoDisableSPSPPS>
</OutputStream>
<OutputStream>
<StreamType>Audio</StreamType>
<StreamPID>2</StreamPID>
<StreamName>Audio_64K</StreamName>
<BitRate>64000</BitRate>
<AudioSampleRate>44100 kHz</AudioSampleRate>
<AudioChannelLayout>STEREO</AudioChannelLayout>
<AudioCodec>AAC Low Complexity</AudioCodec>
</OutputStream>
</Streams>
<HLS>
<SegmentDelete>false</SegmentDelete>
<AllowCache>false</AllowCache>
<IsSingleFile>false</IsSingleFile>
<AudioOnly>false</AudioOnly>
<NoEndList>false</NoEndList>
<RoundDurations>false</RoundDurations>
<DiscontStart>false</DiscontStart>
</HLS>
</Output>
</Outputs>
</Job>
</Request>
{
"Action": "CreateJob",
"APIKey": ""apiKey"",
"Job": {
"Name": "CreateJobSample",
"Inputs": [
{
"Address": "http://www.videobulut.com/sample/NgVideo.mp4",
"Streams": [
{
"StreamType": "Video",
"PID": 1,
"PositionType": "Frame",
"Duration": "100"
},
{
"StreamType": "Audio",
"PID": 2,
"Duration": "100",
"ISOLangCode": "und"
}
]
}
],
"Outputs": [
{
"Address":"videobulut://",
"HLS": {
"SegmentDelete": false,
"AllowCache": false,
"IsSingleFile": false,
"AudioOnly": false,
"NoEndList": false,
"RoundDurations": false,
"DiscontStart": false
},
"Streams": [
{
"StreamType": "Video",
"StreamPID": 1,
"StreamName": "Video_250K",
"BitRate": 250000,
"Width": 416,
"Height": 234,
"VideoCodec": "H264_BASELINE",
"VideoProfileLevel": "3.0",
"VideoTargetUsage": 4,
"VideoGOPLength": 100,
"VideoRCMode": "None",
"VideoEntropyCodingMode": "CAVLC",
"VideoIntraRefreshEnableFlag": false,
"VideoRepeatSPSPPS": false,
"VideoDisableSPSPPS": false
},
{
"StreamType": "Audio",
"StreamPID": 2,
"StreamName": "Audio_64K",
"BitRate": 64000,
"AudioSampleRate": "44100 kHz",
"AudioChannelLayout": "STEREO",
"AudioCodec": "AAC Low Complexity"
}
]
} ]
} }
Response Parameters
Field | Type | Description |
---|---|---|
Action | string | CreateJob |
StateCode | ServiceResponseCode | ServiceResponseCode |
State | String | State Code'un detaylı açıklamasıdır |
Job | Object | |
ID | long | Job Unique ID |
IngestDuration | long | Job'ın yüklenme süresi |
InQueueDuration | long | Kuyruk süresi |
DeliveryDuration | long | Job'ın teslim edilme süresi(dk., sn.) |
PresetID | long | Job için oluşturulan Preset ID |
ProcessDuration | long | Job'ın process süresi |
Progress | short | Job tamamlanma yüzdesi |
UserID | int | User Unique ID |
Name | string | Job Name |
StreamLink | string | Cdn erişim adresi |
Region | string | Region Name |
Message | string | Job'ın mevcut durumu hakkında bilgi |
CreateDate | Datetime | Job'ın oluşturulma zamanı |
StartDate | Datetime | Job'ın başlama zamanı |
CompletedDate | Datetime | Job'ın tamamlanma zamanı |
FailedDate | Datetime | Job'ın hataya düşme zamanı |
StopDate | Datetime | Job'ın tamamlandan durdurulmaya zorlandığı zaman |
ScheduleDate | Datetime | Job başlama zamanlaması |
ContentDuration | double | Yüklenen içeriğin süresi |
Job | JobType | JobType |
Job.Statistic | Object | JobStatistic |
CalculatedDuration | long | Job'ın encode süresi |
Capacity | long | Job'ın kapasitesi |
Duration | long | Job'ın süresi |
JobStatistic.OutputStatistics | Object | OutputStatistics |
AudioDuration | long | Video sesinin süresi |
VideoDuration | long | Video Süresi |
Is4K | bool | Is4K |
IsHD | bool | IsHD |
IsHEVC | bool | IsHEVC |
Job.State | JobState | JobState |
Job.Outputs | Object | Output |
Address | string | Job'ın kaydedildiği adres |
UID | string | UID |
ShortLink | string | NA |
StreamLink | string | Cdn erişim adresi |
DeliveryEndTime | DateTime | Job teslimatın tamamlandığı zaman |
DeliveryStartTime | DateTime | Job'ın teslim edilmesi için başlama zamanı |
IsPackage | bool | NA |
IsPlayOut | bool | NA |
OrderNumber | long | NA |
PresetID | long | Output Preset ID |
Duration | long | Job'ın süresi |
DeliveryDuration | long | Output'un yükleme süresi |
Size | long | Job Size |
Progress | short | Output tamamlanma yüzdesi |
Output.Streams | Object | OutputStream nesnesi |
ISOLanguageCode | string | Encode dili |
StreamName | string | StreamName |
OutputGroupID | long | OutputGroupID |
VideoVBVInitialDelay | int | |
Width | int | Kullanıcı en fazla video boyutu maksimum 8192p seçilebilir. H264 çıkışını seçerseniz, genişliğiniz 4096 pikselden daha büyük olamaz. |
BitRate | int | 64Kb ile 65000 Kb arasında tanımlanabilir |
Height | int | Kullanıcı en fazla video boyutu maksimum 8192p seçilebilir. H264 çıkışını seçerseniz, genişliğiniz 4096 pikselden daha büyük olamaz. |
ImageDPI | int | Bir inç karedeki nokta sayısı |
StreamPID | int | StreamPID |
VideoDarHeight | int | NA |
VideoDarWidth | int | NA |
VideoGOPLength | int | Ardışık resimlerin çerçeve uzunluklarının ayarlanması |
VideoIntraQPDelta | int | QP Değer aralığı [-51,51] arasındadır |
VideoIntraRefreshCycleSize | int | 0 ve 1 değerleri yoktur. Sadece başlatılma sırasında geçerlidir. |
VideoVBVBufferSize | int | |
VideoIntraRefreshPeriod | int | |
VideoKeyFramesMin | int | 0 ise bir IDR, 1 ise bir IDR ve bir I-Frame eklenecek |
VideoMaxBFrame | int | MPEG standartlarında kullanılan video sıkıştırma yöntemi |
VideoMaxBitrate | int | VBR=0 ise bitrate, frame rate, profil ve level hesaplanır |
VideoMaxNumRefFrames | int | DPb maksimum referans |
VideoMaxQPB | short | B frame için maksimum QP [0-51] arasında değer alır |
VideoMaxQPI | short | I frame için maksimum QP [0-51] arasında değer alır |
VideoMaxQPP | short | P frame için maksimum QP [0-51] arasında değer alır |
VideoMinQPB | short | B frame için minimum QP [0-51] arasında değer alır |
VideoMinQPI | short | I frame için minimum QP [0-51] arasında değer alır |
VideoMinQPP | short | P frame için minimum QP [0-51] arasında değer alır |
VideoQPB | short | B frame [0-51] arasında değer alır |
VideoQPI | short | I frame [0-51] arasında değer alır |
VideoQPP | short | P frame [0-51] arasında değer alır |
VideoQuality | short | Video kalite değerleri [0-51] aralığındadır |
VideoRepeatSPSPPS | short | Disables SPS/PPS |
VideoTargetUsage | short | Video'nun kodlanma süresi [1-7] değer alır. Varsayılan değer=4 |
AudioADTSHeader | short | NA |
AudioBitsperSample | short | NA |
VideoIntraRefreshEnableFlag | short | Devre dışı ise resfresh, etkin ise MBs sütununa göre dikey refreshdir. |
VideoDisableSPSPPS | short | Disable SPS/PPS |
VideoEnableBPyramid | short | En az iki tane B frame ayarlandığında kullanılır |
OutputStream.AudioChannelLayout | AudioChannels | AudioChannels |
OutputStream.VideoRCMod | RCMode | RCMode |
OutputStream.AudioCodec | AudioCodecs | AudioCodecs |
OutputStream.VideoProfileLevel | VideoProfileLevel | VideoProfileLevel |
OutputStream.AudioSampleRate | AudioSampleRate | AudioSampleRate |
OutputStream.ImageCodec | ImageCodecs | ImageCodecs |
OutputStream.StreamType | StreamType | Is4K |
OutputStream.SubtitleCodec | SubtitleCodecs | SubtitleCodecs |
OutputStream.VideoCodec | VideoCodecs | VideoCodecs |
OutputStream.VideoColorMatrixCode | VideoColorMatrixCode | VideoColorMatrixCode |
OutputStream .VideoEntropyCodingMode | VideoEntropyCodingMode | VideoEntropyCodingMode |
OutputStream.VideoGOPOption | VideoGOPOption | VideoGOPOption |
Output.Thumbnail | Object | Thumbnail |
StartTime | long | NA |
EndTime | long | NA |
IsVTT | bool | NA |
MosaicX | short | NA |
MosaicY | short | NA |
Numerator | short | NA |
Denominator | short | NA |
Thumbnail.SelectionType | SelectType | SelectType |
Output.DASH | Object | DASH |
GenerateHLSManifest | bool | DASH dosyasında HLS'nin MP4 desteği için bir bildirim dosyası oluşturur |
IsSingleFile | bool | NA |
PreCautionDelay | int | ms(mili saniye) cinsinden gecikme |
SegmentDuration | int | 2-40 sn arasındadır |
SubtitleSegmentDuration | int | Yığın süresi |
TimeShiftSecond | int | 260000 saniyeye kadar ayarlanabilir |
DASH.DRM | Object | OutputDRM |
ContentID | string | ContentID(optional) |
ContentKey | string | ContentKey |
CustomData | string | NA |
IV | string | DRM code(optional) |
KeyID | string | DRM KeyID |
KeySeed | string | NA |
LicenceURL | string | DRM Licence URL |
Policy | string | DRM Policy(optional) |
Provider | string | DRM Provider(optional) |
TrackType | string | TrackType(optional) |
OutputDRM.DrmProvider | DRMProvider | DRMProvider |
OutputDRM.DrmType | DRMType | DRMType |
Output.DeliveryState | TransferState | TransferState |
Output.HLS | Object | HLS |
AllowCache | bool | Tekrar izlemek için indirilen dosyayı ön bellekte tutar |
AudioOnly | bool | Ses akışlarını oluşturur [1-16] aralığında değer alır |
DiscontStart | bool | İşaretlenirse süresiz olarak tekrarlanır |
IsSingleFile | bool | Tek bir dosya için byte aralık desteği |
NoEndList | bool | Listeyi bitirmeden VOD çıkışı yapar |
RoundDurations | bool | m3u8 |
SegmentDelete | bool | PlayLİst'ten kaldırıldığında dosyayı sil |
HLSProtocolVersion | short | HLS byte aralığ |
IFrameStream | short | I-Frame oluşturur |
SegmentWrap | short | |
PlayListCount | int | NA |
SegmentCount | int | NA |
SegmentDuration | int | 2000-40000 ms aralığındadır |
SegmentStartNumber | int | NA |
PublishURL | string | NA |
HLS.DRM | Object | OutputDRM |
ContentID | string | ContentID |
ContentKey | string | ContentKey |
CustomData | string | |
IV | string | DRM code |
KeyID | string | DRM KeyID |
KeySeed | string | |
LicenceURL | string | DRM Licence URL |
Policy | string | DRM Policy |
Provider | string | DRM Provider |
TrackType | string | TrackType |
OutputDRM.DrmProvider | DRMProvider | DRMProvider |
OutputDRM.DrmType | DRMType | DRMType |
Output.DeliveryState | TransferState | TransferState |
Output.HSS | Object | HSS |
AudioFragmentDuration | int | |
SubtitleFragmentDuration | int | |
VideoFragmentDuration | int | |
HSS.DRM | Object | OutputDRM |
ContentID | string | ContentID |
ContentKey | string | ContentKey |
CustomData | string | |
IV | string | DRM code |
KeyID | string | DRM KeyID |
KeySeed | string | |
LicenceURL | string | DRM Licence URL |
Policy | string | DRM Policy |
Provider | string | DRM Provider |
TrackType | string | TrackType |
OutputDRM.DrmProvider | DRMProvider | DRMProvider |
OutputDRM.DrmType | DRMType | DRMType |
DRM.DRM | Object | OutputDRM |
ContentID | string | ContentID |
ContentKey | string | ContentKey |
CustomData | string | |
IV | string | DRM code |
KeyID | string | DRM KeyID |
KeySeed | string | |
LicenceURL | string | DRM Licence URL |
Policy | string | DRM Policy |
Provider | string | DRM Provider |
TrackType | string | TrackType |
OutputDRM.DrmProvider | DRMProvider | DRMProvider |
OutputDRM.DrmType | DRMType | DRMType |
Output.DeliveryState | TransferState | TransferState |
Output.KeepOriginal | Object | KeepOriginal |
UseSameFileName | bool | |
Output.Metadata | Object | OutputMetadatas |
Album | string | NA |
Author | string | NA |
CopyRight | string | NA |
Description | string | NA |
Title | string | NA |
Output.MP2TS | Object | MP2TS |
BufferSize | int | NA |
MuxRate | int | MP2TS Muxing Quality Rate |
PCRPeriod | int | NA |
TTL | int | NA |
Name | string | Stream Name |
Provider | string | Stream Provider |
Title | string | Stream Title |
Output.MP4 | Object | MP4 |
FastStart | bool | Enable ise çıkışı MP4 olur |
RTPHint | bool | RTP ip ucu ekleme |
MP4.Mp4MuxingType | Mp4MuxingType | Mp4MuxingType |
Job.OutputGroups | Object | OutputGroup |
DARDenominator | int | |
DARNumerator | int | |
FrameRateDenominator | int | |
FrameRateNumerator | int | |
TimeOffset | int | |
ID | long | OutputGroup ID |
ISOLangCode | string | Encode dili |
Name | string | OutputGroup Name |
Type | StreamType | StreamType |
OutputGroup.Segments | Object | OutGroupSegments |
Length | long | Dosya uzunluğu |
OutputGroupSegments.Channels | Object | Channels |
Channel | AudioChannels | AudioChannels |
OutputGroupSegments.ResizeMethod | ResizeMethod | ResizeMethod |
OutputGroupSegments.SegmentItem | Object | OutputGroupSegmentsSegmentItem |
AnimationDuration | short | Video canlı kalma süresi |
AudioLevel | short | Dosya sesinin yüksekliği |
Rotation | short | Dosyayı döndürme |
InputStreamID | long | InputStreamID |
StartTime | long | Dosyanın başlangıç zamanı |
ChannelID | long | ChannelID |
CropBottom | int | Aşağıdan dosyayı kırpma |
CropLeft | int | Soldan dosyayı kırpma |
CropRight | int | Sağdan dosyayı kırpma |
CropTop | int | Üstten dosyayı kırpma |
PositionBottom | int | Aşağıdan dosyayı konumlandırma |
PositionLeft | int | Soldan dosyayı konumlandırma |
PositionRight | int | Sağdan dosyayı konumlandırma |
PositionTop | int | Üstten dosyayı konumlandırma |
SladeOnVideoLostActTime | int | |
SladeOnVideoLostInput | string | |
InputUID | string | InputUID |
OutputGroupSegmentsSegmentItem.Texts | Object | Text |
BackgroundColor | long | Text BackgroundColor |
FontColor | long | Text FontColor |
Caption | string | Text Caption |
FontType | string | Text FontType |
FontRotate | short | |
IsTimeCode | bool | |
PositionLeft | int | Text'i sola yasla |
PositionTop | int | Text'i üste konumlandır |
Size | int | Text boyutu |
Text.Animation | TextAnimation | Text Caption |
OutputGroupSegmentsItem.AnimationType | ScreenAnimationType | ScreenAnimationType |
OutputGroupSegmentsSegmentItem.Channels | Object | Channels |
Channel | AudioChannels | AudioChannels |
OutputGroupSegmentsSegmentItem.FillMethod | FillMethod | FillMethod |
OutputGroupSegmentsSegmentItem.FrameRate | EncodeFrameRates | EncoodeFrameRates |
OutputGroupSegmentsSegmentItem.Logos | Object | Logo |
Duration | int | |
Height | int | Logo'nun yüksekliği |
PositionLeft | int | Logo'yu sola yasla |
PositionTop | int | Logo'yu üstte konumlandır |
Width | int | Logo'nun genişliği |
ThreshholdColor | string | |
OutputGroupSegments.Texts | Object | Text |
BackgroundColor | long | Text BackgroundColor |
FontColor | long | Text FontColor |
FontColor | long | Text FontColor |
FontRotate | short | |
FontType | string | Text FontType |
Caption | string | Text Caption |
IsTimeCode | bool | |
PositionLeft | int | Text'i sola yasla |
PositionTop | int | Text'i üste konumlandır |
Text.Size | int | Text boyutu |
Text.Animation | TextAnimation | TextAnimation |
Job.Notify | Object | Notify nesnesi |
Address | string | |
Notify.Event | NotifyEvent | NotifyEvent |
Notify.Format | NotifyFormat | NotifyFormat |
Job.Inputs | Object | Input nesnesi |
Address | string | Dosyanın sistemde bulunduğu adres |
ItemName | string | Yüklenen dosyanan uzantısı ve adı |
LinkedInputUID | string | |
Duration | int | Yüklenen dosyanın uzunlugu(süresi) |
LiveReadTimeout | int | |
OrderNumber | int | |
IngestDuration | long | Dosyanın ne kadar sürede yüklendiği |
ItemSize | long | |
IngestEndTime | DateTime | Yüklenen dosyanın tamamlanma zamanı |
IngestStartTime | DateTime | Yüklenen dosyanın başlama zamanı |
Input.PositionType | Object | ItemPosition |
Progress | short | ItemPosition tamamlanma yüzdesi |
Start | int | |
UID | string | |
Input.Texts | Object | Text |
BackgroundColor | long | Text BackgroundColor |
FontColor | long | Text FontColor |
FontType | string | Text FontType |
Caption | string | Text Caption |
FontRotate | short | |
IsTimeCode | bool | |
PositionLeft | int | Text'i sola yasla |
PositionTop | int | Text'i üste konumlandır |
Size | int | Text boyutu |
Text.Animation | TextAnimation | Text Caption |
Input.ExpiryPolicy | SourceExpiryPolicy | SourceExpiryPolicy |
Input.IngestState | TransferState | TransferState |
Input.ResizeMethod | ResizeMethod | ResizeMethod |
Input.Streams | Object | InputStream |
AspectRatioX | short | |
AspectRatioY | short | |
AudioLevel | short | |
Interlaced | short | |
Duration | long | Dosyanın uzunluğu(süresi) |
Start | long | Başlama zamanı |
Name | string | Dosya Adı |
LinkedInputUIDPID | string | |
Position | string | Position |
ServiceName | string | ServiceName |
Codec | string | Dosyanın hangi formatla yüklendiğini |
Crop | string | Dosyanın kırpılması |
ISOLangCode | string | Encode dili |
FourCC | string | |
ServiceProvider | string | |
OrderID | int | OrderID |
PID | int | Preset Unique ID |
BitsPerSample | int | |
BitRate | int | 64Kb ile 65000 Kb arasında tanımlanabilir |
FrameRateDenominator | int | |
FrameSize | int | |
FrameTime | int | |
Height | int | Pencere yüksekliği |
ProgramID | int | ProgramID |
TimeOffset | int | |
Width | bool | Pencere genişliği |
InputStream.Channels | AudioChannels | AudioChannels |
InputStream.CropFillMethod | FillMethod | FillMethod |
InputStream.DeInterlacedMode | DeInterlaceMode | DeInterlaceMode |
InputStream.PositionType | Object | ItemPosition |
Progress | short | Tamamlanma yüzdesi |
Start | int | Başlama zamanı |
UID | string | UID |
InputStream.SampleRate | AudioSampleRate | AudioSampleRate |
InputStream.StreamType | StreamType | StreamType |
Input.Texts | Object | Text |
BackgroundColor | long | Text BackgroundColor |
FontColor | long | Text FontColor |
Caption | string | Text Caption |
FontType | string | Text FontType |
FontRotate | short | |
IsTimeCode | bool | |
PositionLeft | int | Text'i sola yasla |
PositionTop | int | Text'i üste konumlandır |
Size | int | Text boyutu |
Text.Animation | TextAnimation | Text Caption |
Job.History | Object | JobHistory |
Detail | string | Status'un detaylı açıklanmasıdır |
ErrorCode | int | Hata olması durumunda ErrorCode üretilir |
Time | DateTime | Dosya bu status'teki mevcut zamanını gösterir |
JobHistory.Status | JobState | JobState |
Sample Response
<Result>
<Action>CreateJob </Action>
<StateCode>SUCCESS </StateCode>
<State>SUCCESS </State>
<Job>
<ID>4922 </ID>
<State>Ingesting </State>
<UserID>158 </UserID>
<Name>CreateJobSample </Name>
<Region>ANK </Region>
<Inputs>
<Input />
<UID>u3ZGV656AwpA </UID>
<Address>http://www.videobulut.com/sample/NgVideo.mp4 </Address>
<ItemSize>0 </ItemSize>
<IngestState>Running </IngestState>
<IngestStartTime xsi:nil="true" />
<IngestEndTime xsi:nil="true" />
<OrderNumber>0 </OrderNumber>
<ExpiryPolicy>ExpiryAuto </ExpiryPolicy>
<PositionType xsi:nil="true" />
<ResizeMethod xsi:nil="true" />
<Streams>
<InputStream>
<StreamType>Video </StreamType>
<PID>1 </PID>
<Duration>100 </Duration>
<TimeOffset>0 </TimeOffset>
<PositionType>Frame </PositionType>
<DeInterlacedMode xsi:nil="true" />
<Channels xsi:nil="true" />
<SampleRate xsi:nil="true" />
<OrderID>0 </OrderID>
<Texts />
</InputStream>
<InputStream>
<StreamType>Audio </StreamType>
<PID>1 </PID>
<Duration>100 </Duration>
<TimeOffset>0 </TimeOffset>
<PositionType>Frame </PositionType>
<DeInterlacedMode xsi:nil="true" />
<Channels xsi:nil="true" />
<SampleRate xsi:nil="true" />
<OrderID>1 </OrderID>
<Texts />
</InputStream>
</Streams>
<Texts />
</Input>
</Inputs>
<OutputGroups />
<Outputs>
<Output>
<DeliveryState>Waiting </DeliveryState>
<DeliveryStartTime xsi:nil="true" />
<DeliveryEndTime xsi:nil="true" />
<DeliveryDuration>0 </DeliveryDuration>
<IsPlayOut xsi:nil="true" />
<MP2TS />
<Streams>
<OutputStream>
<StreamType>Video </StreamType>
<BitRate>1600000 </BitRate>
<Width>640 </Width>
<Height>480 </Height>
<VideoTargetUsage>4 </VideoTargetUsage>
<VideoGOPLength>250 </VideoGOPLength>
<VideoMaxBFrame>5 </VideoMaxBFrame>
</OutputStream>
<OutputStream>
<StreamType>Audio </StreamType>
<BitRate>64000 </BitRate>
<AudioSampleRate>48000 kHz </AudioSampleRate>
<AudioChannelLayout>STEREO </AudioChannelLayout>
<AudioCodec>AAC Low Complexity </AudioCodec>
<ISOLanguageCode>eng </ISOLanguageCode>
</OutputStream>
</Streams>
<Metadata>
<Title />
<CopyRight />
<Author />
<Description />
<Album />
</Metadata>
<UID>9bu2b5h7TRT8 </UID>
<Address>videobulut:// </Address>
</Output>
</Outputs>
<History>
<JobHistory>
<Status>Ingesting </Status>
<Time>2018-07-02T13:39:49.6826386Z </Time>
<ErrorCode>0 </ErrorCode>
<Detail>Starting ingest. (u3ZGV656AwpA) </Detail>
</JobHistory>
</History>
</Job>
</Result>
{
"Action": "CreateJob",
"StateCode": "SUCCESS",
"State": "SUCCESS",
"Job": {
"ID": 170894,
"State": "Ingesting",
"UserID": 389,
"Name": "CreateJobSample",
"StreamLink": null,
"Region": "ANK",
"CreateDate": "2019-03-11T11:44:37.0197481Z",
"StartDate": "2019-03-11T11:44:37.0353733Z",
"ContentDuration": 0.0,
"Inputs": [
{
"UID": "u7Zf5yppXZpb",
"Address": "http://www.videobulut.com/sample/NgVideo.mp4",
"ItemSize": 0,
"ExpiryPolicy": "ExpiryAuto",
"Streams": [
{
"StreamType": "Video",
"PID": 1,
"Duration": 100,
"Position": null,
"Crop": null,
"PositionType": "Frame",
"LinkedInputUIDPID": null
},
{
"StreamType": "Audio",
"PID": 2,
"Duration": 100,
"Position": null,
"Crop": null,
"LinkedInputUIDPID": null,
"ISOLangCode": "und"
}
]
}
],
"Outputs": [
{
"DeliveryState": "Waiting",
"DeliveryDuration": 0,
"Streams": [
{
"StreamType": "Video",
"StreamPID": 1,
"BitRate": 450000,
"Width": 426,
"Height": 240,
"VideoCodec": "H264_MAIN",
"VideoProfileLevel": "3.0",
"VideoTargetUsage": 4,
"VideoGOPLength": 300,
"VideoMaxBFrame": 2
},
{
"StreamType": "Audio",
"BitRate": 64000,
"VideoCodec": "H264_MAIN",
"VideoProfileLevel": "3.0",
"AudioSampleRate": "44100 kHz",
"AudioChannelLayout": "STEREO",
"AudioCodec": "AAC Low Complexity"
}
],
"Metadata": {
"Title": "",
"CopyRight": "",
"Author": "",
"Description": "",
"Album": ""
},
"UID": "9fu5nwuR5nT9",
"Address": "videobulut://"
}
]
}
}
Response Error
StateCode | State |
---|---|
AUTHENTICATION_ERROR | This Api Key does not exist. Please check your information and try again |
INTERNAL_ERROR | SUCCESS |
WRONG_XMLUSAGE | Yanlış XML kullanım hatası |
GetJob
GetJob methodu, sistemdeki jobların görüntülenmesini sağlar. Joblar, Job ID değeri girilerek çağrılır. GetJob methodunda aynı anda en fazla bir job görüntülenebilir.
Method | URL |
---|---|
Post | http://api.videobulut.com/Cloud |
Header
Field | Type | Description |
---|---|---|
Content-Type | String |
application/json application/xml |
Request Body Parameters
Field | Type | Description |
---|---|---|
Action | string | GetJob |
API Key | String | Kullanıcınız için tanımlanmış olan anahtar |
ID | long | Job ID |
Sample Request
<Request>
<Action>GetJob</Action>
<APIKey>"apiKey"</APIKey>
<ID>4595</ID>
</Request>
{
"Action": "GetJob",
"APIKey": ""apiKey"",
"ID": "4595"
}
Response Parameters
Field | Type | Description |
---|---|---|
Action | string | GetJob |
StateCode | ServiceResponseCode | ServiceResponseCode |
State | String | State Code'un detaylı açıklamasıdır |
Job | Object | |
ID | long | Job Unique ID |
IngestDuration | long | Job'ın yüklenme süresi |
InQueueDuration | long | Kuyruk süresi |
DeliveryDuration | long | Job'ın teslim edilme süresi(dk., sn.) |
PresetID | long | Job için oluşturulan Preset ID |
ProcessDuration | long | Job'ın process süresi |
Progress | short | Job tamamlanma yüzdesi |
UserID | int | User Unique ID |
Name | string | Job Name |
StreamLink | string | Cdn erişim adresi |
Region | string | Region Name |
Message | string | Job'ın mevcut durumu hakkında bilgi |
CreateDate | Datetime | Job'ın oluşturulma zamanı |
StartDate | Datetime | Job'ın başlama zamanı |
CompletedDate | Datetime | Job'ın tamamlanma zamanı |
FailedDate | Datetime | Job'ın hataya düşme zamanı |
StopDate | Datetime | Job'ın tamamlandan durdurulmaya zorlandığı zaman |
ScheduleDate | Datetime | Job başlama zamanlaması |
ContentDuration | double | Yüklenen içeriğin süresi |
Job.Type | JobType | JobType |
Job.Statistic | Object | JobStatistic |
CalculatedDuration | long | Job'ın encode süresi |
Capacity | long | Job'ın kapasitesi |
Duration | long | Job'ın süresi |
JobStatistic.OutputStatistics | Object | OutputStatistics |
AudioDuration | long | Video sesinin süresi |
VideoDuration | long | Video Süresi |
Is4K | bool | Is4K |
IsHD | bool | IsHD |
IsHEVC | bool | IsHEVC |
Job.State | JobState | JobState |
Job.Outputs | Object | Output |
Address | string | Job'ın kaydedildiği adres |
UID | string | UID |
ShortLink | string | NA |
StreamLink | string | Cdn erişim adresi |
DeliveryEndTime | DateTime | Job teslimatın tamamlandığı zaman |
DeliveryStartTime | DateTime | Job'ın teslim edilmesi için başlama zamanı |
IsPackage | bool | NA |
IsPlayOut | bool | NA |
OrderNumber | long | NA |
PresetID | long | Output Preset ID |
Duration | long | Job'ın süresi |
DeliveryDuration | long | Output'un yükleme süresi |
Size | long | Job Size |
Progress | short | Output tamamlanma yüzdesi |
Output.Streams | Object | OutputStream nesnesi |
ISOLanguageCode | string | Encode dili |
StreamName | string | StreamName |
OutputGroupID | long | OutputGroupID |
VideoVBVInitialDelay | int | |
Width | int | Kullanıcı en fazla video boyutu maksimum 8192p seçilebilir. H264 çıkışını seçerseniz, genişliğiniz 4096 pikselden daha büyük olamaz. |
BitRate | int | 64Kb ile 65000 Kb arasında tanımlanabilir |
Height | int | Kullanıcı en fazla video boyutu maksimum 8192p seçilebilir. H264 çıkışını seçerseniz, genişliğiniz 4096 pikselden daha büyük olamaz. |
ImageDPI | int | Bir inç karedeki nokta sayısı |
StreamPID | int | StreamPID |
VideoDarHeight | int | NA |
VideoDarWidth | int | NA |
VideoGOPLength | int | Ardışık resimlerin çerçeve uzunluklarının ayarlanması |
VideoIntraQPDelta | int | QP Değer aralığı [-51,51] arasındadır |
VideoIntraRefreshCycleSize | int | 0 ve 1 değerleri yoktur. Sadece başlatılma sırasında geçerlidir. |
VideoVBVBufferSize | int | |
VideoIntraRefreshPeriod | int | |
VideoKeyFramesMin | int | 0 ise bir IDR, 1 ise bir IDR ve bir I-Frame eklenecek |
VideoMaxBFrame | int | MPEG standartlarında kullanılan video sıkıştırma yöntemi |
VideoMaxBitrate | int | VBR=0 ise bitrate, frame rate, profil ve level hesaplanır |
VideoMaxNumRefFrames | int | DPb maksimum referans |
VideoMaxQPB | short | B frame için maksimum QP [0-51] arasında değer alır |
VideoMaxQPI | short | I frame için maksimum QP [0-51] arasında değer alır |
VideoMaxQPP | short | P frame için maksimum QP [0-51] arasında değer alır |
VideoMinQPB | short | B frame için minimum QP [0-51] arasında değer alır |
VideoMinQPI | short | I frame için minimum QP [0-51] arasında değer alır |
VideoMinQPP | short | P frame için minimum QP [0-51] arasında değer alır |
VideoQPB | short | B frame [0-51] arasında değer alır |
VideoQPI | short | I frame [0-51] arasında değer alır |
VideoQPP | short | P frame [0-51] arasında değer alır |
VideoQuality | short | Video kalite değerleri [0-51] aralığındadır |
VideoRepeatSPSPPS | short | Disables SPS/PPS |
VideoTargetUsage | short | Video'nun kodlanma süresi [1-7] değer alır. Varsayılan değer=4 |
AudioADTSHeader | short | NA |
AudioBitsperSample | short | NA |
VideoIntraRefreshEnableFlag | short | Devre dışı ise resfresh, etkin ise MBs sütununa göre dikey refreshdir. |
VideoDisableSPSPPS | short | Disable SPS/PPS |
VideoEnableBPyramid | short | En az iki tane B frame ayarlandığında kullanılır |
OutputStream.AudioChannelLayout | AudioChannels | AudioChannels |
OutputStream.VideoRCMod | RCMode | RCMode |
OutputStream.AudioCodec | AudioCodecs | AudioCodecs |
OutputStream.VideoProfileLevel | VideoProfileLevel | VideoProfileLevel |
OutputStream.AudioSampleRate | AudioSampleRate | AudioSampleRate |
OutputStream.ImageCodec | ImageCodecs | ImageCodecs |
OutputStream.StreamType | StreamType | Is4K |
OutputStream.SubtitleCodec | SubtitleCodecs | SubtitleCodecs |
OutputStream.VideoCodec | VideoCodecs | VideoCodecs |
OutputStream.VideoColorMatrixCode | VideoColorMatrixCode | VideoColorMatrixCode |
OutputStream .VideoEntropyCodingMode | VideoEntropyCodingMode | VideoEntropyCodingMode |
OutputStream.VideoGOPOption | VideoGOPOption | VideoGOPOption |
Output.Thumbnail | Object | Thumbnail |
StartTime | long | NA |
EndTime | long | NA |
IsVTT | bool | NA |
MosaicX | short | NA |
MosaicY | short | NA |
Numerator | short | NA |
Denominator | short | NA |
Thumbnail.SelectionType | SelectType | SelectType |
Output.DASH | Object | DASH |
GenerateHLSManifest | bool | DASH dosyasında HLS'nin MP4 desteği için bir bildirim dosyası oluşturur |
IsSingleFile | bool | NA |
PreCautionDelay | int | ms(mili saniye) cinsinden gecikme |
SegmentDuration | int | 2-40 sn arasındadır |
SubtitleSegmentDuration | int | Yığın süresi |
TimeShiftSecond | int | 260000 saniyeye kadar ayarlanabilir |
DASH.DRM | Object | OutputDRM |
ContentID | string | ContentID(optional) |
ContentKey | string | ContentKey |
CustomData | string | NA |
IV | string | DRM code(optional) |
KeyID | string | DRM KeyID |
KeySeed | string | NA |
LicenceURL | string | DRM Licence URL |
Policy | string | DRM Policy(optional) |
Provider | string | DRM Provider(optional) |
TrackType | string | TrackType(optional) |
OutputDRM.DrmProvider | DRMProvider | DRMProvider |
OutputDRM.DrmType | DRMType | DRMType |
Output.DeliveryState | TransferState | TransferState |
Output.HLS | Object | HLS |
AllowCache | bool | Tekrar izlemek için indirilen dosyayı ön bellekte tutar |
AudioOnly | bool | Ses akışlarını oluşturur [1-16] aralığında değer alır |
DiscontStart | bool | İşaretlenirse süresiz olarak tekrarlanır |
IsSingleFile | bool | Tek bir dosya için byte aralık desteği |
NoEndList | bool | Listeyi bitirmeden VOD çıkışı yapar |
RoundDurations | bool | m3u8 |
SegmentDelete | bool | PlayLİst'ten kaldırıldığında dosyayı sil |
HLSProtocolVersion | short | HLS byte aralığ |
IFrameStream | short | I-Frame oluşturur |
SegmentWrap | short | |
PlayListCount | int | NA |
SegmentCount | int | NA |
SegmentDuration | int | 2000-40000 ms aralığındadır |
SegmentStartNumber | int | NA |
PublishURL | string | NA |
HLS.DRM | Object | OutputDRM |
ContentID | string | ContentID |
ContentKey | string | ContentKey |
CustomData | string | |
IV | string | DRM code |
KeyID | string | DRM KeyID |
KeySeed | string | |
LicenceURL | string | DRM Licence URL |
Policy | string | DRM Policy |
Provider | string | DRM Provider |
TrackType | string | TrackType |
OutputDRM.DrmProvider | DRMProvider | DRMProvider |
OutputDRM.DrmType | DRMType | DRMType |
Output.DeliveryState | TransferState | TransferState |
Output.HSS | Object | HSS |
AudioFragmentDuration | int | |
SubtitleFragmentDuration | int | |
VideoFragmentDuration | int | |
HSS.DRM | Object | OutputDRM |
ContentID | string | ContentID |
ContentKey | string | ContentKey |
CustomData | string | |
IV | string | DRM code |
KeyID | string | DRM KeyID |
KeySeed | string | |
LicenceURL | string | DRM Licence URL |
Policy | string | DRM Policy |
Provider | string | DRM Provider |
TrackType | string | TrackType |
OutputDRM.DrmProvider | DRMProvider | DRMProvider |
OutputDRM.DrmType | DRMType | DRMType |
DRM.DRM | Object | OutputDRM |
ContentID | string | ContentID |
ContentKey | string | ContentKey |
CustomData | string | |
IV | string | DRM code |
KeyID | string | DRM KeyID |
KeySeed | string | |
LicenceURL | string | DRM Licence URL |
Policy | string | DRM Policy |
Provider | string | DRM Provider |
TrackType | string | TrackType |
OutputDRM.DrmProvider | DRMProvider | DRMProvider |
OutputDRM.DrmType | DRMType | DRMType |
Output.DeliveryState | TransferState | TransferState |
Output.KeepOriginal | Object | KeepOriginal |
UseSameFileName | bool | |
Output.Metadata | Object | OutputMetadatas |
Album | string | NA |
Author | string | NA |
CopyRight | string | NA |
Description | string | NA |
Title | string | NA |
Output.MP2TS | Object | MP2TS |
BufferSize | int | NA |
MuxRate | int | MP2TS Muxing Quality Rate |
PCRPeriod | int | NA |
TTL | int | NA |
Name | string | Stream Name |
Provider | string | Stream Provider |
Title | string | Stream Title |
Output.MP4 | Object | MP4 |
FastStart | bool | Enable ise çıkışı MP4 olur |
RTPHint | bool | RTP ip ucu ekleme |
MP4.Mp4MuxingType | Mp4MuxingType | Mp4MuxingType |
Job.OutputGroups | Object | OutputGroup |
DARDenominator | int | |
DARNumerator | int | |
FrameRateDenominator | int | |
FrameRateNumerator | int | |
TimeOffset | int | |
ID | long | OutputGroup ID |
ISOLangCode | string | Encode dili |
Name | string | OutputGroup Name |
Type | StreamType | StreamType |
OutputGroup.Segments | Object | OutGroupSegments |
Length | long | Dosya uzunluğu |
OutputGroupSegments.Channels | Object | Channels |
Channel | AudioChannels | AudioChannels |
OutputGroupSegments.ResizeMethod | ResizeMethod | ResizeMethod |
OutputGroupSegments.SegmentItem | Object | OutputGroupSegmentsSegmentItem |
AnimationDuration | short | Video canlı kalma süresi |
AudioLevel | short | Dosya sesinin yüksekliği |
Rotation | short | Dosyayı döndürme |
InputStreamID | long | InputStreamID |
StartTime | long | Dosyanın başlangıç zamanı |
ChannelID | long | ChannelID |
CropBottom | int | Aşağıdan dosyayı kırpma |
CropLeft | int | Soldan dosyayı kırpma |
CropRight | int | Sağdan dosyayı kırpma |
CropTop | int | Üstten dosyayı kırpma |
PositionBottom | int | Aşağıdan dosyayı konumlandırma |
PositionLeft | int | Soldan dosyayı konumlandırma |
PositionRight | int | Sağdan dosyayı konumlandırma |
PositionTop | int | Üstten dosyayı konumlandırma |
SladeOnVideoLostActTime | int | |
SladeOnVideoLostInput | string | |
InputUID | string | InputUID |
OutputGroupSegmentsSegmentItem.Texts | Object | Text |
BackgroundColor | long | Text BackgroundColor |
FontColor | long | Text FontColor |
Caption | string | Text Caption |
FontType | string | Text FontType |
FontRotate | short | |
IsTimeCode | bool | |
PositionLeft | int | Text'i sola yasla |
PositionTop | int | Text'i üste konumlandır |
Size | int | Text boyutu |
Text.Animation | TextAnimation | Text Caption |
OutputGroupSegmentsItem.AnimationType | ScreenAnimationType | ScreenAnimationType |
OutputGroupSegmentsSegmentItem.Channels | Object | Channels |
Channel | AudioChannels | AudioChannels |
OutputGroupSegmentsSegmentItem.FillMethod | FillMethod | FillMethod |
OutputGroupSegmentsSegmentItem.FrameRate | EncodeFrameRates | EncoodeFrameRates |
OutputGroupSegmentsSegmentItem.Logos | Object | Logo |
Duration | int | |
Height | int | Logo'nun yüksekliği |
PositionLeft | int | Logo'yu sola yasla |
PositionTop | int | Logo'yu üstte konumlandır |
Width | int | Logo'nun genişliği |
ThreshholdColor | string | |
OutputGroupSegments.Texts | Object | Text |
BackgroundColor | long | Text BackgroundColor |
FontColor | long | Text FontColor |
FontColor | long | Text FontColor |
FontRotate | short | |
FontType | string | Text FontType |
Caption | string | Text Caption |
IsTimeCode | bool | |
PositionLeft | int | Text'i sola yasla |
PositionTop | int | Text'i üste konumlandır |
Text.Size | int | Text boyutu |
Text.Animation | TextAnimation | TextAnimation |
Job.Notify | Object | Notify nesnesi |
Address | string | |
Notify.Event | NotifyEvent | NotifyEvent |
Notify.Format | NotifyFormat | NotifyFormat |
Job.Inputs | Object | Input nesnesi |
Address | string | Dosyanın sistemde bulunduğu adres |
ItemName | string | Yüklenen dosyanan uzantısı ve adı |
LinkedInputUID | string | |
Duration | int | Yüklenen dosyanın uzunlugu(süresi) |
LiveReadTimeout | int | |
OrderNumber | int | |
IngestDuration | long | Dosyanın ne kadar sürede yüklendiği |
ItemSize | long | |
IngestEndTime | DateTime | Yüklenen dosyanın tamamlanma zamanı |
IngestStartTime | DateTime | Yüklenen dosyanın başlama zamanı |
Input.PositionType | Object | ItemPosition |
Progress | short | ItemPosition tamamlanma yüzdesi |
Start | int | |
UID | string | |
Input.Texts | Object | Text |
BackgroundColor | long | Text BackgroundColor |
FontColor | long | Text FontColor |
FontType | string | Text FontType |
Caption | string | Text Caption |
FontRotate | short | |
IsTimeCode | bool | |
PositionLeft | int | Text'i sola yasla |
PositionTop | int | Text'i üste konumlandır |
Size | int | Text boyutu |
Text.Animation | TextAnimation | Text Caption |
Input.ExpiryPolicy | SourceExpiryPolicy | SourceExpiryPolicy |
Input.IngestState | TransferState | TransferState |
Input.ResizeMethod | ResizeMethod | ResizeMethod |
Input.Streams | Object | InputStream |
AspectRatioX | short | |
AspectRatioY | short | |
AudioLevel | short | |
Interlaced | short | |
Duration | long | Dosyanın uzunluğu(süresi) |
Start | long | Başlama zamanı |
Name | string | Dosya Adı |
LinkedInputUIDPID | string | |
Position | string | Position |
ServiceName | string | ServiceName |
Codec | string | Dosyanın hangi formatla yüklendiğini |
Crop | string | Dosyanın kırpılması |
ISOLangCode | string | Encode dili |
FourCC | string | |
ServiceProvider | string | |
OrderID | int | OrderID |
PID | int | Preset Unique ID |
BitsPerSample | int | |
BitRate | int | 64Kb ile 65000 Kb arasında tanımlanabilir |
FrameRateDenominator | int | |
FrameSize | int | |
FrameTime | int | |
Height | int | Pencere yüksekliği |
ProgramID | int | ProgramID |
TimeOffset | int | |
Width | bool | Pencere genişliği |
InputStream.Channels | AudioChannels | AudioChannels |
InputStream.CropFillMethod | FillMethod | FillMethod |
InputStream.DeInterlacedMode | DeInterlaceMode | DeInterlaceMode |
InputStream.PositionType | Object | ItemPosition |
Progress | short | Tamamlanma yüzdesi |
Start | int | Başlama zamanı |
UID | string | UID |
InputStream.SampleRate | AudioSampleRate | AudioSampleRate |
InputStream.StreamType | StreamType | StreamType |
Input.Texts | Object | Text |
BackgroundColor | long | Text BackgroundColor |
FontColor | long | Text FontColor |
Caption | string | Text Caption |
FontType | string | Text FontType |
FontRotate | short | |
IsTimeCode | bool | |
PositionLeft | int | Text'i sola yasla |
PositionTop | int | Text'i üste konumlandır |
Size | int | Text boyutu |
Text.Animation | TextAnimation | Text Caption |
Job.History | Object | JobHistory |
Detail | string | Status'un detaylı açıklanmasıdır |
ErrorCode | int | Hata olması durumunda ErrorCode üretilir |
Time | DateTime | Dosya bu status'teki mevcut zamanını gösterir |
JobHistory.Status | JobState | JobState |
Sample Response
<Result>
<Action>GetJob<Action />
<StateCode>SUCCESS</StateCode>
<State>SUCCESS</State>
<Job>
<ID>4595</ID>
<State>Finished</State>
<Message>Job is completed.</Message>
<UserID>158</UserID>
<Progress>100</Progress>
<PresetID>12</PresetID>
<Name>NewJob</Name>
<StreamLink>cdn.videobulut.com/UT693w40E9jd9.mp4</StreamLink>
<Region>ANK</Region>
<ContentDuration>30.037</ContentDuration>
<ProcessDuration>3</ProcessDuration>
<InQueueDuration>1</InQueueDuration>
<IngestDuration>1</IngestDuration>
<Inputs>
<Input />
<UID>C69df6CfyAAf</UID>
<Address>http://www.videobulut.com/sample/NgVideo.mp4</Address>
<ItemSize>8755958</ItemSize>
<ItemName>NgVideo.mp4</ItemName>
<IngestState>Finished</IngestState>
<IngestStartTime>2018-06-20T06:58:47</IngestStartTime>
<IngestEndTime>2018-06-20T06:58:49</IngestEndTime>
<IngestDuration>1</IngestDuration>
<OrderNumber>0</OrderNumber>
<ExpiryPolicy>ExpiryAuto</ExpiryPolicy>
<PositionType xsi:nil="true" />
<ResizeMethod xsi:nil="true" />
<Streams>
<InputStream>
<StreamType>Video</StreamType>
<PID>1</PID>
<Duration>30000</Duration>
<TimeOffset>0</TimeOffset>
<PositionType>Frame</PositionType>
<Codec>H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10</Codec>
<Height>1440</Height>
<Width>2560</Width>
<FrameRateNumerator>30</FrameRateNumerator>
<FrameRateDenominator>1</FrameRateDenominator>
<DeInterlacedMode xsi:nil="true" />
<Channels xsi:nil="true" />
<SampleRate xsi:nil="true" />
<OrderID>0</OrderID>
</InputStream>
<InputStream>
<StreamType>Audio</StreamType>
<PID>2</PID>
<Duration>30037</Duration>
<TimeOffset>0</TimeOffset>
<PositionType xsi:nil="true" />
<ISOLangCode>eng</ISOLangCode>
<Codec>AAC (Advanced Audio Coding)</Codec>
<DeInterlacedMode xsi:nil="true" />
<Channels>STEREO</Channels>
<SampleRate>48000 kHz</SampleRate>
<OrderID>0</OrderID>
</InputStream>
</Streams>
<StreamTimeOffset>0</StreamTimeOffset>
</Input>
</Inputs>
</Job>
</Action>
{
"Action": "GetJob",
"StateCode": "SUCCESS",
"State": "SUCCESS",
"Job": {
"ID": 170894,
"State": "Finished",
"Message": "Job is completed.",
"UserID": 389,
"Progress": 100,
"Name": "CreateJobSample",
"StreamLink": "cdn.videobulut.com/U9fu5nwuR5nT9.mp4",
"Region": "ANK",
"CreateDate": "2019-03-11T11:44:39",
"StartDate": "2019-03-11T11:44:53",
"CompletedDate": "2019-03-11T11:44:53",
"ContentDuration": 114.002,
"ProcessDuration": 11,
"InQueueDuration": 2,
"IngestDuration": 1,
"Inputs": [
{
"UID": "u7Zf5yppXZpb",
"Address": "http://www.videobulut.com/contentVB/videos/usage.mp4",
"ItemSize": 4302912,
"ItemName": "c1.mkv",
"IngestState": "Finished",
"IngestStartTime": "2019-03-11T11:44:37",
"IngestEndTime": "2019-03-11T11:44:37",
"IngestDuration": 1,
"ExpiryPolicy": "ExpiryAuto",
"Streams": [
{
"StreamType": "Video",
"PID": 1,
"Duration": 114002,
"Position": null,
"Crop": null,
"PositionType": "Frame",
"LinkedInputUIDPID": null,
"Codec": "Google VP9",
"Height": 480,
"Width": 854,
"FrameRateNumerator": 25,
"FrameRateDenominator": 1
},
{
"StreamType": "Audio",
"PID": 2,
"Duration": 114002,
"Position": null,
"Crop": null,
"LinkedInputUIDPID": null,
"ISOLangCode": "-",
"Codec": "Opus (Opus Interactive Audio Codec)",
"Channels": "STEREO",
"SampleRate": "48000 kHz"
}
]
}
],
"OutputGroups": [
{
"ID": 319352,
"Name": "",
"Type": "Video",
"Segments": [
{
"Length": 114002,
"ResizeMethod": "Fast_Bilinear",
"SegmentItems": [
{
"InputStreamID": 160523,
"InputUID": "u7Zf5yppXZpb",
"StartTime": 0,
"Duration": 114002,
"CropTop": 0,
"CropLeft": 0,
"CropRight": 0,
"CropBottom": 0,
"PositionTop": 0,
"PositionLeft": 0,
"PositionRight": 100,
"PositionBottom": 100,
"FillMethod": "Fill",
"AnimationType": "None",
"AnimationDuration": 0,
"Rotation": 0,
"AudioLevel": 100,
"FrameRate": "FRAMESOURCE",
"Logos": [],
"Texts": [],
"Channels": []
}
],
"Texts": [],
"Channels": []
}
],
"ISOLangCode": "",
"TimeOffset": 0,
"DARNumerator": 0,
"DARDenominator": 0,
"FrameRateDenominator": 0,
"FrameRateNumerator": 0
},
{
"ID": 319353,
"Name": "-",
"Type": "Audio",
"Segments": [
{
"Length": 114002,
"ResizeMethod": "Fast_Bilinear",
"SegmentItems": [
{
"InputStreamID": 160524,
"InputUID": "u7Zf5yppXZpb",
"StartTime": 0,
"Duration": 114002,
"CropTop": 0,
"CropLeft": 0,
"CropRight": 0,
"CropBottom": 0,
"PositionTop": 0,
"PositionLeft": 0,
"PositionRight": 100,
"PositionBottom": 100,
"FillMethod": "Fill",
"AnimationType": "None",
"AnimationDuration": 0,
"Rotation": 0,
"AudioLevel": 100,
"FrameRate": "FRAMESOURCE",
"Logos": [],
"Texts": [],
"Channels": []
}
],
"Texts": [],
"Channels": []
}
],
"ISOLangCode": "-",
"TimeOffset": 0,
"DARNumerator": 0,
"DARDenominator": 0,
"FrameRateDenominator": 0,
"FrameRateNumerator": 0
}
],
"Outputs": [
{
"StreamLink": "cdn.videobulut.com/U9fu5nwuR5nT9.mp4",
"DeliveryState": "Finished",
"DeliveryStartTime": "2019-03-11T11:44:53",
"DeliveryEndTime": "2019-03-11T11:44:53",
"DeliveryDuration": 1,
"Progress": 0,
"Size": 6471521,
"MP4": {
"RTPHint": false,
"FastStart": true,
"Mp4MuxingType": "MP4"
},
"Streams": [
{
"OutputGroupID": 319352,
"StreamType": "Video",
"StreamPID": 1,
"BitRate": 450000,
"Width": 426,
"Height": 240,
"VideoCodec": "H264_MAIN",
"VideoProfileLevel": "3.0",
"VideoTargetUsage": 4,
"VideoGOPLength": 300,
"VideoMaxBFrame": 2,
"VideoIntraRefreshEnableFlag": false,
"VideoRepeatSPSPPS": false,
"VideoDisableSPSPPS": false
},
{
"OutputGroupID": 319353,
"StreamType": "Audio",
"BitRate": 64000,
"VideoCodec": "H264_MAIN",
"VideoProfileLevel": "3.0",
"VideoIntraRefreshEnableFlag": false,
"VideoRepeatSPSPPS": false,
"VideoDisableSPSPPS": false,
"AudioSampleRate": "44100 kHz",
"AudioChannelLayout": "STEREO",
"AudioCodec": "AAC Low Complexity",
"ISOLanguageCode": "-"
}
],
"Metadata": {
"Title": "",
"CopyRight": "",
"Author": "",
"Description": "",
"Album": ""
},
"UID": "9fu5nwuR5nT9",
"Address": "videobulut://9fu5nwuR5nT9.mp4"
}
]
}
}
Response Error
StateCode | State |
---|---|
AUTHENTICATION_ERROR | This Api Key does not exist. Please check your information and try again |
INTERNAL_ERROR | SUCCESS |
WRONG_XMLUSAGE | Yanlış XML kullanım hatası |
DeleteJob
Var olan Job'ın silinmesini sağlar. Bir Job'ı silmek için, Job Unique ID'si girilmelidir.
Method | URL |
---|---|
Post | http://api.videobulut.com/Cloud |
Header
Field | Type | Description |
---|---|---|
Content-Type | String |
application/json application/xml |
Request Body Parameters
Field | Type | Description |
---|---|---|
Action | string | GetJob |
API Key | String | Kullanıcınız için tanımlanmış olan anahtar |
ID | long | Silinecek Job’ın ID’si |
Sample Request
<Request>
<Action>DeleteJob</Action>
<!-- Fill this area your API Key -->
<APIKey>"apiKey"</APIKey>
<!-- The JobID which you want to delete -->
<ID>4597</ID>
</Request>
{
"Action": "DeleteJob",
"APIKey": ""apiKey"",
"ID": "4597"
}
Response Parameters
Field | Type | Description |
---|---|---|
Action | string | GetJob |
StateCode | ServiceResponseCode | ServiceResponseCode |
State | String | State Code'un detaylı açıklamasıdır |
Sample Response
<Result>
<Action />
<StateCode>SUCCESS</StateCode>
<State>SUCCESS</State>
</Result>
{
"Action": "DeleteJob",
"StateCode": "SUCCESS",
"State": "Operation Is Successful"
}
Response Error
StateCode | State |
---|---|
AUTHENTICATION_ERROR | This Api Key does not exist. Please check your information and try again |
INTERNAL_ERROR | SUCCESS |
WRONG_XMLUSAGE | Yanlış XML kullanım hatası |
CancelJob
Devam eden Job'ların iptal edilmesi veya duruldurulmasını sağlar. Devam eden Canlı yayın ise; Job durdurulduğunda oluşturulan dosya, sistem üzerinde konumlandırılır.
Header
Field | Type | Description |
---|---|---|
Content-Type | String |
application/json application/xml |
Request Body Parameters
Field | Type | Description |
---|---|---|
Action | string | CancelJob |
API Key | String | Kullanıcınız için tanımlanmış olan anahtar |
ID | long | Çıkışı yapılacak Job’ın ID’si |
Sample Request
<Request>
<Action>CancelJob</Action>
<!-- Fill this area your API Key -->
<APIKey>"apiKey"</APIKey>
<!-- The JobID which you want to delete -->
<ID>4597</ID>
</Request>
{
"Action": "CancelJob",
"APIKey": ""apiKey"",
"ID": "4597"
}
Response Parameters
Field | Type | Description |
---|---|---|
Action | string | GetJob |
StateCode | ServiceResponseCode | ServiceResponseCode |
State | String | State Code'un detaylı açıklamasıdır |
Sample Response
<Result>
<Action>CancelJob</Action>
<StateCode>SUCCESS</StateCode>
<State>SUCCESS</State>
</Result>
{
"Action": "CancelJob",
"StateCode": "SUCCESS",
"State": "SUCCESS"
}
Response Error
StateCode | State |
---|---|
INTERNAL_ERROR | SUCCESS |
JOB_NOT_FOUND | Job sisem üzerinde bulunamadı |
INVALID_OPERATION | Job cannot cancel from this state |
WRONG_XMLUSAGE | Yanlış XML kullanım hatası |
RestartJob
Hata almış veya durdurulmış canlı yayın Jobları yeniden başlatılır.
Method | URL |
---|---|
Post | http://api.videobulut.com/Cloud |
Header
Field | Type | Description |
---|---|---|
Content-Type | String |
application/json application/xml |
Request Body Parameters
Field | Type | Description |
---|---|---|
Action | string | CancelJob |
API Key | String | Kullanıcınız için tanımlanmış olan anahtar |
ID | long | Job Unique ID |
Sample Request
<Request>
<Action>RestartJob</Action>
<APIKey>"apiKey"</APIKey>
<ID>4727</ID>
</Request>
{
"Action": "RestartJob",
"APIKey": ""apiKey"",
"ID": "4727"
}
Response Parameters
Field | Type | Description |
---|---|---|
Action | string | RestartJob |
StateCode | ServiceResponseCode | ServiceResponseCode |
State | String | State Code'un detaylı açıklamasıdır |
Job | Object | |
ID | long | Job Unique ID |
IngestDuration | long | Job'ın yüklenme süresi |
InQueueDuration | long | Kuyruk süresi |
DeliveryDuration | long | Job'ın teslim edilme süresi(dk., sn.) |
PresetID | long | Job için oluşturulan Preset ID |
ProcessDuration | long | Job'ın process süresi |
Progress | short | Job tamamlanma yüzdesi |
UserID | int | User Unique ID |
Name | string | Job Name |
StreamLink | string | Cdn erişim adresi |
Region | string | Region Name |
Message | string | Job'ın mevcut durumu hakkında bilgi |
CreateDate | Datetime | Job'ın oluşturulma zamanı |
StartDate | Datetime | Job'ın başlama zamanı |
CompletedDate | Datetime | Job'ın tamamlanma zamanı |
FailedDate | Datetime | Job'ın hataya düşme zamanı |
StopDate | Datetime | Job'ın tamamlandan durdurulmaya zorlandığı zaman |
ScheduleDate | Datetime | Job başlama zamanlaması |
ContentDuration | double | Yüklenen içeriğin süresi |
Job.Type | JobType | JobType |
Job.Statistic | Object | JobStatistic |
CalculatedDuration | long | Job'ın encode süresi |
Capacity | long | Job'ın kapasitesi |
Duration | long | Job'ın süresi |
JobStatistic.OutputStatistics | Object | OutputStatistics |
AudioDuration | long | Video sesinin süresi |
VideoDuration | long | Video Süresi |
Is4K | bool | Is4K |
IsHD | bool | IsHD |
IsHEVC | bool | IsHEVC |
Job.State | JobState | JobState |
Job.Outputs | Object | Output |
Address | string | Job'ın kaydedildiği adres |
UID | string | UID |
ShortLink | string | NA |
StreamLink | string | Cdn erişim adresi |
DeliveryEndTime | DateTime | Job teslimatın tamamlandığı zaman |
DeliveryStartTime | DateTime | Job'ın teslim edilmesi için başlama zamanı |
IsPackage | bool | NA |
IsPlayOut | bool | NA |
OrderNumber | long | NA |
PresetID | long | Output Preset ID |
Duration | long | Job'ın süresi |
DeliveryDuration | long | Output'un yükleme süresi |
Size | long | Job Size |
Progress | short | Output tamamlanma yüzdesi |
Output.Streams | Object | OutputStream nesnesi |
ISOLanguageCode | string | Encode dili |
StreamName | string | StreamName |
OutputGroupID | long | OutputGroupID |
VideoVBVInitialDelay | int | |
Width | int | Kullanıcı en fazla video boyutu maksimum 8192p seçilebilir. H264 çıkışını seçerseniz, genişliğiniz 4096 pikselden daha büyük olamaz. |
BitRate | int | 64Kb ile 65000 Kb arasında tanımlanabilir |
Height | int | Kullanıcı en fazla video boyutu maksimum 8192p seçilebilir. H264 çıkışını seçerseniz, genişliğiniz 4096 pikselden daha büyük olamaz. |
ImageDPI | int | Bir inç karedeki nokta sayısı |
StreamPID | int | StreamPID |
VideoDarHeight | int | NA |
VideoDarWidth | int | NA |
VideoGOPLength | int | Ardışık resimlerin çerçeve uzunluklarının ayarlanması |
VideoIntraQPDelta | int | QP Değer aralığı [-51,51] arasındadır |
VideoIntraRefreshCycleSize | int | 0 ve 1 değerleri yoktur. Sadece başlatılma sırasında geçerlidir. |
VideoVBVBufferSize | int | |
VideoIntraRefreshPeriod | int | |
VideoKeyFramesMin | int | 0 ise bir IDR, 1 ise bir IDR ve bir I-Frame eklenecek |
VideoMaxBFrame | int | MPEG standartlarında kullanılan video sıkıştırma yöntemi |
VideoMaxBitrate | int | VBR=0 ise bitrate, frame rate, profil ve level hesaplanır |
VideoMaxNumRefFrames | int | DPb maksimum referans |
VideoMaxQPB | short | B frame için maksimum QP [0-51] arasında değer alır |
VideoMaxQPI | short | I frame için maksimum QP [0-51] arasında değer alır |
VideoMaxQPP | short | P frame için maksimum QP [0-51] arasında değer alır |
VideoMinQPB | short | B frame için minimum QP [0-51] arasında değer alır |
VideoMinQPI | short | I frame için minimum QP [0-51] arasında değer alır |
VideoMinQPP | short | P frame için minimum QP [0-51] arasında değer alır |
VideoQPB | short | B frame [0-51] arasında değer alır |
VideoQPI | short | I frame [0-51] arasında değer alır |
VideoQPP | short | P frame [0-51] arasında değer alır |
VideoQuality | short | Video kalite değerleri [0-51] aralığındadır |
VideoRepeatSPSPPS | short | Disables SPS/PPS |
VideoTargetUsage | short | Video'nun kodlanma süresi [1-7] değer alır. Varsayılan değer=4 |
AudioADTSHeader | short | NA |
AudioBitsperSample | short | NA |
VideoIntraRefreshEnableFlag | short | Devre dışı ise resfresh, etkin ise MBs sütununa göre dikey refreshdir. |
VideoDisableSPSPPS | short | Disable SPS/PPS |
VideoEnableBPyramid | short | En az iki tane B frame ayarlandığında kullanılır |
OutputStream.AudioChannelLayout | AudioChannels | AudioChannels |
OutputStream.VideoRCMod | RCMode | RCMode |
OutputStream.AudioCodec | AudioCodecs | AudioCodecs |
OutputStream.VideoProfileLevel | VideoProfileLevel | VideoProfileLevel |
OutputStream.AudioSampleRate | AudioSampleRate | AudioSampleRate |
OutputStream.ImageCodec | ImageCodecs | ImageCodecs |
OutputStream.StreamType | StreamType | Is4K |
OutputStream.SubtitleCodec | SubtitleCodecs | SubtitleCodecs |
OutputStream.VideoCodec | VideoCodecs | VideoCodecs |
OutputStream.VideoColorMatrixCode | VideoColorMatrixCode | VideoColorMatrixCode |
OutputStream .VideoEntropyCodingMode | VideoEntropyCodingMode | VideoEntropyCodingMode |
OutputStream.VideoGOPOption | VideoGOPOption | VideoGOPOption |
Output.Thumbnail | Object | Thumbnail |
StartTime | long | NA |
EndTime | long | NA |
IsVTT | bool | NA |
MosaicX | short | NA |
MosaicY | short | NA |
Numerator | short | NA |
Denominator | short | NA |
Thumbnail.SelectionType | SelectType | SelectType |
Output.DASH | Object | DASH |
GenerateHLSManifest | bool | DASH dosyasında HLS'nin MP4 desteği için bir bildirim dosyası oluşturur |
IsSingleFile | bool | NA |
PreCautionDelay | int | ms(mili saniye) cinsinden gecikme |
SegmentDuration | int | 2-40 sn arasındadır |
SubtitleSegmentDuration | int | Yığın süresi |
TimeShiftSecond | int | 260000 saniyeye kadar ayarlanabilir |
DASH.DRM | Object | OutputDRM |
ContentID | string | ContentID(optional) |
ContentKey | string | ContentKey |
CustomData | string | NA |
IV | string | DRM code(optional) |
KeyID | string | DRM KeyID |
KeySeed | string | NA |
LicenceURL | string | DRM Licence URL |
Policy | string | DRM Policy(optional) |
Provider | string | DRM Provider(optional) |
TrackType | string | TrackType(optional) |
OutputDRM.DrmProvider | DRMProvider | DRMProvider |
OutputDRM.DrmType | DRMType | DRMType |
Output.DeliveryState | TransferState | TransferState |
Output.HLS | Object | HLS |
AllowCache | bool | Tekrar izlemek için indirilen dosyayı ön bellekte tutar |
AudioOnly | bool | Ses akışlarını oluşturur [1-16] aralığında değer alır |
DiscontStart | bool | İşaretlenirse süresiz olarak tekrarlanır |
IsSingleFile | bool | Tek bir dosya için byte aralık desteği |
NoEndList | bool | Listeyi bitirmeden VOD çıkışı yapar |
RoundDurations | bool | m3u8 |
SegmentDelete | bool | PlayLİst'ten kaldırıldığında dosyayı sil |
HLSProtocolVersion | short | HLS byte aralığ |
IFrameStream | short | I-Frame oluşturur |
SegmentWrap | short | |
PlayListCount | int | NA |
SegmentCount | int | NA |
SegmentDuration | int | 2000-40000 ms aralığındadır |
SegmentStartNumber | int | NA |
PublishURL | string | NA |
HLS.DRM | Object | OutputDRM |
ContentID | string | ContentID |
ContentKey | string | ContentKey |
CustomData | string | |
IV | string | DRM code |
KeyID | string | DRM KeyID |
KeySeed | string | |
LicenceURL | string | DRM Licence URL |
Policy | string | DRM Policy |
Provider | string | DRM Provider |
TrackType | string | TrackType |
OutputDRM.DrmProvider | DRMProvider | DRMProvider |
OutputDRM.DrmType | DRMType | DRMType |
Output.DeliveryState | TransferState | TransferState |
Output.HSS | Object | HSS |
AudioFragmentDuration | int | |
SubtitleFragmentDuration | int | |
VideoFragmentDuration | int | |
HSS.DRM | Object | OutputDRM |
ContentID | string | ContentID |
ContentKey | string | ContentKey |
CustomData | string | |
IV | string | DRM code |
KeyID | string | DRM KeyID |
KeySeed | string | |
LicenceURL | string | DRM Licence URL |
Policy | string | DRM Policy |
Provider | string | DRM Provider |
TrackType | string | TrackType |
OutputDRM.DrmProvider | DRMProvider | DRMProvider |
OutputDRM.DrmType | DRMType | DRMType |
DRM.DRM | Object | OutputDRM |
ContentID | string | ContentID |
ContentKey | string | ContentKey |
CustomData | string | |
IV | string | DRM code |
KeyID | string | DRM KeyID |
KeySeed | string | |
LicenceURL | string | DRM Licence URL |
Policy | string | DRM Policy |
Provider | string | DRM Provider |
TrackType | string | TrackType |
OutputDRM.DrmProvider | DRMProvider | DRMProvider |
OutputDRM.DrmType | DRMType | DRMType |
Output.DeliveryState | TransferState | TransferState |
Output.KeepOriginal | Object | KeepOriginal |
UseSameFileName | bool | |
Output.Metadata | Object | OutputMetadatas |
Album | string | NA |
Author | string | NA |
CopyRight | string | NA |
Description | string | NA |
Title | string | NA |
Output.MP2TS | Object | MP2TS |
BufferSize | int | NA |
MuxRate | int | MP2TS Muxing Quality Rate |
PCRPeriod | int | NA |
TTL | int | NA |
Name | string | Stream Name |
Provider | string | Stream Provider |
Title | string | Stream Title |
Output.MP4 | Object | MP4 |
FastStart | bool | Enable ise çıkışı MP4 olur |
RTPHint | bool | RTP ip ucu ekleme |
MP4.Mp4MuxingType | Mp4MuxingType | Mp4MuxingType |
Job.OutputGroups | Object | OutputGroup |
DARDenominator | int | |
DARNumerator | int | |
FrameRateDenominator | int | |
FrameRateNumerator | int | |
TimeOffset | int | |
ID | long | OutputGroup ID |
ISOLangCode | string | Encode dili |
Name | string | OutputGroup Name |
Type | StreamType | StreamType |
OutputGroup.Segments | Object | OutGroupSegments |
Length | long | Dosya uzunluğu |
OutputGroupSegments.Channels | Object | Channels |
Channel | AudioChannels | AudioChannels |
OutputGroupSegments.ResizeMethod | ResizeMethod | ResizeMethod |
OutputGroupSegments.SegmentItem | Object | OutputGroupSegmentsSegmentItem |
AnimationDuration | short | Video canlı kalma süresi |
AudioLevel | short | Dosya sesinin yüksekliği |
Rotation | short | Dosyayı döndürme |
InputStreamID | long | InputStreamID |
StartTime | long | Dosyanın başlangıç zamanı |
ChannelID | long | ChannelID |
CropBottom | int | Aşağıdan dosyayı kırpma |
CropLeft | int | Soldan dosyayı kırpma |
CropRight | int | Sağdan dosyayı kırpma |
CropTop | int | Üstten dosyayı kırpma |
PositionBottom | int | Aşağıdan dosyayı konumlandırma |
PositionLeft | int | Soldan dosyayı konumlandırma |
PositionRight | int | Sağdan dosyayı konumlandırma |
PositionTop | int | Üstten dosyayı konumlandırma |
SladeOnVideoLostActTime | int | |
SladeOnVideoLostInput | string | |
InputUID | string | InputUID |
OutputGroupSegmentsSegmentItem.Texts | Object | Text |
BackgroundColor | long | Text BackgroundColor |
FontColor | long | Text FontColor |
Caption | string | Text Caption |
FontType | string | Text FontType |
FontRotate | short | |
IsTimeCode | bool | |
PositionLeft | int | Text'i sola yasla |
PositionTop | int | Text'i üste konumlandır |
Size | int | Text boyutu |
Text.Animation | TextAnimation | Text Caption |
OutputGroupSegmentsItem.AnimationType | ScreenAnimationType | ScreenAnimationType |
OutputGroupSegmentsSegmentItem.Channels | Object | Channels |
Channel | AudioChannels | AudioChannels |
OutputGroupSegmentsSegmentItem.FillMethod | FillMethod | FillMethod |
OutputGroupSegmentsSegmentItem.FrameRate | EncodeFrameRates | EncoodeFrameRates |
OutputGroupSegmentsSegmentItem.Logos | Object | Logo |
Duration | int | |
Height | int | Logo'nun yüksekliği |
PositionLeft | int | Logo'yu sola yasla |
PositionTop | int | Logo'yu üstte konumlandır |
Width | int | Logo'nun genişliği |
ThreshholdColor | string | |
OutputGroupSegments.Texts | Object | Text |
BackgroundColor | long | Text BackgroundColor |
FontColor | long | Text FontColor |
FontColor | long | Text FontColor |
FontRotate | short | |
FontType | string | Text FontType |
Caption | string | Text Caption |
IsTimeCode | bool | |
PositionLeft | int | Text'i sola yasla |
PositionTop | int | Text'i üste konumlandır |
Text.Size | int | Text boyutu |
Text.Animation | TextAnimation | TextAnimation |
Job.Notify | Object | Notify nesnesi |
Address | string | |
Notify.Event | NotifyEvent | NotifyEvent |
Notify.Format | NotifyFormat | NotifyFormat |
Job.Inputs | Object | Input nesnesi |
Address | string | Dosyanın sistemde bulunduğu adres |
ItemName | string | Yüklenen dosyanan uzantısı ve adı |
LinkedInputUID | string | |
Duration | int | Yüklenen dosyanın uzunlugu(süresi) |
LiveReadTimeout | int | |
OrderNumber | int | |
IngestDuration | long | Dosyanın ne kadar sürede yüklendiği |
ItemSize | long | |
IngestEndTime | DateTime | Yüklenen dosyanın tamamlanma zamanı |
IngestStartTime | DateTime | Yüklenen dosyanın başlama zamanı |
Input.PositionType | Object | ItemPosition |
Progress | short | ItemPosition tamamlanma yüzdesi |
Start | int | |
UID | string | |
Input.Texts | Object | Text |
BackgroundColor | long | Text BackgroundColor |
FontColor | long | Text FontColor |
FontType | string | Text FontType |
Caption | string | Text Caption |
FontRotate | short | |
IsTimeCode | bool | |
PositionLeft | int | Text'i sola yasla |
PositionTop | int | Text'i üste konumlandır |
Size | int | Text boyutu |
Text.Animation | TextAnimation | Text Caption |
Input.ExpiryPolicy | SourceExpiryPolicy | SourceExpiryPolicy |
Input.IngestState | TransferState | TransferState |
Input.ResizeMethod | ResizeMethod | ResizeMethod |
Input.Streams | Object | InputStream |
AspectRatioX | short | |
AspectRatioY | short | |
AudioLevel | short | |
Interlaced | short | |
Duration | long | Dosyanın uzunluğu(süresi) |
Start | long | Başlama zamanı |
Name | string | Dosya Adı |
LinkedInputUIDPID | string | |
Position | string | Position |
ServiceName | string | ServiceName |
Codec | string | Dosyanın hangi formatla yüklendiğini |
Crop | string | Dosyanın kırpılması |
ISOLangCode | string | Encode dili |
FourCC | string | |
ServiceProvider | string | |
OrderID | int | OrderID |
PID | int | Preset Unique ID |
BitsPerSample | int | |
BitRate | int | 64Kb ile 65000 Kb arasında tanımlanabilir |
FrameRateDenominator | int | |
FrameSize | int | |
FrameTime | int | |
Height | int | Pencere yüksekliği |
ProgramID | int | ProgramID |
TimeOffset | int | |
Width | bool | Pencere genişliği |
InputStream.Channels | AudioChannels | AudioChannels |
InputStream.CropFillMethod | FillMethod | FillMethod |
InputStream.DeInterlacedMode | DeInterlaceMode | DeInterlaceMode |
InputStream.PositionType | Object | ItemPosition |
Progress | short | Tamamlanma yüzdesi |
Start | int | Başlama zamanı |
UID | string | UID |
InputStream.SampleRate | AudioSampleRate | AudioSampleRate |
InputStream.StreamType | StreamType | StreamType |
Input.Texts | Object | Text |
BackgroundColor | long | Text BackgroundColor |
FontColor | long | Text FontColor |
Caption | string | Text Caption |
FontType | string | Text FontType |
FontRotate | short | |
IsTimeCode | bool | |
PositionLeft | int | Text'i sola yasla |
PositionTop | int | Text'i üste konumlandır |
Size | int | Text boyutu |
Text.Animation | TextAnimation | Text Caption |
Job.History | Object | JobHistory |
Detail | string | Status'un detaylı açıklanmasıdır |
ErrorCode | int | Hata olması durumunda ErrorCode üretilir |
Time | DateTime | Dosya bu status'teki mevcut zamanını gösterir |
JobHistory.Status | JobState | JobState |
Sample Response
<Result>
<Action />
<StateCode>SUCCESS</StateCode>
<State>SUCCESS</State>
<Job>
<ID>4727</ID>
<State>Publishing</State>
<Message>Job Restarting</Message>
<UserID>YourUserID</UserID>
<Progress>100</Progress>
<Name>CreateJobSample</Name>
<Region>EU</Region>
<CreateDate>2018-07-30T07:41:26.9437136Z</CreateDate>
<StartDate>2018-07-30T07:41:26.9437136Z</StartDate>
<CompletedDate xsi:nil="true" />
<StopDate xsi:nil="true" />
<FailedDate>2018-07-30T07:46:51.4803328Z</FailedDate>
<ScheduleDate xsi:nil="true"> </ScheduleDate>
<ContentDuration>30.037</ContentDuration>
<ProcessDuration>8</ProcessDuration>
<InQueueDuration>1</InQueueDuration>
<IngestDuration>2</IngestDuration>
<Inputs>
<UID>Kn8A4w81394y</UID>
<Address>http://www.videobulut.com/contentVB/videos/usage.mp4"</Address>
<ItemSize>8755958</ItemSize>
<ItemName>NgVideo.mp4"</ItemName>
<IngestState>Finished"</IngestState>
<IngestStartTime>2018-06-26T09:03:06"</IngestStartTime>
<IngestEndTime>2018-06-26T09:03:08"</IngestEndTime>
<IngestDuration>2</IngestDuration>
<ExpiryPolicy>ExpiryAuto</ExpiryPolicy>
<Streams>
<StreamType>Video</StreamType>
<PID>1</PID>
<Duration>30000</Duration>
<Position>null</Position>
<Crop>null</Crop>
<PositionType>Frame</PositionType>
<LinkedInputUIDPID>null</LinkedInputUIDPID>
<Codec>H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10</Codec>
<Height>1440</Height>
<Width>2560</Width>
<FrameRateNumerator>30</FrameRateNumerator>
<FrameRateDenominator>0</FrameRateDenominator>
<StreamType>Audio</StreamType>
<PID>
2<PID>
<Duration>30037</Duration>
<Position>null</Position>
<Crop>null</Crop>
<LinkedInputUIDPID>null</LinkedInputUIDPID>
<ISOLangCode>eng</ISOLangCode>
<Codec>AAC (Advanced Audio Coding)</Codec>
<Channels>STEREO</Channels>
<SampleRate>48000 kHz</SampleRate>
</PID>
</PID>
</Streams>
</Inputs>
</Job>
</Result>
{
"Action": "RestartJob",
"StateCode": "SUCCESS",
"State": "SUCCESS",
"Job": {
"ID": 4727,
"State": "Inqueue",
"Message": "Job Restarting",
"UserID": 158,
"Name": "CreateJobSample",
"Region": "ANK",
"CreateDate": "2018-06-26T09:03:10",
"StartDate": "2018-06-26T09:03:10",
"FailedDate": "2018-06-26T09:03:10",
"ContentDuration": 30.037,
"IngestDuration": 2,
"Inputs": [
{
"UID": "Kn8A4w81394y",
"Address": "http://www.videobulut.com/contentVB/videos/usage.mp4",
"ItemSize": 8755958,
"ItemName": "NgVideo.mp4",
"IngestState": "Finished",
"IngestStartTime": "2018-06-26T09:03:06",
"IngestEndTime": "2018-06-26T09:03:08",
"IngestDuration": 2,
"ExpiryPolicy": "ExpiryAuto",
"Streams": [
{
"StreamType": "Video",
"PID": 1,
"Duration": 30000,
"Position": null,
"Crop": null,
"PositionType": "Frame",
"LinkedInputUIDPID": null,
"Codec": "H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10",
"Height": 1440,
"Width": 2560,
"FrameRateNumerator": 30,
"FrameRateDenominator": 1
},
{
"StreamType": "Audio",
"PID": 2,
"Duration": 30037,
"Position": null,
"Crop": null,
"LinkedInputUIDPID": null,
"ISOLangCode": "eng",
"Codec": "AAC (Advanced Audio Coding)",
"Channels": "STEREO",
"SampleRate": "48000 kHz"
}
]
}
}
Response Error
StateCode | State |
---|---|
AUTHENTICATION_ERROR | This Api Key does not exist. Please check your information and try again |
INTERNAL_ERROR | SUCCESS |
INVALID_OPERATION | Job cannot cancel from this state |
WRONG_XMLUSAGE | Yanlış XML kullanım hatası |
GetJobList
Tüm işlerinizle ilgili genel bilgileri tarih aralığına göre listeleyebilirsiniz.
Method | URL |
---|---|
Post | http://api.videobulut.com/Cloud |
Header
Field | Type | Description |
---|---|---|
Content-Type | String |
application/json application/xml |
Sample Request
<Request>
<Action>GetJobList</Action>
<APIKey>"apiKey"</APIKey>
<JobFilter>
<!-- Job create end end dates for Filtering-->
<FirstDate>2014-01-01T00:00:00</FirstDate>
<LastDate>2017-12-12T00:00:00</LastDate>
<!-- Item count for paging -->
<ItemCount>5</ItemCount>
<!-- Page no for paging-->
<Page>1</Page>
</JobFilter>
</Request>
{
"Action": "GetJobList",
"APIKey": ""apiKey"",
"JobFilter": {
"FirstDate": "2014-01-01T00:00:00",
//JobcreatedateforFiltering"LastDate": "2017-12-12T00:00:00",
//JobenddateforFiltering"ItemCount": "5",
"Page": "1"
}
}
Sample Response
<Result>
<Action>GetJobList</Action>
<StateCode>SUCCESS</StateCode>
<State>SUCCESS</State>
<Jobs>
<ID>82231</ID>
<State>Finished</State>
<Message>Job is completed.</Message>
<UserID>YourUserID</UserID>
<Progress>100</Progress>
<Name>New Job</Name>
<Region>EU</Region>
<CreateDate>2017-03-30T07:53:34</CreateDate>
<StartDate>2017-03-30T07:54:32</StartDate>
<CompletedDate>2017-03-30T07:54:32</CompletedDate>
<StopDate xsi:nil="true" />
<FailedDate xsi:nil="true" />
<ScheduleDate xsi:nil="true" />
<ContentDuration>138.198</ContentDuration>
<ProcessDuration>57</ProcessDuration>
<InQueueDuration>1</InQueueDuration>
<IngestDuration>8</IngestDuration>
<DeliveryDuration>1</DeliveryDuration>
<ID>82229</ID>
<State>Finished</State>
<Message>Job is completed.</Message>
<UserID>YourUserID</UserID>
<Progress>100</Progress>
<Name>CreateJobSample</Name>
<Region>EU</Region>
<CreateDate>2017-03-30T07:43:58</CreateDate>
<StartDate>2017-03-30T07:44:08</StartDate>
<CompletedDate>2017-03-30T07:44:08</CompletedDate>
<StopDate xsi:nil="true" />
<FailedDate xsi:nil="true" />
<ScheduleDate xsi:nil="true" />
<ContentDuration>30.037</ContentDuration>
<ProcessDuration>8</ProcessDuration>
<InQueueDuration>1</InQueueDuration>
<IngestDuration>2</IngestDuration>
<DeliveryDuration>1</DeliveryDuration>
<ID>82228</ID>
<State>Failed</State>
<Message>An error occurred while accessing delivery file(s). Please try again. </Message>
<UserID>YourUserID</UserID>
<Progress>100</Progress>
<Name>CreateJobSample</Name>
<Region>EU</Region>
<CreateDate>2017-03-30T07:41:26.9437136Z</CreateDate>
<StartDate>2017-03-30T07:41:26.9437136Z</StartDate>
<CompletedDate xsi:nil="true" />
<StopDate xsi:nil="true" />
<FailedDate>2017-03-30T08:54:27.8280295Z</FailedDate>
<ScheduleDate xsi:nil="true" />
<ContentDuration>30.037</ContentDuration>
<ProcessDuration>8</ProcessDuration>
<InQueueDuration>1</InQueueDuration>
<IngestDuration>2</IngestDuration>
<Inputs>
<Input>
<UID>4Zb38MA5483X</UID>
<Address>https://www.videobulut.com/sample/video.mp4 </Address>
<ItemSize>8754630</ItemSize>
<ItemName />
<IngestState>Finished</IngestState>
<IngestStartTime>2017-03-30T07:41:27.117Z</IngestStartTime>
<IngestEndTime>2017-03-30T07:41:29.446Z</IngestEndTime>
<IngestDuration>2</IngestDuration>
<OrderNumber>0</OrderNumber>
<ExpiryPolicy>ExpiryAuto</ExpiryPolicy>
</Input>
</Inputs>
<Outputs>
<Output>
<PresetID>0</PresetID>
<IsPackage>false</IsPackage>
<DeliveryState>InternalError</DeliveryState>
<DeliveryStartTime>2017-03-30T08:54:27.9129615Z</DeliveryStartTime>
<DeliveryEndTime>2017-03-30T08:54:27.9598776Z</DeliveryEndTime>
<DeliveryDuration>1</DeliveryDuration>
<IsPlayOut>false</IsPlayOut>
<Streams />
<Metadata>
<Title />
<CopyRight />
<Author />
<Description />
<Album />
</Metadata>
<UID>3nb9snp53G3y</UID>
<Address>videobulut://E9Rw2h7jd15K.mp4</Address>
</Output>
</Outputs>
</Job>
<Job>
<ID>82227</ID>
<State>Cancelled</State>
<Message>Job is cancelled by user.</Message>
<UserID>YourUserID</UserID>
<Progress>13</Progress>
<Name>CreateJobSample</Name>
<Region>EU</Region>
<CreateDate>2017-03-30T07:39:10.049601Z</CreateDate>
<StartDate>2017-03-30T07:39:10.049601Z</StartDate>
<CompletedDate xsi:nil="true" />
<StopDate>2017-03-30T07:39:16.1805633Z</StopDate>
<FailedDate xsi:nil="true" />
<ScheduleDate xsi:nil="true" />
<ContentDuration>30.037</ContentDuration>
<InQueueDuration>1</InQueueDuration>
<IngestDuration>1</IngestDuration>
<Inputs>
<Input>
<UID>EEufVw5EEKGK</UID>
<Address>https://www.videobulut.com/sample/video.mp4 </Address>
<ItemSize>8754630</ItemSize>
<ItemName />
<IngestState>Finished</IngestState>
<IngestStartTime>2017-03-30T07:39:10.234Z</IngestStartTime>
<IngestEndTime>2017-03-30T07:39:12.14Z</IngestEndTime>
<IngestDuration>1
</IngestDurati
<OrderNumber>0</OrderNumber>
<ExpiryPolicy>ExpiryAuto</ExpiryPolicy>
</Input>
</Inputs>
<Outputs>
<Output>
<PresetID>0</PresetID>
<IsPackage>false</IsPackage>
<DeliveryState>Waiting</DeliveryState>
<DeliveryStartTime>2017-03-30T07:39:10.0651903Z</DeliveryStartTime>
<DeliveryEndTime>2017-03-30T07:39:10.0651903Z</DeliveryEndTime>
<DeliveryDuration>0</DeliveryDuration>
<IsPlayOut>false</IsPlayOut>
<Streams />
<Metadata>
<Title />
<CopyRight />
<Author />
<Description />
<Album />
</Metadata>
<UID>d6Vnb0hEdVhh</UID>
<Address>videobulut://d6Vnb0hEdVhh.mp4</Address>
</Output>
</Outputs>
</Job>
<Job>
<ID>82226</ID>
<State>Finished</State>
<Message>Job is completed.</Message>
<UserID>YourUserID</UserID>
<Progress>100</Progress>
<Name>CreateJobSample</Name>
<Region>EU</Region>
<CreateDate>2017-03-30T07:33:46</CreateDate>
<StartDate>2017-03-30T07:33:56</StartDate>
<CompletedDate>2017-03-30T07:33:56</CompletedDate>
<StopDate xsi:nil="true" />
<FailedDate xsi:nil="true" />
<ScheduleDate xsi:nil="true" />
<ContentDuration>30.037</ContentDuration>
<ProcessDuration>8</ProcessDuration>
<InQueueDuration>1</InQueueDuration>
<IngestDuration>23</IngestDuration>
<DeliveryDuration>1</DeliveryDuration>
</Job>
<Job>
<ID>82222</ID>
<State>Finished</State>
<Message>Job is completed.</Message>
<UserID>YourUserID</UserID>
<Progress>100</Progress>
<Name>CreateJobSample</Name>
<Region>EU</Region>
<CreateDate>2017-03-29T14:09:57</CreateDate>
<StartDate>2017-03-29T14:55:40</StartDate>
<CompletedDate>2017-03-29T14:55:40</CompletedDate>
<StopDate xsi:nil="true" />
<FailedDate xsi:nil="true"
<ScheduleDate xsi:nil="true" />
<ContentDuration>30.037</ContentDuration>
<ProcessDuration>7</ProcessDuration>
<InQueueDuration>2735</InQueueDuration>
<IngestDuration>2</IngestDuration>
<DeliveryDuration>1</DeliveryDuration>
</Job>
<Job>
<ID>82219</ID>
<State>Finished</State>
<Message>Job is completed.</Message>
<UserID>YourUserID</UserID>
<Progress>100</Progress>
<Name>CreateJobSample</Name>
<Region>EU</Region>
<CreateDate>2017-03-29T14:06:00</CreateDate>
<StartDate>2017-03-29T14:55:02</StartDate>
<CompletedDate>2017-03-29T14:55:02</CompletedDate>
<StopDate xsi:nil="true" />
<FailedDate xsi:nil="true" />
<ScheduleDate xsi:nil="true" />
<ContentDuration>30.037</ContentDuration>
<ProcessDuration>8</ProcessDuration>
<InQueueDuration>2933</InQueueDuration>
<IngestDuration>1</IngestDuration>
<DeliveryDuration>1</DeliveryDuration>
</Job>
<Job>
<ID>82214</ID>
<State>Finished</State>
<Message>Job is completed.</Message>
<UserID>YourUserID</UserID>
<Progress>100</Progress>
<Name>CreateJobSample2</Name>
<Region>EU</Region>
<CreateDate>2017-03-29T13:54:36</CreateDate>
<StartDate>2017-03-29T14:54:37</StartDate>
<CompletedDate>2017-03-29T14:54:37</CompletedDate>
<StopDate xsi:nil="true" />
<FailedDate xsi:nil="true" />
<ScheduleDate xsi:nil="true" />
<ContentDuration>30.037</ContentDuration>
<ProcessDuration>8</ProcessDuration>
<InQueueDuration>3592</InQueueDuration>
<IngestDuration>1</IngestDuration>
<DeliveryDuration>1</DeliveryDuration>
</Job>
<Job>
<ID>82213</ID>
<State>Finished</State>
<Message>Job is completed.</Message>
<UserID>YourUserID</UserID>
<Progress>100</Progress>
<Name>CreateJobSample</Name>
<Region>EU</Region>
<CreateDate>2017-03-29T13:54:19</CreateDate>
<StartDate>2017-03-29T14:54:27</StartDate>
<CompletedDate>2017-03-29T14:54:27</CompletedDate>
<StopDate xsi:nil="true"
<FailedDate xsi:nil="true" />
<ScheduleDate xsi:nil="true" />
<ContentDuration>30.037</ContentDuration>
<ProcessDuration>8</ProcessDuration>
<InQueueDuration>3599</InQueueDuration>
<IngestDuration>11</IngestDuration>
<DeliveryDuration>1</DeliveryDuration>
</Job>
<Job>
<ID>82212</ID>
<State>Finished</State>
<Message>Job is completed.</Message>
<UserID>YourUserID</UserID>
<Progress>100</Progress>
<Name>CreateJobSample</Name>
<Region>US</Region>
<CreateDate>2017-03-29T13:53:26</CreateDate>
<StartDate>2017-03-29T13:59:09</StartDate>
<CompletedDate>2017-03-29T13:59:09</CompletedDate>
<StopDate xsi:nil="true" />
<FailedDate xsi:nil="true" />
<ScheduleDate xsi:nil="true" />
<ContentDuration>30.037</ContentDuration>
<ProcessDuration>5</ProcessDuration>
<InQueueDuration>337</InQueueDuration>
<IngestDuration>3</IngestDuration>
<DeliveryDuration>1</DeliveryDuration>
</Job>
</Jobs>
</Result>
{
"Action": "GetJobList",
"StateCode": "SUCCESS",
"State": "SUCCESS",
"Jobs": [{
"ID": 82231,
"State": "Finished",
"Message": "Job is completed.",
"UserID": "YourUserID",
"Progress": 100,
"Name": "New Job",
"Region": "EU",
"CreateDate": "2017-03-30T07:53:34",
"StartDate": "2017-03-30T07:54:32",
"CompletedDate": "2017-03-30T07:54:32",
"ContentDuration": 138.198,
"ProcessDuration": 57,
"InQueueDuration": 1,
"IngestDuration": 8,
"DeliveryDuration": 1
},
{
"ID": 82229,
"State": "Finished",
"Message": "Job is completed.",
"UserID": YourUserID,
"Progress": 100,
"Name": "CreateJobSample",
"Region": "EU",
"CreateDate": "2017-03-30T07:43:58",
"StartDate": "2017-03-30T07:44:08",
"CompletedDate": "2017-03-30T07:44:08",
"ContentDuration": 30.037,
"ProcessDuration": 8,
"InQueueDuration": 1,
"IngestDuration": 2,
"DeliveryDuration": 1
},
{
"ID": 82227,
"State": "Cancelled",
"Message": "Job is cancelled by user.",
"UserID": YourUserID,
"Progress": 13,
"Name": "CreateJobSample",
"Region": "EU",
"CreateDate": "2017-03-30T07:39:10.049601Z",
"StartDate": "2017-03-30T07:39:10.049601Z",
"StopDate": "2017-03-30T07:39:16.1805633Z",
"ContentDuration": 30.037,
"InQueueDuration": 1,
"IngestDuration": 1,
"Inputs": [{
"UID": "EEufVw5EEKGK",
"Address": "https://www.videobulut.com/sample/video.mp4",
"ItemSize": 8754630,
"ItemName": "",
"IngestState": "Finished",
"IngestStartTime": "2017-03-30T07:39:10.234Z",
"IngestEndTime": "2017-03-30T07:39:12.14Z",
"IngestDuration": 1,
"ExpiryPolicy": "ExpiryAuto"
}],
"Outputs": [{
"PresetID": 0,
"DeliveryState": "Waiting",
"DeliveryStartTime": "2017-03-30T07:39:10.0651903Z",
"DeliveryEndTime": "2017-03-30T07:39:10.0651903Z",
"DeliveryDuration": 0,
"IsPlayOut": false,
"Archive_FilePattern": null,
"Streams": [],
"Metadata": {
"Title": "",
"CopyRight": "",
"Author": "",
"Description": "",
"Album": ""
},
"UID": "d6Vnb0hEdVhh",
"Address": "videobulut://d6Vnb0hEdVhh.mp4"
}],
},
{
"ID": 82226,
"State": "Finished",
"Message": "Job is completed.",
"UserID": YourUserID,
"Progress": 100,
"Name": "CreateJobSample",
"Region": "EU",
"CreateDate": "2017-03-30T07:33:46",
"StartDate": "2017-03-30T07:33:56",
"CompletedDate": "2017-03-30T07:33:56",
"ContentDuration": 30.037,
"ProcessDuration": 8,
"InQueueDuration": 1,
"IngestDuration": 23,
"DeliveryDuration": 1
},
{
"ID": 82222,
"State": "Finished",
"Message": "Job is completed.",
"UserID": YourUserID,
"Progress": 100,
"Name": "CreateJobSample",
"Region": "EU",
"CreateDate": "2017-03-29T14:09:57",
"StartDate": "2017-03-29T14:55:40",
"CompletedDate": "2017-03-29T14:55:40",
"ContentDuration": 30.037,
"ProcessDuration": 7,
"InQueueDuration": 2735,
"IngestDuration": 2,
"DeliveryDuration": 1
},
{
"ID": 82219,
"State": "Finished",
"Message": "Job is completed.",
"UserID": YourUserID,
"Progress": 100,
"Name": "CreateJobSample",
"Region": "EU",
"CreateDate": "2017-03-29T14:06:00",
"StartDate": "2017-03-29T14:55:02",
"CompletedDate": "2017-03-29T14:55:02",
"ContentDuration": 30.037,
"ProcessDuration": 8,
"InQueueDuration": 2933,
"IngestDuration": 1,
"DeliveryDuration": 1
},
{
"ID": 82214,
"State": "Finished",
"Message": "Job is completed.",
"UserID": YourUserID,
"Progress": 100,
"Name": "CreateJobSample2",
"Region": "EU",
"CreateDate": "2017-03-29T13:54:36",
"StartDate": "2017-03-29T14:54:37",
"CompletedDate": "2017-03-29T14:54:37",
"ContentDuration": 30.037,
"ProcessDuration": 8,
"InQueueDuration": 3592,
"IngestDuration": 1,
"DeliveryDuration": 1
},
{
"ID": 82213,
"State": "Finished",
"Message": "Job is completed.",
"UserID": YourUserID,
"Progress": 100,
"Name": "CreateJobSample",
"Region": "EU",
"CreateDate": "2017-03-29T13:54:19",
"StartDate": "2017-03-29T14:54:27",
"CompletedDate": "2017-03-29T14:54:27",
"ContentDuration": 30.037,
"ProcessDuration": 8,
"InQueueDuration": 3599,
"IngestDuration": 11,
"DeliveryDuration": 1
},
{
"ID": 82212,
"State": "Finished",
"Message": "Job is completed.",
"UserID": YourUserID,
"Progress": 100,
"Name": "CreateJobSample",
"Region": "US",
"CreateDate": "2017-03-29T13:53:26",
"StartDate": "2017-03-29T13:59:09",
"CompletedDate": "2017-03-29T13:59:09",
"ContentDuration": 30.037,
"ProcessDuration": 5,
"InQueueDuration": 337,
"IngestDuration": 3,
"DeliveryDuration": 1
}
],
}
Response Error
StateCode | State |
---|---|
AUTHENTICATION_ERROR | This Api Key does not exist. Please check your information and try again |
INTERNAL_ERROR | SUCCESS |
WRONG_XMLUSAGE | Yanlış XML kullanım hatası |
Stream
CreateLiveStream
CreateLiveStream methodu canlı yayın bağlantısını sağlar. Canlı yayın bağlantısını yapmak için ihtiyaç duyulan Rtmp haberleşme noktası oluşturulur. Fonksiyonun çağrılması ile üretilen haberleşme adresine yayın sağlanarak job oluşturulur. Bağlantı kurulduktan sonra, yayın 30 dakika. içerisinde gerçekleşmezse; bağlantı linki otomatik olarak kapatılır. Bağlantı oluşturulma sırasında LiveStremInfo nesnesindeki Region ID ve Name parametreleri gönderilmezse, bağlantı default olarak kendisine en yakın Region'ı alır.
Method | URL |
---|---|
Post | http://api.videobulut.com/Cloud |
Header
Field | Type | Description |
---|---|---|
Content-Type | String |
application/json application/xml |
Request Body Parameters
Field | Type | Description |
---|---|---|
Action | String | CreateLiveStream |
API Key | String | Kullanıcınız için tanımlanmış olan anahtar |
Sample Request
<Request>
<Action>CreateLiveStream</Action>
<APIKey>"apiKey"</APIKey>
</Request>
{
"Action": "CreateLiveStream",
"APIKey": ""apiKey""
}
Response Parameters
Field | Type | Description |
---|---|---|
Action | String | CreateLiveStream |
StateCode | ServiceResponseCode | ServiceResponseCode |
State | string | StateCode'un detaylı açıklamasıdır |
LiveStreamInfo | LiveStreamer nesnesi | |
Region | string | Bölge Adı |
UID | string | Canlı yayın bağlantısı için oluşturulmuş UID değeri |
URL | string | Rtmp haberleşme protokolü ile kurulan yayın bağlantısının gerçekleştiği adres |
Sample Response
<Result>
<Action>CreateLiveStream</Action>
<StateCode>SUCCESS</StateCode>
<State>Operation Is Successful</State>
<LiveStreamInfo>
<Region>ANK</Region>
<URL>rtmp://ank01.videobulut.com/live/XVVT9pZ63wRj</URL>
<UID>XVVT9pZ63wRj</UID>
</LiveStreamInfo>
</Result>
{
"Action": "CreateLiveStream",
"StateCode": "SUCCESS",
"State": "Operation Is Successful",
"LiveStreamInfo": {
"Region": "ANK",
"URL": "rtmp://ank01.videobulut.com/live/XVVT9pZ63wRj",
"UID": "XVVT9pZ63wRj"
}
}
Response Error
StateCode | State |
---|---|
AUTHENTICATION_ERROR | This Api Key does not exist. Please check your information and try again |
INTERNAL_ERROR | SUCCESS |
WRONG_XMLUSAGE | Yanlış XML kullanım hatası |
DestroyLiveStream
Oluşturulan canlı yayın bağlantısının kapatılmasını sağlar. Rtmp haberleşme protokolü üzerindeki bağlantıyı sonlanlandırmak için Url ve UID bilgisi girilmelidir.
Method | URL |
---|---|
Post | http://api.videobulut.com/Cloud |
Header
Field | Type | Description |
---|---|---|
Content-Type | String |
application/json application/xml |
Request Body Parameters
Field | Type | Description | Default Values |
---|---|---|---|
Action | String | DestroyLiveStream | |
API Key | String | Kullanıcınız için tanımlanmış olan anahtar | |
LiveStreamInfo | Object | LiveStream | |
Region | String | Bölge Adı | ANK |
Started | bool | ||
UID | String | Canlı yayın bağlantısı için oluşturulmuş UID değer | |
URL | String | Rtmp haberleşme protokolü ile kurulan yayın bağlantısının gerçekleştiği adres |
Sample Request
<Request>
<Action>DestroyLiveStream</Action>
<APIKey>"apiKey"</APIKey>
<LiveStreamInfo>
<URL> rtmp://ank01.videobulut.com/live/y7RR4fCdCbpf </URL>
<UID>Mj5ZdVZ54ECX</UID>
</LiveStreamInfo>
</Request>
{
"Action": "DestroyLiveStream",
"APIKey": ""apiKey"",
"LiveStreamInfo": { "UID": "Mj5ZdVZ54ECX",
"URL": "rtmp://ank01.videobulut.com/live/y7RR4fCdCbpf"
}
}
Response Parameters
Field | Type | Description |
---|---|---|
Action | String | CreateLiveStream |
StateCode | ServiceResponseCode | ServiceResponseCode |
State | string | StateCode'un detaylı açıklamasıdır |
Sample Response
<Result>
<Action>DestroyLiveStream</Action>
<StateCode>SUCCESS</StateCode>
<State>Operation Is Successful</State>
<LiveStreamInfo>
<Region>ANK</Region>
<URL>rtmp://ank01.videobulut/live/z0CppGCA1jXh</URL>
<UID>Z0CppGCA1jXh<UID>
</UID></UID>
</LiveStreamInfo>
</Result>
{
"Action": "DestroyLiveStream",
"StateCode": "SUCCESS",
"State": "SUCCESS"
}
Response Error
StateCode | State |
---|---|
AUTHENTICATION_ERROR | This Api Key does not exist. Please check your information and try again |
INTERNAL_ERROR | SUCCESS |
WRONG_XMLUSAGE | Yanlış XML kullanım hatası |
Preset
GetPreset
GetPreset methodu, oluşturulan preset'ların tüm özelliklerini görüntüler. Her bir Preset'a bir PresetID tanımlanır ve sisteme kaydedilir. ID bazlı preset'lar tek tek gösterilebilmektedir.
Method | URL |
---|---|
Post | http://api.videobulut.com/Cloud |
Header
Field | Type | Description |
---|---|---|
Content-Type | String |
application/json application/xml |
Request Body Parameters
Field | Type | Description | Default Values |
---|---|---|---|
Action | String | GetPreset | |
API Key | String | Kullanıcınız için tanımlanmış olan anahtar | |
ID | String | Preset ID |
Sample Request
<Request>
<Action>GetPreset</Action>
<APIKey>"apiKey"</APIKey>
<ID>12</ID>
</Request>
{
"Action": "GetPreset",
"APIKey": ""apiKey"",
"ID": "12"
}
Response Parameters
Field | Type | Description |
---|---|---|
Action | String | GetPreset |
StateCode | ServiceResponseCode | ServiceResponseCode |
State | string | StateCode'un detaylı açıklamasıdır |
Job | Object | |
StreamLink | String | Cdn erişim adresi |
Region | String | Region Name |
CreateDate | Datetime | Job'ın oluşturulma zamanı |
StartDate | Datetime | Job'ın başlama zamanı |
ContentDuration | double | Yüklenen içeriğin süresi |
Job.State | JobState | JobState |
Job.Outputs | Object | Output |
Address | String | Job'ın kaydedildiği adres |
UID | String | UID |
ShortLink | String | NA |
StreamLink | String | Cdn erişim adresi |
DeliveryEndTime | DateTime | Job teslimatın tamamlandığı zaman |
DeliveryStartTime | DateTime | Job'ın teslim edilmesi için başlama zamanı |
IsPackage | bool | NA |
IsPlayOut | bool | NA |
OrderNumber | long | NA |
PresetID | long | Output Preset ID |
DeliveryDuration | long | Output'un yükleme süresi |
Size | long | Job Size |
Progress | short | Output tamamlanma yüzdesi |
Output.Streams | Object | OutputStream |
ISOLanguageCode | String | Encode dili |
StreamName | String | StreamName |
OutputGroupID | long | OutputGroupID |
VideoVBVInitialDelay | int | |
Width | int | Kullanıcı en fazla video boyutu maksimum 8192p seçilebilir. H264 çıkışını seçerseniz, genişliğiniz 4096 pikselden daha büyük olamaz. |
BitRate | int | 64Kb ile 65000 Kb arasında tanımlanabilir. |
Height | int | Kullanıcı en fazla video boyutu maksimum 8192p seçilebilir. H264 çıkışını seçerseniz, genişliğiniz 4096 pikselden daha büyük olamaz. |
ImageDPI | int | Bir inç karedeki nokta sayısı |
StreamPID | int | StreamPID |
VideoDarHeight | int | NA |
VideoDarWidth | int | NA |
VideoGOPLength | int | Ardışık resimlerin çerçeve uzunluklarının ayarlanması |
VideoIntraQPDelta | int | QP Değer aralığı [-51,51] arasındadır |
VideoIntraRefreshCycleSize | int | 0 ve 1 değerleri yoktur. Sadece başlatılma sırasında geçerlidir. |
VideoVBVBufferSize | int | |
VideoIntraRefreshPeriod | int | |
VideoKeyFramesMin | int | |
VideoMaxBFrame | int | MPEG standartlarında kullanılan video sıkıştırma yöntemi |
VideoMaxBitrate | int | VBR=0 ise bitrate, frame rate, profil ve level hesaplanır |
VideoMaxNumRefFrames | int | DPb maksimum referans |
VideoMaxQPB | short | B frame için maksimum QP [0-51] arasında değer alır |
VideoMaxQPI | short | I frame için maksimum QP [0-51] arasında değer alır |
VideoMaxQPP | short | P frame için maksimum QP [0-51] arasında değer alır |
VideoMinQPB | short | B frame için minimum QP [0-51] arasında değer alır |
VideoMinQPI | short | I frame için minimum QP [0-51] arasında değer alır |
VideoMinQPP | short | P frame için minimum QP [0-51] arasında değer alır |
VideoQPB | short | B frame [0-51] arasında değer alır |
VideoQPI | short | I frame [0-51] arasında değer alır |
VideoQPP | short | P frame [0-51] arasında değer alır |
VideoQuality | short | Video kalite değerleri [0-51] aralığındadır |
VideoRepeatSPSPPS | short | Disables SPS/PPS |
VideoTargetUsage | short | Video'nun kodlanma süresi [1-7] değer alır. Varsayılan değer=4 |
AudioADTSHeader | short | NA |
AudioBitsperSample | short | NA |
VideoIntraRefreshEnableFlag | short | Devre dışı ise resfresh, etkin ise MBs sütununa göre dikey refreshdir. |
VideoDisableSPSPPS | short | Disable SPS/PPS |
VideoEnableBPyramid | short | En az iki tane B frame ayarlandığında kullanılır |
OutputStream.AudioChannelLayout | AudioChannels | AudioChannels |
OutputStream.VideoRCMod | RCMode | RCMode |
OutputStream.AudioCodec | AudioCodecs | AudioCodecs |
OutputStream.VideoProfileLevel | VideoProfileLevel | VideoProfileLevel |
OutputStream.AudioSampleRate | AudioSampleRate | AudioSampleRate |
OutputStream.ImageCodec | ImageCodecs | ImageCodecs |
OutputStream.StreamType | StreamType | Is4K |
OutputStream.SubtitleCodec | SubtitleCodecs | SubtitleCodecs |
OutputStream.VideoCodec | VideoCodecs | VideoCodecs |
OutputStream.VideoColorMatrixCode | VideoColorMatrixCode | VideoColorMatrixCode |
OutputStream .VideoEntropyCodingMode | VideoEntropyCodingMode | VideoEntropyCodingMode |
OutputStream.VideoGOPOption | VideoGOPOption | VideoGOPOption |
Output.Thumbnail | Object | Thumbnail |
StartTime | long | NA |
EndTime | long | NA |
IsVTT | bool | NA |
MosaicX | short | NA |
MosaicY | short | NA |
Numerator | short | NA |
Denominator | short | NA |
Thumbnail.SelectionType | SelectType | SelectType |
Output.DASH | Object | DASH |
GenerateHLSManifest | bool | DASH dosyasında HLS'nin MP4 desteği için bir bildirim dosyası oluşturur |
IsSingleFile | bool | NA |
PreCautionDelay | int | ms(mili saniye) cinsinden gecikme |
SegmentDuration | int | 2-40 sn arasındadır |
SubtitleSegmentDuration | int | Yığın süresi |
TimeShiftSecond | int | 260000 saniyeye kadar ayarlanabilir |
DASH.DRM | Object | OutputDRM |
ContentID | string | ContentID(optional) |
ContentKey | string | ContentKey |
CustomData | string | NA |
IV | string | DRM code(optional) |
KeyID | string | DRM KeyID |
KeySeed | string | NA |
LicenceURL | string | DRM Licence URL |
Policy | string | DRM Policy(optional) |
Provider | string | DRM Provider(optional) |
TrackType | string | TrackType(optional) |
OutputDRM.DrmProvider | DRMProvider | DRMProvider |
OutputDRM.DrmType | DRMType | DRMType |
Output.DeliveryState | TransferState | TransferState |
Output.HLS | Object | HLS |
AllowCache | bool | Tekrar izlemek için indirilen dosyayı ön bellekte tutar |
AudioOnly | bool | Ses akışlarını oluşturur [1-16] aralığında değer alır |
DiscontStart | bool | İşaretlenirse süresiz olarak tekrarlanır |
IsSingleFile | bool | Tek bir dosya için byte aralık desteği |
NoEndList | bool | Listeyi bitirmeden VOD çıkışı yapar |
RoundDurations | bool | m3u8 |
SegmentDelete | bool | PlayLİst'ten kaldırıldığında dosyayı sil |
HLSProtocolVersion | short | HLS byte aralığ |
IFrameStream | short | I-Frame oluşturur |
SegmentWrap | short | |
PlayListCount | int | NA |
SegmentCount | int | NA |
SegmentDuration | int | 2000-40000 ms aralığındadır |
SegmentStartNumber | int | NA |
PublishURL | string | NA |
HLS.DRM | Object | OutputDRM |
ContentID | string | ContentID |
ContentKey | string | ContentKey |
CustomData | string | |
IV | string | DRM code |
KeyID | string | DRM KeyID |
KeySeed | string | |
LicenceURL | string | DRM Licence URL |
Policy | string | DRM Policy |
Provider | string | DRM Provider |
TrackType | string | TrackType |
OutputDRM.DrmProvider | DRMProvider | DRMProvider |
OutputDRM.DrmType | DRMType | DRMType |
Output.DeliveryState | TransferState | TransferState |
Output.HSS | Object | HSS |
AudioFragmentDuration | int | |
SubtitleFragmentDuration | int | |
VideoFragmentDuration | int | |
HSS.DRM | Object | OutputDRM |
ContentID | string | ContentID |
ContentKey | string | ContentKey |
CustomData | string | |
IV | string | DRM code |
KeyID | string | DRM KeyID |
KeySeed | string | |
LicenceURL | string | DRM Licence URL |
Policy | string | DRM Policy |
Provider | string | DRM Provider |
TrackType | string | TrackType |
OutputDRM.DrmProvider | DRMProvider | DRMProvider |
OutputDRM.DrmType | DRMType | DRMType |
DRM.DRM | Object | OutputDRM |
ContentID | string | ContentID |
ContentKey | string | ContentKey |
CustomData | string | |
IV | string | DRM code |
KeyID | string | DRM KeyID |
KeySeed | string | |
LicenceURL | string | DRM Licence URL |
Policy | string | DRM Policy |
Provider | string | DRM Provider |
TrackType | string | TrackType |
OutputDRM.DrmProvider | DRMProvider | DRMProvider |
OutputDRM.DrmType | DRMType | DRMType |
Output.DeliveryState | TransferState | TransferState |
Output.KeepOriginal | Object | KeepOriginal |
UseSameFileName | bool | |
Output.Metadata | Object | OutputMetadatas |
Album | string | NA |
Author | string | NA |
CopyRight | string | NA |
Description | string | NA |
Title | string | NA |
Output.MP2TS | Object | MP2TS |
BufferSize | int | NA |
MuxRate | int | MP2TS Muxing Quality Rate |
PCRPeriod | int | NA |
TTL | int | NA |
Name | string | Stream Name |
Provider | string | Stream Provider |
Title | string | Stream Title |
Output.MP4 | Object | MP4 |
FastStart | bool | Enable ise çıkışı MP4 olur |
RTPHint | bool | RTP ip ucu ekleme |
MP4.Mp4MuxingType | Mp4MuxingType | Mp4MuxingType |
Job.OutputGroups | Object | OutputGroup |
DARDenominator | int | |
DARNumerator | int | |
FrameRateDenominator | int | |
FrameRateNumerator | int | |
TimeOffset | int | |
ID | long | OutputGroup ID |
ISOLangCode | string | Encode dili |
Name | string | OutputGroup Name |
Type | StreamType | StreamType |
OutputGroup.Segments | Object | OutGroupSegments |
Length | long | Dosya uzunluğu |
OutputGroupSegments.Channels | Object | Channels |
Channel | AudioChannels | AudioChannels |
OutputGroupSegments.ResizeMethod | ResizeMethod | ResizeMethod |
OutputGroupSegments.SegmentItem | Object | OutputGroupSegmentsSegmentItem |
AnimationDuration | short | Video canlı kalma süresi |
AudioLevel | short | Dosya sesinin yüksekliği |
Rotation | short | Dosyayı döndürme |
InputStreamID | long | InputStreamID |
StartTime | long | Dosyanın başlangıç zamanı |
ChannelID | long | ChannelID |
CropBottom | int | Aşağıdan dosyayı kırpma |
CropLeft | int | Soldan dosyayı kırpma |
CropRight | int | Sağdan dosyayı kırpma |
CropTop | int | Üstten dosyayı kırpma |
PositionBottom | int | Aşağıdan dosyayı konumlandırma |
PositionLeft | int | Soldan dosyayı konumlandırma |
PositionRight | int | Sağdan dosyayı konumlandırma |
PositionTop | int | Üstten dosyayı konumlandırma |
SladeOnVideoLostActTime | int | |
SladeOnVideoLostInput | string | |
InputUID | string | InputUID |
OutputGroupSegmentsSegmentItem.Texts | Object | Text |
BackgroundColor | long | Text BackgroundColor |
FontColor | long | Text FontColor |
Caption | string | Text Caption |
FontType | string | Text FontType |
FontRotate | short | |
IsTimeCode | bool | |
PositionLeft | int | Text'i sola yasla |
PositionTop | int | Text'i üste konumlandır |
Size | int | Text boyutu |
Text.Animation | TextAnimation | Text Caption |
OutputGroupSegmentsItem.AnimationType | ScreenAnimationType | ScreenAnimationType |
OutputGroupSegmentsSegmentItem.Channels | Object | Channels |
Channel | AudioChannels | AudioChannels |
OutputGroupSegmentsSegmentItem.FillMethod | FillMethod | FillMethod |
OutputGroupSegmentsSegmentItem.FrameRate | EncodeFrameRates | EncoodeFrameRates |
OutputGroupSegmentsSegmentItem.Logos | Object | Logo |
Duration | int | |
Height | int | Logo'nun yüksekliği |
PositionLeft | int | Logo'yu sola yasla |
PositionTop | int | Logo'yu üstte konumlandır |
Width | int | Logo'nun genişliği |
ThreshholdColor | string | |
OutputGroupSegments.Texts | Object | Text |
BackgroundColor | long | Text BackgroundColor |
FontColor | long | Text FontColor |
FontRotate | short | |
FontType | string | Text FontType |
Caption | string | Text Caption |
IsTimeCode | bool | |
PositionLeft | int | Text'i sola yasla |
PositionTop | int | Text'i üste konumlandır |
Text.Size | int | Text boyutu |
Text.Animation | TextAnimation | Text Caption |
Job.History | Object | JobHistory |
Detail | string | Status'un detaylı açıklanmasıdır |
ErrorCode | int | Hata olması durumunda ErrorCode üretilir |
Time | DateTime | Dosya bu status'teki mevcut zamanını gösterir |
JobHistory.Status | JobState | JobState |
Sample Response
<Action>GetPreset</Action>
<StateCode>SUCCESS</StateCode>
<State>SUCCESS</State>
<Job>
<State>Pending</State>
<Region />
<Outputs>
<Output>
<PresetID>12</PresetID>
<StreamLink />
<DeliveryState>Waiting</DeliveryState>
<DeliveryStartTime>2018-07-02T10:48:04.8594247Z</DeliveryStartTime>
<DeliveryEndTime>2018-07-02T10:48:04.8594247Z</DeliveryEndTime>
<IsPlayOut xsi:nil="true" />
<MP4>
<RTPHint>false</RTPHint>
<FastStart>true</FastStart>
<Mp4MuxingType>MP4</Mp4MuxingType>
</MP4>
<Streams>
<OutputStream>
<StreamType>Video</StreamType>
<StreamPID>1</StreamPID>
<StreamName>Video_800k</StreamName>
<BitRate>800000</BitRate>
<Width>640</Width>
<Height>360</Height>
<VideoProfileLevel>3.1</VideoProfileLevel>
<VideoTargetUsage>4</VideoTargetUsage>
<VideoGOPLength>300</VideoGOPLength>
<VideoMaxBFrame>2</VideoMaxBFrame>
<VideoGOPOption>None</VideoGOPOption>
<VideoRCMode>LA</VideoRCMode>
<SubtitleCodec>Passthrough</SubtitleCodec>
</OutputStream>
<OutputStream>
<StreamType>Audio</StreamType>
<StreamPID>2</StreamPID>
<StreamName>Audio_64K</StreamName>
<BitRate>64000</BitRate>
<VideoCodec>NA</VideoCodec>
<VideoProfileLevel>NA</VideoProfileLevel>
<VideoGOPOption>None</VideoGOPOption>
<VideoRCMode>None</VideoRCMode>
<VideoEntropyCodingMode>None</VideoEntropyCodingMode>
<AudioADTSHeader>0</AudioADTSHeader>
<AudioSampleRate>44100 kHz</AudioSampleRate>
<AudioChannelLayout>STEREO</AudioChannelLayout>
<AudioCodec>AAC Low Complexity</AudioCodec>
<SubtitleCodec>Passthrough</SubtitleCodec>
</OutputStream>
</Streams>
<Metadata>
<Title> </Title >
<CopyRight></CopyRight >
<Author></Author >
<Description></Description >
<Album></Album >
</Metadata>
<UID>hs84uGEC1MVT</UID>
</Output>
</Outputs>
<History></History >
</Job>
</Result>
{
"Action": "GetPreset",
"StateCode": "SUCCESS",
"State": "SUCCESS",
"Job": {
"State": "Pending",
"StreamLink": null,
"Region": "",
"CreateDate": "2018-06-28T13:47:35.2470932Z",
"StartDate": "2018-06-28T13:47:35.2470932Z",
"ContentDuration": 0.0,
"Outputs": [
{
"PresetID": 12,
"StreamLink": "",
"DeliveryState": "Waiting",
"DeliveryStartTime": "2018-06-28T13:47:35.2626736Z",
"DeliveryEndTime": "2018-06-28T13:47:35.2626736Z",
"MP4": {
"RTPHint": false,
"FastStart": true,
"Mp4MuxingType": "MP4"
},
"Streams": [
{
"StreamType": "Video",
"StreamPID": 1,
"StreamName": "Video_800k",
"BitRate": 800000,
"Width": 640,
"Height": 360,
"VideoCodec": "H264_MAIN",
"VideoProfileLevel": "3.1",
"VideoTargetUsage": 4,
"VideoGOPLength": 300,
"VideoMaxBFrame": 2,
"VideoGOPOption": "None",
"VideoRCMode": "LA",
"VideoIntraRefreshEnableFlag": false,
"VideoRepeatSPSPPS": false,
"VideoDisableSPSPPS": false,
"SubtitleCodec": "Passthrough"
},
{
"StreamType": "Audio",
"StreamPID": 2,
"StreamName": "Audio_64K",
"BitRate": 64000,
"VideoCodec": "NA",
"VideoProfileLevel": "NA",
"VideoGOPOption": "None",
"VideoRCMode": "None",
"VideoEntropyCodingMode": "None",
"VideoIntraRefreshEnableFlag": false,
"VideoRepeatSPSPPS": false,
"VideoDisableSPSPPS": false,
"AudioADTSHeader": 0,
"AudioSampleRate": "44100 kHz",
"AudioChannelLayout": "STEREO",
"AudioCodec": "AAC Low Complexity",
"SubtitleCodec": "Passthrough"
}
],
"Metadata": {
"Title": "",
"CopyRight": "",
"Author": "",
"Description": "",
"Album": ""
},
"UID": "fGKMCbpCw4Vn"
}
],
"History": []
}
}
Response Error
StateCode | State |
---|---|
AUTHENTICATION_ERROR | This Api Key does not exist. Please check your information and try again |
INTERNAL_ERROR | SUCCESS |
MISSING_DATA | ID must have defined |
SavePreset
SavePreset methodu, sisteme yeni bir Preset oluşturulmasını sağlar. Bir preset oluşturmak için, Job parametreleri kullanılır.
Method | URL |
---|---|
Post | http://api.videobulut.com/Cloud |
Header
Field | Type | Description |
---|---|---|
Content-Type | String |
application/json application/xml |
Request Body Parameters
Field | Type | Description |
---|---|---|
Action | String | SavePreset |
API Key | String | Kullanıcınız için tanımlanmış olan anahtar |
Job | Object | |
PresetID | long | Job için oluşturulan Preset ID |
Name | string | Job Name |
Job.Outputs | Object | Output |
Address | string | Job'ın kaydedildiği adres |
UID | string | UID |
ShortLink | string | NA |
StreamLink | String | Cdn erişim adresi |
DeliveryEndTime | DateTime | Job teslimatın tamamlandığı zaman |
DeliveryStartTime | DateTime | Job'ın teslim edilmesi için başlama zamanı |
IsPackage | bool | NA |
IsPlayOut | bool | NA |
OrderNumber | long | NA |
PresetID | long | Output Preset ID |
DeliveryDuration | long | Output'un yükleme süresi |
Size | long | Job Size |
Progress | short | Output tamamlanma yüzdesi |
Output.Streams | Object | OutputStream |
ISOLanguageCode | String | Encode dili |
StreamName | String | StreamName |
OutputGroupID | long | OutputGroupID |
VideoVBVInitialDelay | int | |
Width | int | Kullanıcı en fazla video boyutu maksimum 8192p seçilebilir. H264 çıkışını seçerseniz, genişliğiniz 4096 pikselden daha büyük olamaz. |
BitRate | int | 64Kb ile 65000 Kb arasında tanımlanabilir. |
Height | int | Kullanıcı en fazla video boyutu maksimum 8192p seçilebilir. H264 çıkışını seçerseniz, genişliğiniz 4096 pikselden daha büyük olamaz. |
ImageDPI | int | Bir inç karedeki nokta sayısı |
StreamPID | int | StreamPID |
VideoDarHeight | int | NA |
VideoDarWidth | int | NA |
VideoGOPLength | int | Ardışık resimlerin çerçeve uzunluklarının ayarlanması |
VideoIntraQPDelta | int | QP Değer aralığı [-51,51] arasındadır |
VideoIntraRefreshCycleSize | int | 0 ve 1 değerleri yoktur. Sadece başlatılma sırasında geçerlidir. |
VideoVBVBufferSize | int | |
VideoIntraRefreshPeriod | int | |
VideoKeyFramesMin | int | |
VideoMaxBFrame | int | MPEG standartlarında kullanılan video sıkıştırma yöntemi |
VideoMaxBitrate | int | VBR=0 ise bitrate, frame rate, profil ve level hesaplanır |
VideoMaxNumRefFrames | int | DPb maksimum referans |
VideoMaxQPB | short | B frame için maksimum QP [0-51] arasında değer alır |
VideoMaxQPI | short | I frame için maksimum QP [0-51] arasında değer alır |
VideoMaxQPP | short | P frame için maksimum QP [0-51] arasında değer alır |
VideoMinQPB | short | B frame için minimum QP [0-51] arasında değer alır |
VideoMinQPI | short | I frame için minimum QP [0-51] arasında değer alır |
VideoMinQPP | short | P frame için minimum QP [0-51] arasında değer alır |
VideoQPB | short | B frame [0-51] arasında değer alır |
VideoQPI | short | I frame [0-51] arasında değer alır |
VideoQPP | short | P frame [0-51] arasında değer alır |
VideoQuality | short | Video kalite değerleri [0-51] aralığındadır |
VideoRepeatSPSPPS | short | Disables SPS/PPS |
VideoTargetUsage | short | Video'nun kodlanma süresi [1-7] değer alır. Varsayılan değer=4 |
AudioADTSHeader | short | NA |
AudioBitsperSample | short | NA |
VideoIntraRefreshEnableFlag | short | Devre dışı ise resfresh, etkin ise MBs sütununa göre dikey refreshdir. |
VideoDisableSPSPPS | short | Disable SPS/PPS |
VideoEnableBPyramid | short | En az iki tane B frame ayarlandığında kullanılır |
OutputStream.AudioChannelLayout | AudioChannels | AudioChannels |
OutputStream.VideoRCMod | RCMode | RCMode |
OutputStream.AudioCodec | AudioCodecs | AudioCodecs |
OutputStream.VideoProfileLevel | VideoProfileLevel | VideoProfileLevel |
OutputStream.AudioSampleRate | AudioSampleRate | AudioSampleRate |
OutputStream.ImageCodec | ImageCodecs | ImageCodecs |
OutputStream.StreamType | StreamType | Is4K |
OutputStream.SubtitleCodec | SubtitleCodecs | SubtitleCodecs |
OutputStream.VideoCodec | VideoCodecs | VideoCodecs |
OutputStream.VideoColorMatrixCode | VideoColorMatrixCode | VideoColorMatrixCode |
OutputStream .VideoEntropyCodingMode | VideoEntropyCodingMode | VideoEntropyCodingMode |
OutputStream.VideoGOPOption | VideoGOPOption | VideoGOPOption |
Output.Thumbnail | Object | Thumbnail |
StartTime | long | NA |
EndTime | long | NA |
IsVTT | bool | NA |
MosaicX | short | NA |
MosaicY | short | NA |
Numerator | short | NA |
Denominator | short | NA |
Thumbnail.SelectionType | SelectType | SelectType |
Output.DASH | Object | DASH |
GenerateHLSManifest | bool | DASH dosyasında HLS'nin MP4 desteği için bir bildirim dosyası oluşturur |
IsSingleFile | bool | NA |
PreCautionDelay | int | ms(mili saniye) cinsinden gecikme |
SegmentDuration | int | 2-40 sn arasındadır |
SubtitleSegmentDuration | int | Yığın süresi |
TimeShiftSecond | int | 260000 saniyeye kadar ayarlanabilir |
DASH.DRM | Object | OutputDRM |
ContentID | string | ContentID(optional) |
ContentKey | string | ContentKey |
CustomData | string | NA |
IV | string | DRM code(optional) |
KeyID | string | DRM KeyID |
KeySeed | string | NA |
LicenceURL | string | DRM Licence URL |
Policy | string | DRM Policy(optional) |
Provider | string | DRM Provider(optional) |
TrackType | string | TrackType(optional) |
OutputDRM.DrmProvider | DRMProvider | DRMProvider |
OutputDRM.DrmType | DRMType | DRMType |
Output.DeliveryState | TransferState | TransferState |
Output.HLS | Object | HLS |
AllowCache | bool | Tekrar izlemek için indirilen dosyayı ön bellekte tutar |
AudioOnly | bool | Ses akışlarını oluşturur [1-16] aralığında değer alır |
DiscontStart | bool | İşaretlenirse süresiz olarak tekrarlanır |
IsSingleFile | bool | Tek bir dosya için byte aralık desteği |
NoEndList | bool | Listeyi bitirmeden VOD çıkışı yapar |
RoundDurations | bool | m3u8 |
SegmentDelete | bool | PlayLİst'ten kaldırıldığında dosyayı sil |
HLSProtocolVersion | short | HLS byte aralığ |
IFrameStream | short | I-Frame oluşturur |
SegmentWrap | short | |
PlayListCount | int | NA |
SegmentCount | int | NA |
SegmentDuration | int | 2000-40000 ms aralığındadır |
SegmentStartNumber | int | NA |
PublishURL | string | NA |
HLS.DRM | Object | OutputDRM |
ContentID | string | ContentID |
ContentKey | string | ContentKey |
CustomData | string | |
IV | string | DRM code |
KeyID | string | DRM KeyID |
KeySeed | string | |
LicenceURL | string | DRM Licence URL |
Policy | string | DRM Policy |
Provider | string | DRM Provider |
TrackType | string | TrackType |
OutputDRM.DrmProvider | DRMProvider | DRMProvider |
OutputDRM.DrmType | DRMType | DRMType |
Output.DeliveryState | TransferState | TransferState |
Output.HSS | Object | HSS |
AudioFragmentDuration | int | |
SubtitleFragmentDuration | int | |
VideoFragmentDuration | int | |
HSS.DRM | Object | OutputDRM |
ContentID | string | ContentID |
ContentKey | string | ContentKey |
CustomData | string | |
IV | string | DRM code |
KeyID | string | DRM KeyID |
KeySeed | string | |
LicenceURL | string | DRM Licence URL |
Policy | string | DRM Policy |
Provider | string | DRM Provider |
TrackType | string | TrackType |
OutputDRM.DrmProvider | DRMProvider | DRMProvider |
OutputDRM.DrmType | DRMType | DRMType |
DRM.DRM | Object | OutputDRM |
ContentID | string | ContentID |
ContentKey | string | ContentKey |
CustomData | string | |
IV | string | DRM code |
KeyID | string | DRM KeyID |
KeySeed | string | |
LicenceURL | string | DRM Licence URL |
Policy | string | DRM Policy |
Provider | string | DRM Provider |
TrackType | string | TrackType |
OutputDRM.DrmProvider | DRMProvider | DRMProvider |
OutputDRM.DrmType | DRMType | DRMType |
Output.DeliveryState | TransferState | TransferState |
Output.KeepOriginal | Object | KeepOriginal |
UseSameFileName | bool | |
Output.Metadata | Object | OutputMetadatas |
Album | string | NA |
Author | string | NA |
CopyRight | string | NA |
Description | string | NA |
Title | string | NA |
Output.MP2TS | Object | MP2TS |
BufferSize | int | NA |
MuxRate | int | MP2TS Muxing Quality Rate |
PCRPeriod | int | NA |
TTL | int | NA |
Name | string | Stream Name |
Provider | string | Stream Provider |
Title | string | Stream Title |
Output.MP4 | Object | MP4 |
FastStart | bool | Enable ise çıkışı MP4 olur |
RTPHint | bool | RTP ip ucu ekleme |
MP4.Mp4MuxingType | Mp4MuxingType | Mp4MuxingType |
Job.OutputGroups | Object | OutputGroup |
DARDenominator | int | |
DARNumerator | int | |
FrameRateDenominator | int | |
FrameRateNumerator | int | |
TimeOffset | int | |
ID | long | OutputGroup ID |
ISOLangCode | string | Encode dili |
Name | string | OutputGroup Name |
Type | StreamType | StreamType |
OutputGroup.Segments | Object | OutGroupSegments |
Length | long | Dosya uzunluğu |
OutputGroupSegments.Channels | Object | Channels |
Channel | AudioChannels | AudioChannels |
OutputGroupSegments.ResizeMethod | ResizeMethod | ResizeMethod |
OutputGroupSegments.SegmentItem | Object | OutputGroupSegmentsSegmentItem |
AnimationDuration | short | Video canlı kalma süresi |
AudioLevel | short | Dosya sesinin yüksekliği |
Rotation | short | Dosyayı döndürme |
InputStreamID | long | InputStreamID |
StartTime | long | Dosyanın başlangıç zamanı |
ChannelID | long | ChannelID |
CropBottom | int | Aşağıdan dosyayı kırpma |
CropLeft | int | Soldan dosyayı kırpma |
CropRight | int | Sağdan dosyayı kırpma |
CropTop | int | Üstten dosyayı kırpma |
PositionBottom | int | Aşağıdan dosyayı konumlandırma |
PositionLeft | int | Soldan dosyayı konumlandırma |
PositionRight | int | Sağdan dosyayı konumlandırma |
PositionTop | int | Üstten dosyayı konumlandırma |
SladeOnVideoLostActTime | int | |
SladeOnVideoLostInput | string | |
InputUID | string | InputUID |
OutputGroupSegmentsSegmentItem.Texts | Object | Text |
BackgroundColor | long | Text BackgroundColor |
FontColor | long | Text FontColor |
Caption | string | Text Caption |
FontType | string | Text FontType |
FontRotate | short | |
IsTimeCode | bool | |
PositionLeft | int | Text'i sola yasla |
PositionTop | int | Text'i üste konumlandır |
Size | int | Text boyutu |
Text.Animation | TextAnimation | Text Caption |
OutputGroupSegmentsItem.AnimationType | ScreenAnimationType | ScreenAnimationType |
OutputGroupSegmentsSegmentItem.Channels | Object | Channels |
Channel | AudioChannels | AudioChannels |
OutputGroupSegmentsSegmentItem.FillMethod | FillMethod | FillMethod |
OutputGroupSegmentsSegmentItem.FrameRate | EncodeFrameRates | EncoodeFrameRates |
OutputGroupSegmentsSegmentItem.Logos | Object | Logo |
Duration | int | |
Height | int | Logo'nun yüksekliği |
PositionLeft | int | Logo'yu sola yasla |
PositionTop | int | Logo'yu üstte konumlandır |
Width | int | Logo'nun genişliği |
ThreshholdColor | string | |
OutputGroupSegments.Texts | Object | Text |
BackgroundColor | long | Text BackgroundColor |
FontColor | long | Text FontColor |
FontRotate | short | |
FontType | string | Text FontType |
Caption | string | Text Caption |
IsTimeCode | bool | |
PositionLeft | int | Text'i sola yasla |
PositionTop | int | Text'i üste konumlandır |
Text.Size | int | Text boyutu |
Text.Animation | TextAnimation | Text Caption |
Job.History | Object | JobHistory |
Detail | string | Status'un detaylı açıklanmasıdır |
ErrorCode | int | Hata olması durumunda ErrorCode üretilir |
Time | DateTime | Dosya bu status'teki mevcut zamanını gösterir |
JobHistory.Status | JobState | JobState |
Sample Request
<Request>
<Action>SavePreset</Action>
<!-- Fill this area your API Key -->
<APIKey>"apiKey"</APIKey>
<Job>
<PresetID>0</PresetID>
<!-- Preset Name -->
<Name>SavePresetSampleFromAPI</Name>
<Outputs>
<Output>
<OutputType>MP2TS</OutputType>
<Streams>
<OutputStream>
<StreamType>Video</StreamType>
<StreamPID>1</StreamPID>
<StreamName>Video_250K</StreamName>
<BitRate>250000</BitRate>
<Width>416</Width>
<Height>234</Height>
<VideoCodec>H264_BASELINE</VideoCodec>
<VideoProfileLevel>3.0</VideoProfileLevel>
<VideoTargetUsage>4</VideoTargetUsage>
<VideoGOPLength>100</VideoGOPLength>
<VideoRCMode>None</VideoRCMode>
<VideoEntropyCodingMode>CAVLC</VideoEntropyCodingMode>
<VideoRepeatSPSPPS>false</VideoRepeatSPSPPS>
<VideoDisableSPSPPS>false</VideoDisableSPSPPS>
</OutputStream>
<OutputStream>
<StreamType>Audio</StreamType>
<StreamPID>2</StreamPID>
<StreamName>Audio_64K</StreamName>
<BitRate>64000</BitRate>
<AudioSampleRate>44100 kHz</AudioSampleRate>
<AudioChannelLayout>STEREO</AudioChannelLayout>
<AudioCodec>AAC Low Complexity</AudioCodec>
</OutputStream>
</Streams>
<HLS>
<SegmentDelete>false</SegmentDelete>
<AllowCache>false</AllowCache>
<IsSingleFile>false</IsSingleFile>
<AudioOnly>false</AudioOnly>
<NoEndList>false</NoEndList>
<RoundDurations>false</RoundDurations>
<DiscontStart>false</DiscontStart>
</HLS>
</Output>
</Outputs>
</Job>
</Request>
{
"Action": "SavePreset",
"APIKey": ""apiKey"",
"Job": {
"PresetID": "0",
"Name": "SAVESAMPLE",
"Outputs": [
{
"HLS": {
"SegmentDelete": false,
"AllowCache": false,
"IsSingleFile": false,
"AudioOnly": false,
"NoEndList": false,
"RoundDurations": false,
"DiscontStart": false
},
"Streams": [
{
"StreamType": "Video",
"StreamPID": 1,
"StreamName": "Video_250K",
"BitRate": 250000,
"Width": 416,
"Height": 234,
"VideoCodec": "H264_BASELINE",
"VideoProfileLevel": "3.0",
"VideoTargetUsage": 4,
"VideoGOPLength": 100,
"VideoRCMode": "None",
"VideoEntropyCodingMode": "CAVLC",
"VideoIntraRefreshEnableFlag": false,
"VideoRepeatSPSPPS": false,
"VideoDisableSPSPPS": false
},
{
"StreamType": "Audio",
"StreamPID": 2,
"StreamName": "Audio_64K",
"BitRate": 64000,
"AudioSampleRate": "44100 kHz",
"AudioChannelLayout": "STEREO",
"AudioCodec": "AAC Low Complexity"
}]
}
]
}
}
Response Parameters
Field | Type | Description |
---|---|---|
Action | String | SavePreset |
StateCode | ServiceResponseCode | ServiceResponseCode |
State | string | StateCode'un detaylı açıklamasıdır |
Job | Object | |
State | JobState | JobState |
StreamLink | string | Job'ın Cdn'de kaydedilen adresi |
ContentDuration | double | İçeriğin Yüklenme Süresi |
PresetID | long | Preset Unique ID |
Job.Type | JobType | JobType |
Sample Response
<Result>
<Action>SavePreset</Action>
<StateCode>SUCCESS</StateCode>
<State>SUCCESS</State>
<Job>
<State>Pending"</State>
<Type>Unknown"</Type>
<PresetID>124</PresetID>
<StreamLink>null</StreamLink>
<ContentDuration>0.0</ContentDuration>
<Job>
</Job>
</Job>
</Result>
{
"Action": "SavePreset",
"StateCode": "SUCCESS",
"State": "SUCCESS",
"Job": {
"State": "Pending",
"Type": "Unknown",
"PresetID": 124,
"StreamLink": null,
"ContentDuration": 0.0
}
}
Response Error
StateCode | State |
---|---|
AUTHENTICATION_ERROR | This Api Key does not exist. Please check your information and try again |
INTERNAL_ERROR | SUCCESS |
DeletePreset
Preset'ların silindiği methottur. PresetID değeri girilerek silme işlemi yapılır.
Method | URL |
---|---|
Post | http://api.videobulut.com/Cloud |
Header
Field | Type | Description |
---|---|---|
Content-Type | String |
application/json application/xml |
Request Body Parameters
Field | Type | Description |
---|---|---|
Action | String | DeletePreset |
API Key | String | Kullanıcınız için tanımlanmış olan anahtar |
ID | String | Silinecek Preset'ın Unique ID'si |
Sample Request
<Request>
<Action>DeletePreset</Action>
<APIKey>"apiKey"</APIKey>
<ID>158</ID>
</Request>
{
"Action": "DeletePreset",
"APIKey": ""apiKey"",
"ID": "158"
}
Response Parameters
Field | Type | Description |
---|---|---|
Action | String | DeletePreset |
StateCode | ServiceResponseCode | ServiceResponseCode |
State | string | StateCode'un detaylı açıklamasıdır |
Sample Response
<Result>
<Action>DeletePreset</Action>
<StateCode>SUCCESS</StateCode>
<State>SUCCESS</State>
</Result>
{
"Action": "DeletePreset",
"StateCode": "SUCCESS",
"State": "SUCCESS"
}
Response Error
StateCode | State |
---|---|
AUTHENTICATION_ERROR | This Api Key does not exist. Please check your information and try again |
INTERNAL_ERROR | SUCCESS |
RECORD_NOT_FOUND | Preset record not found |
Files
GetFiles
Sistem üzerindeki dosyaları gösterir.FileFilter parametreleriyle filtreleme yaparak istediğiniz dosyaları görüntüleyebilirsiniz
Method | URL |
---|---|
Post | http://api.videobulut.com/Cloud |
Header
Field | Type | Description |
---|---|---|
Content-Type | String |
application/json application/xml |
Request Body Parameters
Field | Type | Description | Default Values |
---|---|---|---|
Action | String | GetFiles | |
FileFilter | Object | CustomerFileFilter | |
FileUIDs | String | Dosya ID değeridir. Maksimum bir Dosya ID değeri girilebilir. | |
GetMediaInfo | bool | Dosya MediaInfo(VideoAudio) bilgilerini gösterir. False olması durumunda bu alan gösterilmez. | True |
IsDescending | bool | Dosyaları tarih bazlı olarak sıralar. True seçilrse en son yüklenen dosyadan ilk yüklenene dosyaya doğru tarih bazlı olarak sıralar. | True |
PageItemCount | int | Sistemdeki dosyaları seçilen sayı kadar gösterir.'PageItemCount=2' seçilirse 2 dosya bilgisini gösterir. | |
PageNo | int | Seçilen sayfa numarasıyla ilgili sayfadaki ıtem'ları gösterir. 'PageNo=5' seçilirse 5 numaralı saydaki dosyaları gösterir. | |
RegionID | int | Her bir bölge için bir RegionID değeri tanımlanmıştır. Region ID değeri girilerek sadece ilgili bölgedeki dosyaları gösterir. | |
SearchFileName | String | Sistemdeki dosyaları dosya adı girilerek görüntülenmesini sağlar. Dosyalar, sisteme dosya uzantılarıyla birlikte kaydedilmektedir. | |
EncodedState | EncodedStateFilter | EncodedStateFilter | |
ExpiryPolicy | SourceExpiryPolicy | SourceExpiryPolicy | |
State | CustomerFileState | CustomerFileState | |
Type | CustomerFileType | CustomerFileType |
Sample Request
<Request>
<Action>GetFiles</Action>
<APIKey>"apiKey"</APIKey>
<FileFilter>
<PageNo>1</PageNo>
<PageItemCount>1</PageItemCount>
<SearchFileName></SearchFileName>
<GetMediaInfo>true</GetMediaInfo>
<Type>Ingested</Type>
<EncodedState>EncodedFiles</EncodedState>
<IsDescending>true</IsDescending>
<RegionID>1</RegionID>
<FileUIDs></FileUIDs>
</FileFilter>
</Request>
{
"Action": "GetFiles",
"APIKey": ""apiKey"",
"FileFilter":{
"PageNo": "1",
"PageItemCount": "1",
"SearchFileName": "",
"GetMediaInfo": "True",
"Type": "Ingested",
"EncodedState": "EncodedFiles",
"IsDescending": "True",
"RegionID": "1",
"FileUIDs": ""
}
}
Response Parameters
Field | Type | Description |
---|---|---|
Action | String | GetFiles |
StateCode | ServiceResponseCode | ServiceResponseCode |
State | string | StateCode'un detaylı açıklamasıdır |
Files | Object | Dosya bilgileri |
DownloadLink | string | Erişim adresi |
FileName | string | Dosya Adı |
LastDate | DateTime | Son kullanım zamanı |
Region | string | Region adı |
Size | long | Byte cinsinden boyut |
UID | string | File Unique ID |
UploadDate | DateTime | Dosya yükleme zamanı |
State | CustomerFileState | Durumu |
Type | CustomerFileType | Tipi |
Files.MediaInfo | Object | |
MediaInfo.Audios | Object | MediaInfoAudio |
Bitrate | int | Dosyanın 1 sn'deki veri miktarı |
ChannelLayout | int | |
Channels | int | |
Duration | long | Dosya süresi(ms) |
Format | string | Dosya formatı |
Language | string | Dosyanın kodlandığı dil |
PID | int | Preset Unique ID, Dosya oluşturulurken seçilen Preset. Her Preset sistemde PresetID olarak tanımlanmaktadır |
ProgramID | int | Program Unique ID |
ProgramName | string | ProgramName |
SamplingRate | int | Analog ses dalgasının saniyedeki örneklemesi(1sn de 48000 kez ) |
ServiceName | string | Servis İsmi |
ServiceProvider | string | Servis Sağlayıcısı |
MediaInfo.Images | Object | MediaInfoImage |
Format | string | Dosya formatı |
Height | int | Dosya penceresinin yüksekliği |
PID | int | Unique ID |
Width | int | Dosya penceresinin genişliği |
MediaInfo.Subtitles | Object | MediaInfoSubtitle |
Duration | long | Dosya süresi(ms) |
Format | string | Dosya formatı |
Language | string | Dosyanın kodlandığı dil |
PID | int | Preset Unique ID |
ProgramID | int | Program Unique ID |
ProgramName | string | ProgramName |
ServiceName | string | Servis İsmi |
ServiceProvider | string | Servis Sağlayıcısı |
MediaInfo.Videos | Object | MediaInfoVideo |
Bitrate | int | Dosyanın 1 sn'deki veri miktarı |
Duration | long | Dosyanın süresi(ms) |
Format | string | Dosya formatı |
FrameRate | string | |
FrameRateDen | int | |
FrameRateNum | int | |
Height | int | Dosya penceresinin yüksekliği |
PID | int | Preset Unique ID |
ProgramID | int | Program Unique ID |
ProgramName | string | ProgramName |
ServiceName | string | Servis İsmi |
ServiceProvider | string | Servis Sağlayıcısı |
Width | int | Dosya penceresinin genişliği |
Files.ExpiryPolic | SourceExpiryPolicy | SourceExpiryPolicy |
Sample Response
<Request>
<Action>GetFiles</Action>
<StateCode>SUCCESS</StateCode>
<State>SUCCESS</State>
<Files>
<UID>ydn21ZhX0f6E</UID>
<Reigon>
ANK</Region>
<FilesName>c1.mkv</FilesName>
<Size>4302912</Size>
<UploadDate>2019-03-11T10:52:52</UploadDate>
<DownloadLink>ts02ank.videobulut.com/FTS/22wfVGs360Gu</DownloadLink>
<Type>Ingested</Type>
<State>Published</State>
<MediaInfo>
<Videos>
<PID>
1<PID>
<Duration>114002</Duration>
<ProgramID>0</ProgramID>
<ProgramName></ProgramName>
<ServiceName></ServiceName>
<ServiceProvider></ServiceProvider>
<Format>Google VP9</Format>
<Bitrate>0</Bitrate>
<Width>854</Width>
<Height>480</Height>
<FrameRate>null</FrameRate>
<FrameRateDen>1</FrameRateDen>
<FrameRateNum>25</FrameRateNum>
<Videos>
<Audios>
<PID>2</PID>
<ProgramID>0</ProgramID>
<ProgramName>null</ProgramName>
<ServiceName></ServiceName>
<ServiceProvider></ServiceProvider>
<Format>Opus (Opus Interactive Audio Codec)</Format>
<Duration>114002</Duration>
<Bitrate>
0<Bitrate>
<Channels>0</Channels>
<SamplingRate>48000</SamplingRate>
<Language>-</Language>
<ChannelLayout>3</ChannelLayout>
</Bitrate>
</Bitrate>
</Audios>
<Subtitles>null</Subtitles>
<Images>null</Images>
</Videos>
</PID>
</PID>
</Videos>
</MediaInfo>
</Reigon>
</Files>
</Request>
{
"Action": "GetFiles",
"StateCode": "SUCCESS",
"State": "SUCCESS",
"Files": [
{
"UID": "u3ZGV656AwpA",
"Region": "ANK",
"FileName": "NgVideo.mp4",
"Size": 8755958,
"UploadDate": "2018-07-02T13:39:49",
"LastDate": "2018-07-02T13:39:49",
"DownloadLink": "ts02ank.videobulut.com/wsd2CRpAf4wn",
"Type": "Ingested",
"State": "Published",
"MediaInfo": {
"Videos": [
{
"PID": 1,
"Duration": 30000,
"ProgramID": 0,
"ProgramName": null,
"ServiceName": "",
"ServiceProvider": "",
"Format": "H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10",
"Bitrate": 2076373,
"Width": 2560,
"Height": 1440,
"FrameRate": null,
"FrameRateDen": 1,
"FrameRateNum": 30
}
],
"Audios": [
{
"PID": 2,
"ProgramID": 0,
"ProgramName": null,
"ServiceName": "",
"ServiceProvider": "",
"Format": "AAC (Advanced Audio Coding)",
"Duration": 30037,
"Bitrate": 253375,
"Channels": 0,
"SamplingRate": 48000,
"Language": "eng",
"ChannelLayout": 3
}
],
"Subtitles": null,
"Images": null
}
}
]
}
Response Error
StateCode | State |
---|---|
AUTHENTICATION_ERROR | This Api Key does not exist. Please check your information and try again |
INTERNAL_ERROR | SUCCESS |
MISSING_DATA | Missing data. Please check your information and try again. |
WRONG_XMLUSAGE | Yanlış XML kullanım hatası |
PublishFiles
Encode dosyalarının Publish edilmesini sağlar. FileFilter nesnesi ile birden çok dosyanın FileUIDs'leri girilerek tek bir request ile birden çok dosya yayınlanabilmektedir.
Method | URL |
---|---|
Post | http://api.videobulut.com/Cloud |
Header
Field | Type | Description |
---|---|---|
Content-Type | String |
application/json application/xml |
Request Body Parameters
Field | Type | Description |
---|---|---|
Action | string | PublishFiles |
API Key | string | Kullanıcınız için tanımlanmış olan anahtar |
FileFilter | Object | CustomerFileFilter |
FileUIDs | string | Dosyanın yayınlanması için girilen dosya UID'sidir.Çoklu dosya tanımı ';' ayracı ile sağlanabilmektedir |
Sample Request
<Request>
<Action>PublishFiles</Action>
<APIKey>"apiKey"</APIKey>
<FileFilter>
<FileUIDs>A14V7pnKuZ2b</FileUIDs>
</FileFilter>
</Request>
{
"Action": "PublishFiles",
"APIKey": ""apiKey"",
"FileFilter":{
"FileUIDs": "A14V7pnKuZ2b"
}
}
Response Parameters
Field | Type | Description |
---|---|---|
Action | String | GetFiles |
StateCode | ServiceResponseCode | ServiceResponseCode |
State | string | StateCode'un detaylı açıklamasıdır |
Files | Object | Dosya bilgileri |
DownloadLink | string | Erişim adresi |
FileName | string | Dosya Adı |
LastDate | DateTime | Son kullanım zamanı |
Region | string | Region adı |
Size | long | Byte cinsinden boyut |
UID | string | File Unique ID |
UploadDate | DateTime | Dosya yükleme zamanı |
State | CustomerFileState | Durumu |
Type | CustomerFileType | Tipi |
ExpiryPolicy | SourceExpiryPolicy | SourceExpiryPolicy |
Sample Response
<Result>
<Action>PublishFiles</Action>
<StateCode>SUCCESS</StateCode>
<State>SUCCESS</State>
<Files>
<CustomerFile>
<UID>jZVGfC41214u</UID>
<Region>ANK</Region>
<FileName>NgVideo.mp4</FileName>
<Size>8755958</Size>
<UploadDate>2018-07-30T13:32:36</UploadDate>
<LastDate>2018-07-30T13:32:36</LastDate>
<DownloadLink>ts02ank.VideoBulut.com/FTS/jZVGfC41214u</DownloadLink>
<Type>Ingested</Type>
<State>Published</State>
</CustomerFile>
</Files>
</Result>
{
"Action": "PublishFiles",
"StateCode": "SUCCESS",
"State": "SUCCESS",
"Files": [
{
"UID": "A14V7pnKuZ2b",
"Region": "ANK",
"FileName": "NgVideo.mp4",
"Size": 8755958,
"UploadDate": "2018-06-20T08:29:04",
"LastDate": "2018-06-20T11:32:52",
"DownloadLink": "ts02ank.videobulut.com/A14V7pnKuZ2b",
"Type": "Ingested",
"State": "Published"
"ExpiryPolicy": "ExpiryNone"
}
]
}
Response Error
StateCode | State |
---|---|
AUTHENTICATION_ERROR | This Api Key does not exist. Please check your information and try again |
INTERNAL_ERROR | SUCCESS |
MISSING_DATA | Missing data. Please check your information and try again. |
WRONG_XMLUSAGE | Yanlış XML kullanım hatası |
UnPublishFiles
Publish edilen dosyanın veya dosyaların yayından kaldırılmasını sağlar. FileFilter nesnesi ile birden çok dosyanın FileUIDs'leri girilerek tek bir request ile birden çok dosya yayından kaldırılabilmektedir.
Method | URL |
---|---|
Post | http://api.videobulut.com/Cloud |
Header
Field | Type | Description |
---|---|---|
Content-Type | String |
application/json application/xml |
Request Body Parameters
Field | Type | Description |
---|---|---|
Action | string | UnPublishFiles |
API Key | string | CustomerFileFilter |
FileFilter | Object | FileFilter tag for filtering response list of action. |
FileUIDs | string | Yayından kaldırılacak Dosya UID'si.Çoklu dosya tanımı ';' ayracı ile sağlanabilmektedir. |
Sample Request
<Request>
<Action>UnPublishFiles</Action>
<APIKey>"apiKey"</APIKey>
<FileFilter>
<!--Deletes the files according it's UID, use “;” for more than one UIDs -->
<FileUIDs>A14V7pnKuZ2b</FileUIDs>
</FileFilter>
</Request>
{
"Action": "UnPublishFiles",
"APIKey": ""apiKey"",
"FileFilter":{
"FileUIDs": "A14V7pnKuZ2b"
}
}
Response Parameters
Field | Type | Description |
---|---|---|
Action | String | GetFiles |
StateCode | ServiceResponseCode | ServiceResponseCode |
State | string | StateCode'un detaylı açıklamasıdır |
Files | Object | Dosya bilgileri |
DownloadLink | string | Erişim adresi |
FileName | string | Dosya Adı |
LastDate | DateTime | Son kullanım zamanı |
Region | string | Region adı |
Size | long | Byte cinsinden boyut |
UID | string | File Unique ID |
UploadDate | DateTime | Dosya yükleme zamanı |
State | CustomerFileState | Durumu |
Type | CustomerFileType | Tipi |
ExpiryPolicy | SourceExpiryPolicy | SourceExpiryPolicy |
Sample Response
<Result>
<Action>UnPublishFiles</Action>
<StateCode>SUCCESS</StateCode>
<State>SUCCESS</State>
<Files>
<CustomerFile>
<UID>A14V7pnKuZ2b</UID>
<Region>ANK</Region>
<FileName>NgVideo.mp4</FileName>
<Size>8755958</Size>
<UploadDate>2018-06-20T08:29:04</UploadDate>
<LastDate>2018-06-20T11:43:47</LastDate>
<DownloadLink>ts02ank.videobulut.com/A14V7pnKuZ2b</DownloadLink>
<Type>Ingested</Type>
<State>Deleted</State>
<Error>File deleted</Error>
</CustomerFile>
</Files>
{
"Action": "UnPublishFiles",
"StateCode": "SUCCESS",
"State": "SUCCESS",
"Files": [
{
"UID": "A14V7pnKuZ2b",
"Region": "ANK",
"FileName": "NgVideo.mp4",
"Size": 8755958,
"UploadDate": "2018-06-20T08:29:04",
"LastDate": "2018-06-20T11:32:52",
"DownloadLink": "ts02ank.videobulut.com/A14V7pnKuZ2b",
"Type": "Ingested",
"State": "UnPublished"
"ExpiryPolicy": "ExpiryNone"
}
]
}
Response Error
StateCode | State |
---|---|
AUTHENTICATION_ERROR | This Api Key does not exist. Please check your information and try again |
INTERNAL_ERROR | SUCCESS |
MISSING_DATA | Missing data. Please check your information and try again. |
WRONG_XMLUSAGE | Yanlış XML kullanım hatası |
DeleteFiles
Sistem üzerinde konumlandırılmış olan bir veya birden çok dosyaların silinmesi sağlar. Bu fonksiyonun kullanılması için Dosya UID bilgisi gerekmektedir. GetFiles fonksiyonu ile dosyaların UID değerleri öğrenilebilir.
Method | URL |
---|---|
Post | http://api.videobulut.com/Cloud |
Header
Field | Type | Description |
---|---|---|
Content-Type | String |
application/json application/xml |
Request Body Parameters
Field | Type | Description |
---|---|---|
Action | String | DeleteFiles |
API Key | String | Kullanıcınız için tanımlanmış olan anahtar |
FileFilter | Object | CustomerFileFilter |
FileUIDs | String | Dosya ID, çoklu dosya tanımı ';' ayracı ile sağlanabilmektedir. |
Sample Request
<Request>
<Action>DeleteFiles</Action>
<APIKey>"apiKey"</APIKey>
<FileFilter>
<!--Deletes the files according it's UID, use “;” for more than one UIDs -->
<FileUIDs>A14V7pnKuZ2b</FileUIDs>
</FileFilter>
</Request>
{
"Action": "DeleteFiles",
"APIKey": ""apiKey"",
"FileFilter":{
"FileUIDs": "A14V7pnKuZ2b"
}
}
Response Parameters
Field | Type | Description |
---|---|---|
Action | String | GetFiles |
StateCode | ServiceResponseCode | ServiceResponseCode |
State | string | StateCode'un detaylı açıklamasıdır |
Files | Object | Dosya bilgileri |
DownloadLink | string | Erişim adresi |
FileName | string | Dosya Adı |
LastDate | DateTime | Son kullanım zamanı |
Region | string | Region adı |
Size | long | Byte cinsinden boyut |
UID | string | File Unique ID |
UploadDate | DateTime | Dosya yükleme zamanı |
State | CustomerFileState | Durumu |
Type | CustomerFileType | Tipi |
Sample Response
<Result>
<Action>DeleteFiles</Action>
<StateCode>SUCCESS</StateCode>
<State>SUCCESS</State>
<Files>
<CustomerFile>
<UID>A14V7pnKuZ2b</UID>
<Region>ANK</Region>
<FileName>NgVideo.mp4</FileName>
<Size>8755958</Size>
<UploadDate>2018-06-20T08:29:04</UploadDate>
<LastDate>2018-06-20T11:43:47</LastDate>
<DownloadLink>ts02ank.VideoBulut.com/FTS/A14V7pnKuZ2b</DownloadLink>
<Type>Ingested</Type>
<State>Deleted</State>
</CustomerFile>
</Files>
</Result>
{
"Action": "DeleteFiles",
"StateCode": "SUCCESS",
"State": "SUCCESS",
"Files": [
{
"UID": "A14V7pnKuZ2b",
"Region": "ANK",
"FileName": "NgVideo.mp4",
"Size": 8755958,
"UploadDate": "2018-06-20T08:29:04",
"LastDate": "2018-06-20T11:43:47",
"DownloadLink": "ts02ank.videobulut.com/A14V7pnKuZ2b",
"Type": "Ingested",
"State": "Deleted"
}
]
}
Response Error
StateCode | State |
---|---|
AUTHENTICATION_ERROR | This Api Key does not exist. Please check your information and try again |
INTERNAL_ERROR | SUCCESS |
MISSING_DATA | Missing data. Please check your information and try again. |
WRONG_XMLUSAGE | Yanlış XML kullanım hatası |
User
GetUser
GetUser Methodu, sistemdeki bir kullanıcıya ait bilgileri gösterir. Kullanıcıya ait bilgileri görmek için kullanıcının APIKey'i girilmelidir. Tüm kullanıcıları görüntüleme yetkisine sahip olan kullanıcı , herhangi bir User parametresini kullanarak diğer kullanıcıları görüntüleyebilir.
Method | URL |
---|---|
Post | http://api.videobulut.com/Cloud |
Header
Field | Type | Description |
---|---|---|
Content-Type | String |
application/json application/xml |
Request Body Parameters
Field | Type | Description |
---|---|---|
Action | String | GetUser |
API Key | String | Kullanıcınız için tanımlanmış olan anahtar |
ID (Optional) | long | UserID |
Sample Request
<Request>
<Action>GetUser</Action>
<APIKey>"apiKey"</APIKey>
<ID>158</ID>
</Request>
{
"Action": "GetUser",
"APIKey": ""apiKey"",
"ID": "158"
}
Response Parameters
Field | Type | Description |
---|---|---|
Action | String | GetUser |
StateCode | ServiceResponseCode | ServiceResponseCode |
State | string | StateCode'un detaylı açıklamasıdır |
User | Object | User |
ID | long | Sisteme kqyıtlı User ID |
CustomerID | long | Kullanıcının müşteri ID si |
LastDate | DateTime | Son kullanım zamanı |
NameSurname | String | Kullanıcı adı soyadı |
String | Kullanıcı maili | |
Tel | String | Kullanıcı telefonu |
Region | short | Kullanıcının bölgesi |
IsOwner | bool | Kullanıcı rolü |
TimeZone | int | Kullanıcının hesabının zaman dilimi |
APIKey | String | Kullanıcı için tanımlanmış olan anahtar |
LastLogin | DateTime | Kullanıcının sistemde en son aktif olma tarihi |
State | UserState | Kullanıcının mevcut durumu(aktif/pasif) |
Type | UserType | Kullanıcı Tipleri |
Sample Response
<Result>
<Action>GetUser</Action>
<StateCode>SUCCESS</StateCode>
<State>Operation Is Successful</State>
<Users>
<Users>
<ID>158</ID>
<Email>videobulut@videobulut.com</Email>
<State>Active</State>
<APIKey>"apiKey"</APIKey>
<Type>FullAccess</Type>
<LastLogin>2018-06-28T06:43:15.107</LastLogin>
</Users>
</Users>
</Result>
{
"Action": "GetUser",
"StateCode": "SUCCESS",
"State": "SUCCESS",
"User": {
"ID": 158,
"CustomerID": 2618,
"NameSurname": "",
"EMail": "videobulut@videobulut.com",
"Tel": "",
"Region": 1,
"State": "Active",
"IsOwner": true,
"TimeZone": 1,
"APIKey": "244bbc077672b7211465218f8f2df4e4",
"Type": "FullAccess",
"LastLogin": "2018-06-28T06:43:15.107"
}
}
Response Error
StateCode | State |
---|---|
AUTHENTICATION_ERROR | This Api Key does not exist. Please check your information and try again |
INTERNAL_ERROR | SUCCESS |
MISSING_DATA | Missing data. Please check your information and try again. |
WRONG_XMLUSAGE | Yanlış XML kullanım hatası |
GetUsers
GetUsers Methodu, sisteme kayıtlı tüm kullanıcıları gösterir. Kullanıcı tiplerine ve yetkilendirilmelerine buradan bakabilirsiniz. Tipi FullAccess olarak tanımlanmayan kullanıcı sadece kendi bilgilerini görebilir.
Method | URL |
---|---|
Post | http://api.videobulut.com/Cloud |
Header
Field | Type | Description |
---|---|---|
Content-Type | String |
application/json application/xml |
Request Body Parameters
Field | Type | Description |
---|---|---|
Action | String | GetUsers |
API Key | String | Kullanıcınız için tanımlanmış olan anahtar |
Sample Request
<Request>
<Action>GetUsers</Action>
<APIKey>"apiKey"</APIKey>
</Request>
{
"Action": "GetUsers",
"APIKey": ""apiKey""
}
Response Parameters
Field | Type | Description |
---|---|---|
Action | String | GetUsers |
StateCode | ServiceResponseCode | ServiceResponseCode |
State | string | StateCode'un detaylı açıklamasıdır |
Users | Object | User |
ID | long | Sisteme kqyıtlı User ID |
String | Kullanıcı maili | |
APIKey | String | Kullanıcı için tanımlanmış olan anahtar |
LastLogin | DateTime | Kullanıcının sistemde en son aktif olma tarihi |
State | UserState | Kullanıcının mevcut durumu(aktif/pasif) |
Type | UserType | Kullanıcı Tipleri |
Sample Response
<Result>
<Action>GetUsers</Action>
<StateCode>SUCCESS</StateCode>
<State>Operation Is Successful</State>
<Users>
<Users>
<ID>158</ID>
<Email>videobulut@videobulut.com</Email>
<State>Active</State>
<APIKey>"apiKey"</APIKey>
<Type>FullAccess</Type>
<LastLogin>2018-06-28T06:43:15.107</LastLogin>
</Users>
</Users>
</Result>
{
"Action": "GetUsers",
"StateCode": "SUCCESS",
"State": "Operation Is Successful",
"Users": [
{
"ID": 158,
"CustomerID": 2618,
"NameSurname": "",
"EMail": "videobulut@videobulut.com",
"Tel": "",
"Region": 1,
"State": "Active",
"IsOwner": true,
"TimeZone": 1,
"APIKey": null,
"Type": "FullAccess",
"LastLogin": "2018-06-28T06:43:15.107"
}
]
}
Response Error
StateCode | State |
---|---|
AUTHENTICATION_ERROR | This Api Key does not exist. Please check your information and try again |
INTERNAL_ERROR | SUCCESS |
MISSING_DATA | Missing data. Please check your information and try again. |
WRONG_XMLUSAGE | Yanlış XML kullanım hatası |
FIELD |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
InitExpression
|
Name
|
Description
|
11
|
_21
|
|
259
|
_21BACK
|
|
1539
|
_22
|
|
15
|
_31
|
|
263
|
_40
|
|
271
|
_41
|
|
1543
|
_50
|
|
55
|
_50BACK
|
|
1551
|
_51
|
|
63
|
_51BACK
|
|
1799
|
_60
|
|
1731
|
_60FRONT
|
|
1807
|
_61
|
|
319
|
_61BACK
|
|
1739
|
_61FRONT
|
|
1591
|
_70
|
|
1735
|
_70FRONT
|
|
1599
|
_71
|
|
1743
|
_71WIDE
|
|
255
|
_71WIDEBACK
|
|
311
|
HEXAGONAL
|
|
4
|
MONO
|
|
1847
|
OCTOGONAL
|
|
0
|
Passtrough
|
|
51
|
QUAD
|
|
3
|
STEREO
|
|
7
|
SURROUND
|
|
InitExpression
|
Name
|
Description
|
4
|
AVBR
|
|
1
|
CBR
|
|
3
|
CQP
|
|
6
|
ICQ
|
|
5
|
LA
|
|
9
|
LA_EXT
|
|
10
|
LA_HRD
|
|
8
|
LA_ICQ
|
|
0
|
None
|
|
11
|
QVBR
|
|
2
|
VBR
|
|
7
|
VCM
|
|
InitExpression
|
Name
|
Description
|
2
|
AACHighEfficiency
|
|
3
|
AACHighEfficiencyV2
|
|
1
|
AACLowComplexity
|
|
4
|
MPEG3
|
|
0
|
Passthrough
|
|
InitExpression
|
Name
|
Description
|
10
|
_1.0
|
|
11
|
_11
|
|
12
|
_12
|
|
13
|
_13
|
|
9
|
_1b
|
|
20
|
_2.0
|
|
21
|
_21
|
|
22
|
_22
|
|
30
|
_3.0
|
|
31
|
_31
|
|
32
|
_32
|
|
40
|
_4.0
|
|
41
|
_41
|
|
42
|
_42
|
|
50
|
_5.0
|
|
51
|
_51
|
|
51
|
_52
|
|
0
|
NA
|
|
InitExpression
|
Name
|
Description
|
11025
|
_11025kHz
|
|
16000
|
_16000kHz
|
|
176400
|
_176400kHz
|
|
192000
|
_192000kHz
|
|
22050
|
_22050kHz
|
|
24000
|
_24000kHz
|
|
32000
|
_32000kHz
|
|
44100
|
_44100kHz
|
|
48000
|
_48000kHz
|
|
8000
|
_8000kHz
|
|
88200
|
_88200kHz
|
|
96000
|
_96000kHz
|
|
0
|
Passthrough
|
|
InitExpression
|
Name
|
Description
|
3
|
BMP
|
|
2
|
GIF
|
|
0
|
JPG
|
|
1
|
PNG
|
|
InitExpression
|
Name
|
Description
|
2
|
Audio
|
|
3
|
Image
|
|
4
|
Subtitle
|
|
1
|
Video
|
|
InitExpression
|
Name
|
Description
|
2
|
Mov_Text
|
|
0
|
Passthrough
|
|
1
|
WebVTT
|
|
InitExpression
|
Name
|
Description
|
66
|
H264_BASELINE
|
|
512
|
H264_CONSTRAINED
|
|
88
|
H264_EXTENDED
|
|
100
|
H264_HIGH
|
|
122
|
H264_HIGH_422
|
|
2048
|
H264_INTRA
|
|
77
|
H264_MAIN
|
|
200
|
HEVC_Main
|
|
211
|
HEVC_Main10
|
|
222
|
HEVC_MainSP
|
|
0
|
NA
|
|
InitExpression
|
Name
|
Description
|
3
|
HD
|
|
0
|
None
|
|
1
|
NTSC
|
|
2
|
PAL
|
|
InitExpression
|
Name
|
Description
|
1
|
CABAC
|
|
2
|
CAVLC
|
|
0
|
None
|
|
InitExpression
|
Name
|
Description
|
1
|
Closed
|
|
0
|
None
|
|
2
|
Srict
|
|
InitExpression
|
Name
|
Description
|
4
|
Auto
|
|
3
|
DiffValue
|
|
2
|
Frame
|
|
0
|
None
|
|
1
|
Time
|
|
InitExpression
|
Name
|
Description
|
2
|
Custom
|
|
1
|
NGCloudVideo
|
|
0
|
None
|
|
InitExpression
|
Name
|
Description
|
4
|
AES128
|
|
3
|
CENC
|
|
5
|
FairPlay
|
|
0
|
None
|
|
1
|
PlayReady
|
|
2
|
WideVine
|
|
InitExpression
|
Name
|
Description
|
15
|
APIInternalError
|
|
5
|
AuthorizationError
|
|
12
|
Cancelled
|
|
9
|
ConnectionError
|
|
11
|
ErrorOccurred
|
|
7
|
FileNotFound
|
|
1
|
Finished
|
|
6
|
InternalError
|
|
3
|
InvalidParameter
|
|
4
|
MissingParameter
|
|
13
|
Paused
|
|
14
|
QuotaFull
|
|
2
|
Running
|
|
-1
|
Starting
|
|
8
|
UnknownError
|
|
10
|
UnSupportedFile
|
|
0
|
Waiting
|
|
InitExpression
|
Name
|
Description
|
3
|
MOBILE3GP
|
|
1
|
MP4
|
|
0
|
None
|
|
2
|
QUICKTIME
|
|
InitExpression
|
Name
|
Description
|
32
|
Area
|
|
4
|
Bicubic
|
|
64
|
Bicublin
|
|
2
|
Bilinear
|
|
1
|
Fast_Bilinear
|
|
128
|
Gauss
|
|
512
|
Lanczos
|
|
16
|
Point
|
|
256
|
Sinc
|
|
1024
|
Spline
|
|
8
|
X
|
|
InitExpression
|
Name
|
Description
|
2
|
Blocked
|
|
1
|
Slide
|
|
InitExpression
|
Name
|
Description
|
4
|
Explosion
|
|
3
|
Fadein
|
|
2
|
Fadeout
|
|
0
|
None
|
|
1
|
Slide
|
|
InitExpression
|
Name
|
Description
|
2
|
Crop
|
|
0
|
Fill
|
|
1
|
Letterbox
|
|
InitExpression
|
Name
|
Description
|
1
|
FRAME2IN1
|
|
2
|
FRAME3IN1
|
|
3
|
FRAME4IN1
|
|
0
|
FRAMESOURCE
|
|
InitExpression
|
Name
|
Description
|
1
|
BeforeUpload
|
|
2
|
Error
|
|
4
|
Finish
|
|
InitExpression
|
Name
|
Description
|
2
|
Json
|
|
0
|
None
|
|
1
|
xml
|
|
InitExpression
|
Name
|
Description
|
0
|
ExpiryAuto
|
|
4
|
ExpiryKeep
|
|
2
|
ExpiryMonth
|
|
5
|
ExpiryNone
|
|
1
|
ExpiryWeek
|
|
3
|
ExpiryYear
|
|
InitExpression
|
Name
|
Description
|
4
|
Auto
|
|
2
|
FieldInterpolation
|
|
1
|
VerticalFilter
|
|
3
|
VMR
|
|
0
|
Weave
|
|
InitExpression
|
Name
|
Description
|
5
|
Cancelled
|
|
99
|
Deleted
|
|
4
|
Failed
|
|
3
|
Finished
|
|
1
|
Ingesting
|
|
7
|
Inqueue
|
|
0
|
Pending
|
|
9
|
Preparing
|
|
2
|
Processing
|
|
8
|
Publishing
|
|
100
|
Unselected
|
|
10
|
WaitPublish
|
|
InitExpression
|
Name
|
Description
|
3
|
BroadcastLive
|
|
1
|
File
|
|
2
|
Live
|
|
0
|
Unknown
|
|
InitExpression
|
Name
|
Description
|
1102
|
ACCOUNT_CREATE_ACTIVE_USER
|
|
1107
|
ACCOUNT_CREATE_INVALIDDATA
|
|
1106
|
ACCOUNT_CREATE_INVALIDMAIL
|
|
1105
|
ACCOUNT_CREATE_NOTDELETED
|
|
1103
|
ACCOUNT_CREATE_PASSIVE_USER
|
|
1120
|
ACCOUNT_CREATE_RESTRICTEDIP
|
|
1101
|
ACCOUNT_CREATE_USED_EMAIL
|
|
1100
|
ACCOUNT_CREATE_USED_USERNAME
|
|
1104
|
ACCOUNT_CREATE_WAITINGFORTOKEN
|
|
1150
|
ACCOUNT_INSUFFICIENT_QUOTA
|
|
1121
|
ACCOUNT_MISSING_PASSWORD
|
|
1111
|
ACCOUNT_NOTACTIVEFORRESETPASS
|
|
1122
|
ACCOUNT_TOKEN_PASSWORD
|
|
1109
|
ACCOUNT_USER_ALREADYEXIST
|
|
1113
|
ACCOUNT_USER_CAN_NOT_BE_DELETED
|
|
1114
|
ACCOUNT_USER_CAN_NOT_BE_UPDATED
|
|
1110
|
ACCOUNT_USER_DOES_NOT_EXIST
|
|
1112
|
ACCOUNT_USER_INACTIVE
|
|
1302
|
ACTION_ALREADYEXIST
|
|
1301
|
ACTION_UNKNOWN
|
|
1303
|
ACTION_UNKNOWNTYPE
|
|
1300
|
ACTIONS_NOTEXIST
|
|
1001
|
AUTHENTICATION_ERROR
|
|
1935
|
CAMPAIGN_ALREADY_DEFINED_FOR_THE_PACKAGE
|
|
1932
|
CAMPAIGN_ALREADYUSED
|
|
1931
|
CAMPAIGN_EXPIRED
|
|
1938
|
CAMPAIGN_NOT_DEFINED_FOR_PACKAGE
|
|
1933
|
CAMPAIGN_NOT_FOUND
|
|
1934
|
CAMPAIGN_REQUIREMENT_NOT_MET
|
|
1939
|
CAMPAIGN_REQUIRES_THE_PAYMENT_ALL
|
|
1936
|
CAMPAIGN_VOUCHER_NOT_FOUND
|
|
1930
|
CAMPAIGN_WRONG_INFORMATION
|
|
1206
|
CAN_NOT_UPGRADE_THAT_PACKAGE
|
|
2275
|
CDN_CUSTOMER_ALREADY_EXIST
|
|
2276
|
CDN_CUSTOMER_NOT_FOUND
|
|
2277
|
CDN_ERROR
|
|
11
|
CONTINUE
|
|
1400
|
CUSTOMER_MULTIPLECONTACTINFO
|
|
1401
|
CUSTOMER_MULTIPLEPAYMENTINFO
|
|
1402
|
CUSTOMER_PAYMENTINFO_NOTFOUND
|
|
2200
|
DRM_DRM_SERVICE_ERROR
|
|
2500
|
File_ErrorDeletingSomeFiles
|
|
2501
|
File_ErrorPublishingSomeFiles
|
|
10
|
INTERNAL_ERROR
|
|
2
|
INVALID_OPERATION
|
|
2113
|
JOB_ALREADY_RUNNING
|
|
2114
|
JOB_CANNOT_OPEN_SOURCE
|
|
2119
|
JOB_CREATE_ERROR
|
|
2112
|
JOB_DOES_NOT_WORK
|
|
2153
|
JOB_DRM_SERVER_ERROR
|
|
2117
|
JOB_INTERNAL_ERROR
|
|
2116
|
JOB_LIVETIMEOUT
|
|
2100
|
JOB_NOT_FOUND
|
|
2115
|
JOB_UNSUPPORTED_FORMAT
|
|
2118
|
JOB_WRONG_DELIVERY_ADDRESS
|
|
2152
|
JOB_WRONG_DRM_INFORMATION
|
|
2120
|
JOB_WRONG_STREAM_DEFINATION
|
|
6
|
MISSING_DATA
|
|
1230
|
PACK_CAN_NOT_FOUND
|
|
1231
|
PACK_CANNOT_BE_DELETED
|
|
1242
|
PACK_EXPIRED
|
|
1243
|
PACK_SAME_PACKTYPE_ERROR
|
|
1207
|
PACKAGE_ALREADY_ACTIVE
|
|
1240
|
PACKAGE_CAN_NOT_FOUND
|
|
1241
|
PACKAGE_CANNOT_BE_DELETED
|
|
1204
|
PACKAGE_EXPIRED
|
|
1202
|
PACKAGE_FREE_ALREADYUSED
|
|
1201
|
PACKAGE_FREE_NOT_FOUND
|
|
1205
|
PACKAGE_NOT_FOUND
|
|
1208
|
PACKAGE_PAYG_NOT_FOUND
|
|
1209
|
PACKAGE_PAYG_NOT_VALID_FOR_CUSTOMER
|
|
1210
|
PACKAGE_PROPERTY_NOT_FOUND
|
|
1203
|
PACKAGE_USED_OR_SOLD
|
|
1220
|
PACKPOLICY_CAN_NOT_FOUND
|
|
1221
|
PACKPOLICY_CANNOT_BE_DELETED
|
|
1503
|
PAYMENT_ALREADYEXIST
|
|
1504
|
PAYMENT_EXCESSFUNDS
|
|
1501
|
PAYMENT_INSUFFICIENTFUNDS
|
|
1502
|
PAYMENT_NOTFOUND
|
|
1500
|
PAYMENT_WAITINGFORPAYMENT
|
|
2150
|
PRESET_NOT_EXIST
|
|
2304
|
QUOTA_ABOUT_END
|
|
2302
|
QUOTA_EXTRA_STORAGE_AVAILABLE
|
|
2301
|
QUOTA_INSUFFICIENT
|
|
2303
|
QUOTA_PAYG_AVAILABLE
|
|
2305
|
QUOTA_STORAGE_INSUFFICENT
|
|
2300
|
QUOTA_SUFFICIENT
|
|
3
|
RECORD_ALREADY_EXIST
|
|
4
|
RECORD_NOT_FOUND
|
|
5
|
RECORD_RELATED_ANOTHER_ENTITY
|
|
2053
|
STRIPE_PAYMENT_NOT_SUCCESSFUL
|
|
2052
|
STRIPE_PURCHASE_TYPE_UNEXPECTED
|
|
|
|
|
2051
|
STRIPE_USER_DOES_NOT_HAVE_SOURCE
|
|
2050
|
STRIPE_USER_NOTFOUND
|
|
2007
|
SUBSCRIPTION_COULD_NOT_RENEWED
|
|
2002
|
SUBSCRIPTION_CURRENTLY_ACTIVE_ON_USER
|
|
2003
|
SUBSCRIPTION_ENTRY_NOT_FOUND
|
|
2000
|
SUBSCRIPTION_NOT_FOUND
|
|
2004
|
SUBSCRIPTION_NOT_FOUND_ON_USER
|
|
2006
|
SUBSCRIPTION_OVER_LIMIT
|
|
2001
|
SUBSCRIPTION_PAYMENT_ALREADY_DONE
|
|
0
|
SUCCESS
|
|
2005
|
THIS_SUBSCRIPTION_CAN_NOT_CANCELLED
|
|
1900
|
TICKET_NOT_ENOUGH_QUOTA
|
|
12
|
UNAUTHORIZED_REQUEST
|
|
1108
|
USERCREATE_INVALIDCUSTOMER
|
|
1937
|
VOUCHER_CODE_ALREADY_EXIST
|
|
1002
|
WRONG_MAXIMUM_LOGIN
|
|
1000
|
WRONG_USERNAME_PASSWORD
|
|
13
|
WRONG_XMLUSAGE
|
|
InitExpression
|
Name
|
Description
|
1
|
Active
|
|
2
|
Inactive
|
|
0
|
WaitforToken
|
|
InitExpression
|
Name
|
Description
|
2
|
Accountant
|
|
3
|
ContentManager
|
|
4
|
ContentOperator
|
|
1
|
FullAccess
|
|
5
|
Reporter
|
|
InitExpression
|
Name
|
Description
|
2
|
Deleted
|
|
0
|
Published
|
|
1
|
UnPublished
|
|
InitExpression
|
Name
|
Description
|
2
|
Encoded
|
|
4
|
GroupList
|
|
1
|
Ingested
|
|
3
|
Playlist
|
|
InitExpression
|
Name
|
Description
|
1
|
EncodedFiles
|
|
2
|
NonEncodedFiles
|
|
Writer | Changes | Version | Date |
VideoBulut Support | First creation of the api document. | v0.1 | June 2017 |
VideoBulut Support | Updates according to API development. | v0.2 | June 2017 |
VideoBulut Support | Major Release | v1.0 | August 2017 |
VideoBulut Support | Minor development changes. | v1.1 | December 2017 |
VideoBulut Support | Minor Updates(File Storage options) and New Actions (Publishing, Unpublishing Files, Creating and Destroying Live streams) | v1.2 | January 2018 |
VideoBulut Support | Major Release | v1.3 | July 2019 |