more portable restructuring

This commit is contained in:
Luke Pulverenti
2016-11-10 23:25:21 -05:00
parent 8492225dee
commit ec63e13bbe
246 changed files with 397 additions and 411 deletions

View File

@@ -1,252 +0,0 @@
using MediaBrowser.Controller;
using MediaBrowser.Model.Activity;
using MediaBrowser.Model.Logging;
using MediaBrowser.Model.Querying;
using MediaBrowser.Server.Implementations.Persistence;
using System;
using System.Collections.Generic;
using System.Data;
using System.Globalization;
using System.IO;
using System.Threading.Tasks;
namespace MediaBrowser.Server.Implementations.Activity
{
public class ActivityRepository : BaseSqliteRepository, IActivityRepository
{
private readonly CultureInfo _usCulture = new CultureInfo("en-US");
public ActivityRepository(ILogManager logManager, IServerApplicationPaths appPaths, IDbConnector connector)
: base(logManager, connector)
{
DbFilePath = Path.Combine(appPaths.DataPath, "activitylog.db");
}
public async Task Initialize()
{
using (var connection = await CreateConnection().ConfigureAwait(false))
{
string[] queries = {
"create table if not exists ActivityLogEntries (Id GUID PRIMARY KEY, Name TEXT, Overview TEXT, ShortOverview TEXT, Type TEXT, ItemId TEXT, UserId TEXT, DateCreated DATETIME, LogSeverity TEXT)",
"create index if not exists idx_ActivityLogEntries on ActivityLogEntries(Id)"
};
connection.RunQueries(queries, Logger);
}
}
private const string BaseActivitySelectText = "select Id, Name, Overview, ShortOverview, Type, ItemId, UserId, DateCreated, LogSeverity from ActivityLogEntries";
public Task Create(ActivityLogEntry entry)
{
return Update(entry);
}
public async Task Update(ActivityLogEntry entry)
{
if (entry == null)
{
throw new ArgumentNullException("entry");
}
using (var connection = await CreateConnection().ConfigureAwait(false))
{
using (var saveActivityCommand = connection.CreateCommand())
{
saveActivityCommand.CommandText = "replace into ActivityLogEntries (Id, Name, Overview, ShortOverview, Type, ItemId, UserId, DateCreated, LogSeverity) values (@Id, @Name, @Overview, @ShortOverview, @Type, @ItemId, @UserId, @DateCreated, @LogSeverity)";
saveActivityCommand.Parameters.Add(saveActivityCommand, "@Id");
saveActivityCommand.Parameters.Add(saveActivityCommand, "@Name");
saveActivityCommand.Parameters.Add(saveActivityCommand, "@Overview");
saveActivityCommand.Parameters.Add(saveActivityCommand, "@ShortOverview");
saveActivityCommand.Parameters.Add(saveActivityCommand, "@Type");
saveActivityCommand.Parameters.Add(saveActivityCommand, "@ItemId");
saveActivityCommand.Parameters.Add(saveActivityCommand, "@UserId");
saveActivityCommand.Parameters.Add(saveActivityCommand, "@DateCreated");
saveActivityCommand.Parameters.Add(saveActivityCommand, "@LogSeverity");
IDbTransaction transaction = null;
try
{
transaction = connection.BeginTransaction();
var index = 0;
saveActivityCommand.GetParameter(index++).Value = new Guid(entry.Id);
saveActivityCommand.GetParameter(index++).Value = entry.Name;
saveActivityCommand.GetParameter(index++).Value = entry.Overview;
saveActivityCommand.GetParameter(index++).Value = entry.ShortOverview;
saveActivityCommand.GetParameter(index++).Value = entry.Type;
saveActivityCommand.GetParameter(index++).Value = entry.ItemId;
saveActivityCommand.GetParameter(index++).Value = entry.UserId;
saveActivityCommand.GetParameter(index++).Value = entry.Date;
saveActivityCommand.GetParameter(index++).Value = entry.Severity.ToString();
saveActivityCommand.Transaction = transaction;
saveActivityCommand.ExecuteNonQuery();
transaction.Commit();
}
catch (OperationCanceledException)
{
if (transaction != null)
{
transaction.Rollback();
}
throw;
}
catch (Exception e)
{
Logger.ErrorException("Failed to save record:", e);
if (transaction != null)
{
transaction.Rollback();
}
throw;
}
finally
{
if (transaction != null)
{
transaction.Dispose();
}
}
}
}
}
public QueryResult<ActivityLogEntry> GetActivityLogEntries(DateTime? minDate, int? startIndex, int? limit)
{
using (var connection = CreateConnection(true).Result)
{
using (var cmd = connection.CreateCommand())
{
cmd.CommandText = BaseActivitySelectText;
var whereClauses = new List<string>();
if (minDate.HasValue)
{
whereClauses.Add("DateCreated>=@DateCreated");
cmd.Parameters.Add(cmd, "@DateCreated", DbType.Date).Value = minDate.Value;
}
var whereTextWithoutPaging = whereClauses.Count == 0 ?
string.Empty :
" where " + string.Join(" AND ", whereClauses.ToArray());
if (startIndex.HasValue && startIndex.Value > 0)
{
var pagingWhereText = whereClauses.Count == 0 ?
string.Empty :
" where " + string.Join(" AND ", whereClauses.ToArray());
whereClauses.Add(string.Format("Id NOT IN (SELECT Id FROM ActivityLogEntries {0} ORDER BY DateCreated DESC LIMIT {1})",
pagingWhereText,
startIndex.Value.ToString(_usCulture)));
}
var whereText = whereClauses.Count == 0 ?
string.Empty :
" where " + string.Join(" AND ", whereClauses.ToArray());
cmd.CommandText += whereText;
cmd.CommandText += " ORDER BY DateCreated DESC";
if (limit.HasValue)
{
cmd.CommandText += " LIMIT " + limit.Value.ToString(_usCulture);
}
cmd.CommandText += "; select count (Id) from ActivityLogEntries" + whereTextWithoutPaging;
var list = new List<ActivityLogEntry>();
var count = 0;
using (var reader = cmd.ExecuteReader(CommandBehavior.SequentialAccess))
{
while (reader.Read())
{
list.Add(GetEntry(reader));
}
if (reader.NextResult() && reader.Read())
{
count = reader.GetInt32(0);
}
}
return new QueryResult<ActivityLogEntry>()
{
Items = list.ToArray(),
TotalRecordCount = count
};
}
}
}
private ActivityLogEntry GetEntry(IDataReader reader)
{
var index = 0;
var info = new ActivityLogEntry
{
Id = reader.GetGuid(index).ToString("N")
};
index++;
if (!reader.IsDBNull(index))
{
info.Name = reader.GetString(index);
}
index++;
if (!reader.IsDBNull(index))
{
info.Overview = reader.GetString(index);
}
index++;
if (!reader.IsDBNull(index))
{
info.ShortOverview = reader.GetString(index);
}
index++;
if (!reader.IsDBNull(index))
{
info.Type = reader.GetString(index);
}
index++;
if (!reader.IsDBNull(index))
{
info.ItemId = reader.GetString(index);
}
index++;
if (!reader.IsDBNull(index))
{
info.UserId = reader.GetString(index);
}
index++;
info.Date = reader.GetDateTime(index).ToUniversalTime();
index++;
if (!reader.IsDBNull(index))
{
info.Severity = (LogSeverity)Enum.Parse(typeof(LogSeverity), reader.GetString(index), true);
}
return info;
}
}
}

View File

@@ -1,189 +0,0 @@
using System.IO;
using MediaBrowser.Model.IO;
using SharpCompress.Archive.Rar;
using SharpCompress.Archive.SevenZip;
using SharpCompress.Archive.Tar;
using SharpCompress.Common;
using SharpCompress.Reader;
using SharpCompress.Reader.Zip;
namespace MediaBrowser.Server.Implementations.Archiving
{
/// <summary>
/// Class DotNetZipClient
/// </summary>
public class ZipClient : IZipClient
{
private readonly IFileSystem _fileSystem;
public ZipClient(IFileSystem fileSystem)
{
_fileSystem = fileSystem;
}
/// <summary>
/// Extracts all.
/// </summary>
/// <param name="sourceFile">The source file.</param>
/// <param name="targetPath">The target path.</param>
/// <param name="overwriteExistingFiles">if set to <c>true</c> [overwrite existing files].</param>
public void ExtractAll(string sourceFile, string targetPath, bool overwriteExistingFiles)
{
using (var fileStream = _fileSystem.OpenRead(sourceFile))
{
ExtractAll(fileStream, targetPath, overwriteExistingFiles);
}
}
/// <summary>
/// Extracts all.
/// </summary>
/// <param name="source">The source.</param>
/// <param name="targetPath">The target path.</param>
/// <param name="overwriteExistingFiles">if set to <c>true</c> [overwrite existing files].</param>
public void ExtractAll(Stream source, string targetPath, bool overwriteExistingFiles)
{
using (var reader = ReaderFactory.Open(source))
{
var options = ExtractOptions.ExtractFullPath;
if (overwriteExistingFiles)
{
options = options | ExtractOptions.Overwrite;
}
reader.WriteAllToDirectory(targetPath, options);
}
}
public void ExtractAllFromZip(Stream source, string targetPath, bool overwriteExistingFiles)
{
using (var reader = ZipReader.Open(source))
{
var options = ExtractOptions.ExtractFullPath;
if (overwriteExistingFiles)
{
options = options | ExtractOptions.Overwrite;
}
reader.WriteAllToDirectory(targetPath, options);
}
}
/// <summary>
/// Extracts all from7z.
/// </summary>
/// <param name="sourceFile">The source file.</param>
/// <param name="targetPath">The target path.</param>
/// <param name="overwriteExistingFiles">if set to <c>true</c> [overwrite existing files].</param>
public void ExtractAllFrom7z(string sourceFile, string targetPath, bool overwriteExistingFiles)
{
using (var fileStream = _fileSystem.OpenRead(sourceFile))
{
ExtractAllFrom7z(fileStream, targetPath, overwriteExistingFiles);
}
}
/// <summary>
/// Extracts all from7z.
/// </summary>
/// <param name="source">The source.</param>
/// <param name="targetPath">The target path.</param>
/// <param name="overwriteExistingFiles">if set to <c>true</c> [overwrite existing files].</param>
public void ExtractAllFrom7z(Stream source, string targetPath, bool overwriteExistingFiles)
{
using (var archive = SevenZipArchive.Open(source))
{
using (var reader = archive.ExtractAllEntries())
{
var options = ExtractOptions.ExtractFullPath;
if (overwriteExistingFiles)
{
options = options | ExtractOptions.Overwrite;
}
reader.WriteAllToDirectory(targetPath, options);
}
}
}
/// <summary>
/// Extracts all from tar.
/// </summary>
/// <param name="sourceFile">The source file.</param>
/// <param name="targetPath">The target path.</param>
/// <param name="overwriteExistingFiles">if set to <c>true</c> [overwrite existing files].</param>
public void ExtractAllFromTar(string sourceFile, string targetPath, bool overwriteExistingFiles)
{
using (var fileStream = _fileSystem.OpenRead(sourceFile))
{
ExtractAllFromTar(fileStream, targetPath, overwriteExistingFiles);
}
}
/// <summary>
/// Extracts all from tar.
/// </summary>
/// <param name="source">The source.</param>
/// <param name="targetPath">The target path.</param>
/// <param name="overwriteExistingFiles">if set to <c>true</c> [overwrite existing files].</param>
public void ExtractAllFromTar(Stream source, string targetPath, bool overwriteExistingFiles)
{
using (var archive = TarArchive.Open(source))
{
using (var reader = archive.ExtractAllEntries())
{
var options = ExtractOptions.ExtractFullPath;
if (overwriteExistingFiles)
{
options = options | ExtractOptions.Overwrite;
}
reader.WriteAllToDirectory(targetPath, options);
}
}
}
/// <summary>
/// Extracts all from rar.
/// </summary>
/// <param name="sourceFile">The source file.</param>
/// <param name="targetPath">The target path.</param>
/// <param name="overwriteExistingFiles">if set to <c>true</c> [overwrite existing files].</param>
public void ExtractAllFromRar(string sourceFile, string targetPath, bool overwriteExistingFiles)
{
using (var fileStream = _fileSystem.OpenRead(sourceFile))
{
ExtractAllFromRar(fileStream, targetPath, overwriteExistingFiles);
}
}
/// <summary>
/// Extracts all from rar.
/// </summary>
/// <param name="source">The source.</param>
/// <param name="targetPath">The target path.</param>
/// <param name="overwriteExistingFiles">if set to <c>true</c> [overwrite existing files].</param>
public void ExtractAllFromRar(Stream source, string targetPath, bool overwriteExistingFiles)
{
using (var archive = RarArchive.Open(source))
{
using (var reader = archive.ExtractAllEntries())
{
var options = ExtractOptions.ExtractFullPath;
if (overwriteExistingFiles)
{
options = options | ExtractOptions.Overwrite;
}
reader.WriteAllToDirectory(targetPath, options);
}
}
}
}
}

View File

@@ -1,210 +0,0 @@
using MediaBrowser.Common.Configuration;
using MediaBrowser.Common.Extensions;
using MediaBrowser.Controller.Devices;
using MediaBrowser.Model.Devices;
using MediaBrowser.Model.Logging;
using MediaBrowser.Model.Serialization;
using MediaBrowser.Model.Session;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Threading.Tasks;
using MediaBrowser.Common.IO;
using MediaBrowser.Controller.IO;
using MediaBrowser.Model.IO;
namespace MediaBrowser.Server.Implementations.Devices
{
public class DeviceRepository : IDeviceRepository
{
private readonly object _syncLock = new object();
private readonly IApplicationPaths _appPaths;
private readonly IJsonSerializer _json;
private readonly ILogger _logger;
private readonly IFileSystem _fileSystem;
private Dictionary<string, DeviceInfo> _devices;
public DeviceRepository(IApplicationPaths appPaths, IJsonSerializer json, ILogger logger, IFileSystem fileSystem)
{
_appPaths = appPaths;
_json = json;
_logger = logger;
_fileSystem = fileSystem;
}
private string GetDevicesPath()
{
return Path.Combine(_appPaths.DataPath, "devices");
}
private string GetDevicePath(string id)
{
return Path.Combine(GetDevicesPath(), id.GetMD5().ToString("N"));
}
public Task SaveDevice(DeviceInfo device)
{
var path = Path.Combine(GetDevicePath(device.Id), "device.json");
_fileSystem.CreateDirectory(Path.GetDirectoryName(path));
lock (_syncLock)
{
_json.SerializeToFile(device, path);
_devices[device.Id] = device;
}
return Task.FromResult(true);
}
public Task SaveCapabilities(string reportedId, ClientCapabilities capabilities)
{
var device = GetDevice(reportedId);
if (device == null)
{
throw new ArgumentException("No device has been registed with id " + reportedId);
}
device.Capabilities = capabilities;
SaveDevice(device);
return Task.FromResult(true);
}
public ClientCapabilities GetCapabilities(string reportedId)
{
var device = GetDevice(reportedId);
return device == null ? null : device.Capabilities;
}
public DeviceInfo GetDevice(string id)
{
if (string.IsNullOrWhiteSpace(id))
{
throw new ArgumentNullException("id");
}
return GetDevices()
.FirstOrDefault(i => string.Equals(i.Id, id, StringComparison.OrdinalIgnoreCase));
}
public IEnumerable<DeviceInfo> GetDevices()
{
lock (_syncLock)
{
if (_devices == null)
{
_devices = new Dictionary<string, DeviceInfo>(StringComparer.OrdinalIgnoreCase);
var devices = LoadDevices().ToList();
foreach (var device in devices)
{
_devices[device.Id] = device;
}
}
return _devices.Values.ToList();
}
}
private IEnumerable<DeviceInfo> LoadDevices()
{
var path = GetDevicesPath();
try
{
return _fileSystem
.GetFilePaths(path, true)
.Where(i => string.Equals(Path.GetFileName(i), "device.json", StringComparison.OrdinalIgnoreCase))
.ToList()
.Select(i =>
{
try
{
return _json.DeserializeFromFile<DeviceInfo>(i);
}
catch (Exception ex)
{
_logger.ErrorException("Error reading {0}", ex, i);
return null;
}
})
.Where(i => i != null);
}
catch (IOException)
{
return new List<DeviceInfo>();
}
}
public Task DeleteDevice(string id)
{
var path = GetDevicePath(id);
lock (_syncLock)
{
try
{
_fileSystem.DeleteDirectory(path, true);
}
catch (DirectoryNotFoundException)
{
}
_devices = null;
}
return Task.FromResult(true);
}
public ContentUploadHistory GetCameraUploadHistory(string deviceId)
{
var path = Path.Combine(GetDevicePath(deviceId), "camerauploads.json");
lock (_syncLock)
{
try
{
return _json.DeserializeFromFile<ContentUploadHistory>(path);
}
catch (IOException)
{
return new ContentUploadHistory
{
DeviceId = deviceId
};
}
}
}
public void AddCameraUpload(string deviceId, LocalFileInfo file)
{
var path = Path.Combine(GetDevicePath(deviceId), "camerauploads.json");
_fileSystem.CreateDirectory(Path.GetDirectoryName(path));
lock (_syncLock)
{
ContentUploadHistory history;
try
{
history = _json.DeserializeFromFile<ContentUploadHistory>(path);
}
catch (IOException)
{
history = new ContentUploadHistory
{
DeviceId = deviceId
};
}
history.DeviceId = deviceId;
history.FilesUploaded.Add(file);
_json.SerializeToFile(history, path);
}
}
}
}

View File

@@ -1,293 +0,0 @@
using MediaBrowser.Controller;
using MediaBrowser.Controller.Configuration;
using MediaBrowser.Controller.Dlna;
using MediaBrowser.Controller.Plugins;
using MediaBrowser.Model.Logging;
using Mono.Nat;
using System;
using System.Collections.Generic;
using System.Globalization;
using System.Net;
using MediaBrowser.Common.Net;
using MediaBrowser.Model.Dlna;
using MediaBrowser.Model.Events;
using MediaBrowser.Model.Threading;
namespace MediaBrowser.Server.Implementations.EntryPoints
{
public class ExternalPortForwarding : IServerEntryPoint
{
private readonly IServerApplicationHost _appHost;
private readonly ILogger _logger;
private readonly IHttpClient _httpClient;
private readonly IServerConfigurationManager _config;
private readonly IDeviceDiscovery _deviceDiscovery;
private ITimer _timer;
private bool _isStarted;
private readonly ITimerFactory _timerFactory;
public ExternalPortForwarding(ILogManager logmanager, IServerApplicationHost appHost, IServerConfigurationManager config, IDeviceDiscovery deviceDiscovery, IHttpClient httpClient, ITimerFactory timerFactory)
{
_logger = logmanager.GetLogger("PortMapper");
_appHost = appHost;
_config = config;
_deviceDiscovery = deviceDiscovery;
_httpClient = httpClient;
_timerFactory = timerFactory;
}
private string _lastConfigIdentifier;
private string GetConfigIdentifier()
{
var values = new List<string>();
var config = _config.Configuration;
values.Add(config.EnableUPnP.ToString());
values.Add(config.PublicPort.ToString(CultureInfo.InvariantCulture));
values.Add(_appHost.HttpPort.ToString(CultureInfo.InvariantCulture));
values.Add(_appHost.HttpsPort.ToString(CultureInfo.InvariantCulture));
values.Add(config.EnableHttps.ToString());
values.Add(_appHost.EnableHttps.ToString());
return string.Join("|", values.ToArray());
}
void _config_ConfigurationUpdated(object sender, EventArgs e)
{
if (!string.Equals(_lastConfigIdentifier, GetConfigIdentifier(), StringComparison.OrdinalIgnoreCase))
{
if (_isStarted)
{
DisposeNat();
}
Run();
}
}
public void Run()
{
NatUtility.Logger = _logger;
NatUtility.HttpClient = _httpClient;
if (_config.Configuration.EnableUPnP)
{
Start();
}
_config.ConfigurationUpdated -= _config_ConfigurationUpdated;
_config.ConfigurationUpdated += _config_ConfigurationUpdated;
}
private void Start()
{
_logger.Debug("Starting NAT discovery");
NatUtility.EnabledProtocols = new List<NatProtocol>
{
NatProtocol.Pmp
};
NatUtility.DeviceFound += NatUtility_DeviceFound;
// Mono.Nat does never rise this event. The event is there however it is useless.
// You could remove it with no risk.
NatUtility.DeviceLost += NatUtility_DeviceLost;
NatUtility.StartDiscovery();
_timer = _timerFactory.Create(ClearCreatedRules, null, TimeSpan.FromMinutes(5), TimeSpan.FromMinutes(5));
_deviceDiscovery.DeviceDiscovered += _deviceDiscovery_DeviceDiscovered;
_lastConfigIdentifier = GetConfigIdentifier();
_isStarted = true;
}
private async void _deviceDiscovery_DeviceDiscovered(object sender, GenericEventArgs<UpnpDeviceInfo> e)
{
var info = e.Argument;
string usn;
if (!info.Headers.TryGetValue("USN", out usn)) usn = string.Empty;
string nt;
if (!info.Headers.TryGetValue("NT", out nt)) nt = string.Empty;
// Filter device type
if (usn.IndexOf("WANIPConnection:", StringComparison.OrdinalIgnoreCase) == -1 &&
nt.IndexOf("WANIPConnection:", StringComparison.OrdinalIgnoreCase) == -1 &&
usn.IndexOf("WANPPPConnection:", StringComparison.OrdinalIgnoreCase) == -1 &&
nt.IndexOf("WANPPPConnection:", StringComparison.OrdinalIgnoreCase) == -1)
{
return;
}
var identifier = string.IsNullOrWhiteSpace(usn) ? nt : usn;
if (info.Location == null)
{
return;
}
lock (_usnsHandled)
{
if (_usnsHandled.Contains(identifier))
{
return;
}
_usnsHandled.Add(identifier);
}
_logger.Debug("Found NAT device: " + identifier);
IPAddress address;
if (IPAddress.TryParse(info.Location.Host, out address))
{
// The Handle method doesn't need the port
var endpoint = new IPEndPoint(address, info.Location.Port);
IPAddress localAddress = null;
try
{
var localAddressString = await _appHost.GetLocalApiUrl().ConfigureAwait(false);
Uri uri;
if (Uri.TryCreate(localAddressString, UriKind.Absolute, out uri))
{
localAddressString = uri.Host;
if (!IPAddress.TryParse(localAddressString, out localAddress))
{
return;
}
}
}
catch (Exception ex)
{
return;
}
_logger.Debug("Calling Nat.Handle on " + identifier);
NatUtility.Handle(localAddress, info, endpoint, NatProtocol.Upnp);
}
}
private void ClearCreatedRules(object state)
{
_createdRules = new List<string>();
lock (_usnsHandled)
{
_usnsHandled.Clear();
}
}
void NatUtility_DeviceFound(object sender, DeviceEventArgs e)
{
try
{
var device = e.Device;
_logger.Debug("NAT device found: {0}", device.LocalAddress.ToString());
CreateRules(device);
}
catch
{
// I think it could be a good idea to log the exception because
// you are using permanent portmapping here (never expire) and that means that next time
// CreatePortMap is invoked it can fails with a 718-ConflictInMappingEntry or not. That depends
// on the router's upnp implementation (specs says it should fail however some routers don't do it)
// It also can fail with others like 727-ExternalPortOnlySupportsWildcard, 728-NoPortMapsAvailable
// and those errors (upnp errors) could be useful for diagnosting.
// Commenting out because users are reporting problems out of our control
//_logger.ErrorException("Error creating port forwarding rules", ex);
}
}
private List<string> _createdRules = new List<string>();
private List<string> _usnsHandled = new List<string>();
private void CreateRules(INatDevice device)
{
// On some systems the device discovered event seems to fire repeatedly
// This check will help ensure we're not trying to port map the same device over and over
var address = device.LocalAddress.ToString();
if (!_createdRules.Contains(address))
{
_createdRules.Add(address);
CreatePortMap(device, _appHost.HttpPort, _config.Configuration.PublicPort);
CreatePortMap(device, _appHost.HttpsPort, _config.Configuration.PublicHttpsPort);
}
}
private async void CreatePortMap(INatDevice device, int privatePort, int publicPort)
{
_logger.Debug("Creating port map on port {0}", privatePort);
try
{
await device.CreatePortMap(new Mapping(Protocol.Tcp, privatePort, publicPort)
{
Description = _appHost.Name
}).ConfigureAwait(false);
}
catch (Exception ex)
{
_logger.ErrorException("Error creating port map", ex);
}
}
// As I said before, this method will be never invoked. You can remove it.
void NatUtility_DeviceLost(object sender, DeviceEventArgs e)
{
var device = e.Device;
_logger.Debug("NAT device lost: {0}", device.LocalAddress.ToString());
}
public void Dispose()
{
DisposeNat();
}
private void DisposeNat()
{
_logger.Debug("Stopping NAT discovery");
if (_timer != null)
{
_timer.Dispose();
_timer = null;
}
_deviceDiscovery.DeviceDiscovered -= _deviceDiscovery_DeviceDiscovered;
try
{
// This is not a significant improvement
NatUtility.StopDiscovery();
NatUtility.DeviceFound -= NatUtility_DeviceFound;
NatUtility.DeviceLost -= NatUtility_DeviceLost;
}
// Statements in try-block will no fail because StopDiscovery is a one-line
// method that was no chances to fail.
// public static void StopDiscovery ()
// {
// searching.Reset();
// }
// IMO you could remove the catch-block
catch (Exception ex)
{
_logger.ErrorException("Error stopping NAT Discovery", ex);
}
finally
{
_isStarted = false;
}
}
}
}

View File

@@ -1,635 +0,0 @@
using MediaBrowser.Controller.Configuration;
using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.Library;
using MediaBrowser.Controller.Plugins;
using MediaBrowser.Model.Configuration;
using MediaBrowser.Model.Logging;
using System;
using System.Collections.Concurrent;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Threading.Tasks;
using Emby.Server.Implementations.IO;
using MediaBrowser.Common.IO;
using MediaBrowser.Model.IO;
using MediaBrowser.Controller;
using MediaBrowser.Controller.IO;
using MediaBrowser.Model.System;
using MediaBrowser.Model.Tasks;
using MediaBrowser.Model.Threading;
namespace MediaBrowser.Server.Implementations.IO
{
public class LibraryMonitor : ILibraryMonitor
{
/// <summary>
/// The file system watchers
/// </summary>
private readonly ConcurrentDictionary<string, FileSystemWatcher> _fileSystemWatchers = new ConcurrentDictionary<string, FileSystemWatcher>(StringComparer.OrdinalIgnoreCase);
/// <summary>
/// The affected paths
/// </summary>
private readonly List<FileRefresher> _activeRefreshers = new List<FileRefresher>();
/// <summary>
/// A dynamic list of paths that should be ignored. Added to during our own file sytem modifications.
/// </summary>
private readonly ConcurrentDictionary<string, string> _tempIgnoredPaths = new ConcurrentDictionary<string, string>(StringComparer.OrdinalIgnoreCase);
/// <summary>
/// Any file name ending in any of these will be ignored by the watchers
/// </summary>
private readonly IReadOnlyList<string> _alwaysIgnoreFiles = new List<string>
{
"small.jpg",
"albumart.jpg",
// WMC temp recording directories that will constantly be written to
"TempRec",
"TempSBE"
};
private readonly IReadOnlyList<string> _alwaysIgnoreSubstrings = new List<string>
{
// Synology
"eaDir",
"#recycle",
".wd_tv",
".actors"
};
private readonly IReadOnlyList<string> _alwaysIgnoreExtensions = new List<string>
{
// thumbs.db
".db",
// bts sync files
".bts",
".sync"
};
/// <summary>
/// Add the path to our temporary ignore list. Use when writing to a path within our listening scope.
/// </summary>
/// <param name="path">The path.</param>
private void TemporarilyIgnore(string path)
{
_tempIgnoredPaths[path] = path;
}
public void ReportFileSystemChangeBeginning(string path)
{
if (string.IsNullOrEmpty(path))
{
throw new ArgumentNullException("path");
}
TemporarilyIgnore(path);
}
public bool IsPathLocked(string path)
{
var lockedPaths = _tempIgnoredPaths.Keys.ToList();
return lockedPaths.Any(i => string.Equals(i, path, StringComparison.OrdinalIgnoreCase) || _fileSystem.ContainsSubPath(i, path));
}
public async void ReportFileSystemChangeComplete(string path, bool refreshPath)
{
if (string.IsNullOrEmpty(path))
{
throw new ArgumentNullException("path");
}
// This is an arbitraty amount of time, but delay it because file system writes often trigger events long after the file was actually written to.
// Seeing long delays in some situations, especially over the network, sometimes up to 45 seconds
// But if we make this delay too high, we risk missing legitimate changes, such as user adding a new file, or hand-editing metadata
await Task.Delay(45000).ConfigureAwait(false);
string val;
_tempIgnoredPaths.TryRemove(path, out val);
if (refreshPath)
{
try
{
ReportFileSystemChanged(path);
}
catch (Exception ex)
{
Logger.ErrorException("Error in ReportFileSystemChanged for {0}", ex, path);
}
}
}
/// <summary>
/// Gets or sets the logger.
/// </summary>
/// <value>The logger.</value>
private ILogger Logger { get; set; }
/// <summary>
/// Gets or sets the task manager.
/// </summary>
/// <value>The task manager.</value>
private ITaskManager TaskManager { get; set; }
private ILibraryManager LibraryManager { get; set; }
private IServerConfigurationManager ConfigurationManager { get; set; }
private readonly IFileSystem _fileSystem;
private readonly ITimerFactory _timerFactory;
private readonly IEnvironmentInfo _environmentInfo;
/// <summary>
/// Initializes a new instance of the <see cref="LibraryMonitor" /> class.
/// </summary>
public LibraryMonitor(ILogManager logManager, ITaskManager taskManager, ILibraryManager libraryManager, IServerConfigurationManager configurationManager, IFileSystem fileSystem, ITimerFactory timerFactory, ISystemEvents systemEvents, IEnvironmentInfo environmentInfo)
{
if (taskManager == null)
{
throw new ArgumentNullException("taskManager");
}
LibraryManager = libraryManager;
TaskManager = taskManager;
Logger = logManager.GetLogger(GetType().Name);
ConfigurationManager = configurationManager;
_fileSystem = fileSystem;
_timerFactory = timerFactory;
_environmentInfo = environmentInfo;
systemEvents.Resume += _systemEvents_Resume;
}
private void _systemEvents_Resume(object sender, EventArgs e)
{
Restart();
}
private void Restart()
{
Stop();
Start();
}
private bool IsLibraryMonitorEnabaled(BaseItem item)
{
if (item is BasePluginFolder)
{
return false;
}
var options = LibraryManager.GetLibraryOptions(item);
if (options != null)
{
return options.EnableRealtimeMonitor;
}
return false;
}
public void Start()
{
LibraryManager.ItemAdded += LibraryManager_ItemAdded;
LibraryManager.ItemRemoved += LibraryManager_ItemRemoved;
var pathsToWatch = new List<string> { };
var paths = LibraryManager
.RootFolder
.Children
.Where(IsLibraryMonitorEnabaled)
.OfType<Folder>()
.SelectMany(f => f.PhysicalLocations)
.Distinct(StringComparer.OrdinalIgnoreCase)
.OrderBy(i => i)
.ToList();
foreach (var path in paths)
{
if (!ContainsParentFolder(pathsToWatch, path))
{
pathsToWatch.Add(path);
}
}
foreach (var path in pathsToWatch)
{
StartWatchingPath(path);
}
}
private void StartWatching(BaseItem item)
{
if (IsLibraryMonitorEnabaled(item))
{
StartWatchingPath(item.Path);
}
}
/// <summary>
/// Handles the ItemRemoved event of the LibraryManager control.
/// </summary>
/// <param name="sender">The source of the event.</param>
/// <param name="e">The <see cref="ItemChangeEventArgs"/> instance containing the event data.</param>
void LibraryManager_ItemRemoved(object sender, ItemChangeEventArgs e)
{
if (e.Item.GetParent() is AggregateFolder)
{
StopWatchingPath(e.Item.Path);
}
}
/// <summary>
/// Handles the ItemAdded event of the LibraryManager control.
/// </summary>
/// <param name="sender">The source of the event.</param>
/// <param name="e">The <see cref="ItemChangeEventArgs"/> instance containing the event data.</param>
void LibraryManager_ItemAdded(object sender, ItemChangeEventArgs e)
{
if (e.Item.GetParent() is AggregateFolder)
{
StartWatching(e.Item);
}
}
/// <summary>
/// Examine a list of strings assumed to be file paths to see if it contains a parent of
/// the provided path.
/// </summary>
/// <param name="lst">The LST.</param>
/// <param name="path">The path.</param>
/// <returns><c>true</c> if [contains parent folder] [the specified LST]; otherwise, <c>false</c>.</returns>
/// <exception cref="System.ArgumentNullException">path</exception>
private static bool ContainsParentFolder(IEnumerable<string> lst, string path)
{
if (string.IsNullOrWhiteSpace(path))
{
throw new ArgumentNullException("path");
}
path = path.TrimEnd(Path.DirectorySeparatorChar);
return lst.Any(str =>
{
//this should be a little quicker than examining each actual parent folder...
var compare = str.TrimEnd(Path.DirectorySeparatorChar);
return path.Equals(compare, StringComparison.OrdinalIgnoreCase) || (path.StartsWith(compare, StringComparison.OrdinalIgnoreCase) && path[compare.Length] == Path.DirectorySeparatorChar);
});
}
/// <summary>
/// Starts the watching path.
/// </summary>
/// <param name="path">The path.</param>
private void StartWatchingPath(string path)
{
// Creating a FileSystemWatcher over the LAN can take hundreds of milliseconds, so wrap it in a Task to do them all in parallel
Task.Run(() =>
{
try
{
var newWatcher = new FileSystemWatcher(path, "*")
{
IncludeSubdirectories = true
};
if (Environment.OSVersion.Platform == PlatformID.Win32NT)
{
newWatcher.InternalBufferSize = 32767;
}
newWatcher.NotifyFilter = NotifyFilters.CreationTime |
NotifyFilters.DirectoryName |
NotifyFilters.FileName |
NotifyFilters.LastWrite |
NotifyFilters.Size |
NotifyFilters.Attributes;
newWatcher.Created += watcher_Changed;
newWatcher.Deleted += watcher_Changed;
newWatcher.Renamed += watcher_Changed;
newWatcher.Changed += watcher_Changed;
newWatcher.Error += watcher_Error;
if (_fileSystemWatchers.TryAdd(path, newWatcher))
{
newWatcher.EnableRaisingEvents = true;
Logger.Info("Watching directory " + path);
}
else
{
Logger.Info("Unable to add directory watcher for {0}. It already exists in the dictionary.", path);
newWatcher.Dispose();
}
}
catch (Exception ex)
{
Logger.ErrorException("Error watching path: {0}", ex, path);
}
});
}
/// <summary>
/// Stops the watching path.
/// </summary>
/// <param name="path">The path.</param>
private void StopWatchingPath(string path)
{
FileSystemWatcher watcher;
if (_fileSystemWatchers.TryGetValue(path, out watcher))
{
DisposeWatcher(watcher);
}
}
/// <summary>
/// Disposes the watcher.
/// </summary>
/// <param name="watcher">The watcher.</param>
private void DisposeWatcher(FileSystemWatcher watcher)
{
try
{
using (watcher)
{
Logger.Info("Stopping directory watching for path {0}", watcher.Path);
watcher.EnableRaisingEvents = false;
}
}
catch
{
}
finally
{
RemoveWatcherFromList(watcher);
}
}
/// <summary>
/// Removes the watcher from list.
/// </summary>
/// <param name="watcher">The watcher.</param>
private void RemoveWatcherFromList(FileSystemWatcher watcher)
{
FileSystemWatcher removed;
_fileSystemWatchers.TryRemove(watcher.Path, out removed);
}
/// <summary>
/// Handles the Error event of the watcher control.
/// </summary>
/// <param name="sender">The source of the event.</param>
/// <param name="e">The <see cref="ErrorEventArgs" /> instance containing the event data.</param>
void watcher_Error(object sender, ErrorEventArgs e)
{
var ex = e.GetException();
var dw = (FileSystemWatcher)sender;
Logger.ErrorException("Error in Directory watcher for: " + dw.Path, ex);
DisposeWatcher(dw);
}
/// <summary>
/// Handles the Changed event of the watcher control.
/// </summary>
/// <param name="sender">The source of the event.</param>
/// <param name="e">The <see cref="FileSystemEventArgs" /> instance containing the event data.</param>
void watcher_Changed(object sender, FileSystemEventArgs e)
{
try
{
Logger.Debug("Changed detected of type " + e.ChangeType + " to " + e.FullPath);
var path = e.FullPath;
// For deletes, use the parent path
if (e.ChangeType == WatcherChangeTypes.Deleted)
{
var parentPath = Path.GetDirectoryName(path);
if (!string.IsNullOrWhiteSpace(parentPath))
{
path = parentPath;
}
}
ReportFileSystemChanged(path);
}
catch (Exception ex)
{
Logger.ErrorException("Exception in ReportFileSystemChanged. Path: {0}", ex, e.FullPath);
}
}
public void ReportFileSystemChanged(string path)
{
if (string.IsNullOrEmpty(path))
{
throw new ArgumentNullException("path");
}
var filename = Path.GetFileName(path);
var monitorPath = !string.IsNullOrEmpty(filename) &&
!_alwaysIgnoreFiles.Contains(filename, StringComparer.OrdinalIgnoreCase) &&
!_alwaysIgnoreExtensions.Contains(Path.GetExtension(path) ?? string.Empty, StringComparer.OrdinalIgnoreCase) &&
_alwaysIgnoreSubstrings.All(i => path.IndexOf(i, StringComparison.OrdinalIgnoreCase) == -1);
// Ignore certain files
var tempIgnorePaths = _tempIgnoredPaths.Keys.ToList();
// If the parent of an ignored path has a change event, ignore that too
if (tempIgnorePaths.Any(i =>
{
if (string.Equals(i, path, StringComparison.OrdinalIgnoreCase))
{
Logger.Debug("Ignoring change to {0}", path);
return true;
}
if (_fileSystem.ContainsSubPath(i, path))
{
Logger.Debug("Ignoring change to {0}", path);
return true;
}
// Go up a level
var parent = Path.GetDirectoryName(i);
if (!string.IsNullOrEmpty(parent))
{
if (string.Equals(parent, path, StringComparison.OrdinalIgnoreCase))
{
Logger.Debug("Ignoring change to {0}", path);
return true;
}
}
return false;
}))
{
monitorPath = false;
}
if (monitorPath)
{
// Avoid implicitly captured closure
CreateRefresher(path);
}
}
private void CreateRefresher(string path)
{
var parentPath = Path.GetDirectoryName(path);
lock (_activeRefreshers)
{
var refreshers = _activeRefreshers.ToList();
foreach (var refresher in refreshers)
{
// Path is already being refreshed
if (string.Equals(path, refresher.Path, StringComparison.Ordinal))
{
refresher.RestartTimer();
return;
}
// Parent folder is already being refreshed
if (_fileSystem.ContainsSubPath(refresher.Path, path))
{
refresher.AddPath(path);
return;
}
// New path is a parent
if (_fileSystem.ContainsSubPath(path, refresher.Path))
{
refresher.ResetPath(path, null);
return;
}
// They are siblings. Rebase the refresher to the parent folder.
if (string.Equals(parentPath, Path.GetDirectoryName(refresher.Path), StringComparison.Ordinal))
{
refresher.ResetPath(parentPath, path);
return;
}
}
var newRefresher = new FileRefresher(path, _fileSystem, ConfigurationManager, LibraryManager, TaskManager, Logger, _timerFactory, _environmentInfo);
newRefresher.Completed += NewRefresher_Completed;
_activeRefreshers.Add(newRefresher);
}
}
private void NewRefresher_Completed(object sender, EventArgs e)
{
var refresher = (FileRefresher)sender;
DisposeRefresher(refresher);
}
/// <summary>
/// Stops this instance.
/// </summary>
public void Stop()
{
LibraryManager.ItemAdded -= LibraryManager_ItemAdded;
LibraryManager.ItemRemoved -= LibraryManager_ItemRemoved;
foreach (var watcher in _fileSystemWatchers.Values.ToList())
{
watcher.Created -= watcher_Changed;
watcher.Deleted -= watcher_Changed;
watcher.Renamed -= watcher_Changed;
watcher.Changed -= watcher_Changed;
try
{
watcher.EnableRaisingEvents = false;
}
catch (InvalidOperationException)
{
// Seeing this under mono on linux sometimes
// Collection was modified; enumeration operation may not execute.
}
watcher.Dispose();
}
_fileSystemWatchers.Clear();
DisposeRefreshers();
}
private void DisposeRefresher(FileRefresher refresher)
{
lock (_activeRefreshers)
{
refresher.Dispose();
_activeRefreshers.Remove(refresher);
}
}
private void DisposeRefreshers()
{
lock (_activeRefreshers)
{
foreach (var refresher in _activeRefreshers.ToList())
{
refresher.Dispose();
}
_activeRefreshers.Clear();
}
}
/// <summary>
/// Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
/// </summary>
public void Dispose()
{
Dispose(true);
GC.SuppressFinalize(this);
}
/// <summary>
/// Releases unmanaged and - optionally - managed resources.
/// </summary>
/// <param name="dispose"><c>true</c> to release both managed and unmanaged resources; <c>false</c> to release only unmanaged resources.</param>
protected virtual void Dispose(bool dispose)
{
if (dispose)
{
Stop();
}
}
}
public class LibraryMonitorStartup : IServerEntryPoint
{
private readonly ILibraryMonitor _monitor;
public LibraryMonitorStartup(ILibraryMonitor monitor)
{
_monitor = monitor;
}
public void Run()
{
_monitor.Start();
}
public void Dispose()
{
}
}
}

View File

@@ -1,56 +0,0 @@
using System.IO;
using MediaBrowser.Model.IO;
using Microsoft.IO;
namespace MediaBrowser.Server.Implementations.IO
{
public class RecyclableMemoryStreamProvider : IMemoryStreamFactory
{
readonly RecyclableMemoryStreamManager _manager = new RecyclableMemoryStreamManager();
public MemoryStream CreateNew()
{
return _manager.GetStream();
}
public MemoryStream CreateNew(int capacity)
{
return _manager.GetStream("RecyclableMemoryStream", capacity);
}
public MemoryStream CreateNew(byte[] buffer)
{
return _manager.GetStream("RecyclableMemoryStream", buffer, 0, buffer.Length);
}
public bool TryGetBuffer(MemoryStream stream, out byte[] buffer)
{
buffer = stream.GetBuffer();
return true;
}
}
public class MemoryStreamProvider : IMemoryStreamFactory
{
public MemoryStream CreateNew()
{
return new MemoryStream();
}
public MemoryStream CreateNew(int capacity)
{
return new MemoryStream(capacity);
}
public MemoryStream CreateNew(byte[] buffer)
{
return new MemoryStream(buffer);
}
public bool TryGetBuffer(MemoryStream stream, out byte[] buffer)
{
buffer = stream.GetBuffer();
return true;
}
}
}

View File

@@ -1,105 +0,0 @@
using System;
using System.Collections.Generic;
using System.Globalization;
using System.IO;
using System.Linq;
using System.Threading;
using System.Threading.Tasks;
using IniParser;
using IniParser.Model;
using MediaBrowser.Controller.LiveTv;
using MediaBrowser.Model.LiveTv;
using MediaBrowser.Model.Logging;
using MediaBrowser.Server.Implementations.LiveTv.TunerHosts.SatIp.Rtsp;
namespace MediaBrowser.Server.Implementations.LiveTv.TunerHosts.SatIp
{
public class ChannelScan
{
private readonly ILogger _logger;
public ChannelScan(ILogger logger)
{
_logger = logger;
}
public async Task<List<ChannelInfo>> Scan(TunerHostInfo info, CancellationToken cancellationToken)
{
var ini = info.SourceA.Split('|')[1];
var resource = GetType().Assembly.GetManifestResourceNames().FirstOrDefault(i => i.EndsWith(ini, StringComparison.OrdinalIgnoreCase));
_logger.Info("Opening ini file {0}", resource);
var list = new List<ChannelInfo>();
using (var stream = GetType().Assembly.GetManifestResourceStream(resource))
{
using (var reader = new StreamReader(stream))
{
var parser = new StreamIniDataParser();
var data = parser.ReadData(reader);
var count = GetInt(data, "DVB", "0", 0);
_logger.Info("DVB Count: {0}", count);
var index = 1;
var source = "1";
while (index <= count)
{
cancellationToken.ThrowIfCancellationRequested();
using (var rtspSession = new RtspSession(info.Url, _logger))
{
float percent = count == 0 ? 0 : (float)(index) / count;
percent = Math.Max(percent * 100, 100);
//SetControlPropertyThreadSafe(pgbSearchResult, "Value", (int)percent);
var strArray = data["DVB"][index.ToString(CultureInfo.InvariantCulture)].Split(',');
string tuning;
if (strArray[4] == "S2")
{
tuning = string.Format("src={0}&freq={1}&pol={2}&sr={3}&fec={4}&msys=dvbs2&mtype={5}&plts=on&ro=0.35&pids=0,16,17,18,20", source, strArray[0], strArray[1].ToLower(), strArray[2].ToLower(), strArray[3], strArray[5].ToLower());
}
else
{
tuning = string.Format("src={0}&freq={1}&pol={2}&sr={3}&fec={4}&msys=dvbs&mtype={5}&pids=0,16,17,18,20", source, strArray[0], strArray[1].ToLower(), strArray[2], strArray[3], strArray[5].ToLower());
}
rtspSession.Setup(tuning, "unicast");
rtspSession.Play(string.Empty);
int signallevel;
int signalQuality;
rtspSession.Describe(out signallevel, out signalQuality);
await Task.Delay(500).ConfigureAwait(false);
index++;
}
}
}
}
return list;
}
private int GetInt(IniData data, string s1, string s2, int defaultValue)
{
var value = data[s1][s2];
int numericValue;
if (int.TryParse(value, NumberStyles.Any, CultureInfo.InvariantCulture, out numericValue))
{
return numericValue;
}
return defaultValue;
}
}
public class SatChannel
{
// TODO: Add properties
}
}

View File

@@ -1,79 +0,0 @@
/*
Copyright (C) <2007-2016> <Kay Diefenthal>
SatIp.RtspSample is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
SatIp.RtspSample is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with SatIp.RtspSample. If not, see <http://www.gnu.org/licenses/>.
*/
namespace MediaBrowser.Server.Implementations.LiveTv.TunerHosts.SatIp.Rtcp
{
public class ReportBlock
{
/// <summary>
/// Get the length of the block.
/// </summary>
public int BlockLength { get { return (24); } }
/// <summary>
/// Get the synchronization source.
/// </summary>
public string SynchronizationSource { get; private set; }
/// <summary>
/// Get the fraction lost.
/// </summary>
public int FractionLost { get; private set; }
/// <summary>
/// Get the cumulative packets lost.
/// </summary>
public int CumulativePacketsLost { get; private set; }
/// <summary>
/// Get the highest number received.
/// </summary>
public int HighestNumberReceived { get; private set; }
/// <summary>
/// Get the inter arrival jitter.
/// </summary>
public int InterArrivalJitter { get; private set; }
/// <summary>
/// Get the timestamp of the last report.
/// </summary>
public int LastReportTimeStamp { get; private set; }
/// <summary>
/// Get the delay since the last report.
/// </summary>
public int DelaySinceLastReport { get; private set; }
/// <summary>
/// Initialize a new instance of the ReportBlock class.
/// </summary>
public ReportBlock() { }
/// <summary>
/// Unpack the data in a packet.
/// </summary>
/// <param name="buffer">The buffer containing the packet.</param>
/// <param name="offset">The offset to the first byte of the packet within the buffer.</param>
/// <returns>An ErrorSpec instance if an error occurs; null otherwise.</returns>
public void Process(byte[] buffer, int offset)
{
SynchronizationSource = Utils.ConvertBytesToString(buffer, offset, 4);
FractionLost = buffer[offset + 4];
CumulativePacketsLost = Utils.Convert3BytesToInt(buffer, offset + 5);
HighestNumberReceived = Utils.Convert4BytesToInt(buffer, offset + 8);
InterArrivalJitter = Utils.Convert4BytesToInt(buffer, offset + 12);
LastReportTimeStamp = Utils.Convert4BytesToInt(buffer, offset + 16);
DelaySinceLastReport = Utils.Convert4BytesToInt(buffer, offset + 20);
}
}
}

View File

@@ -1,68 +0,0 @@
/*
Copyright (C) <2007-2016> <Kay Diefenthal>
SatIp.RtspSample is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
SatIp.RtspSample is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with SatIp.RtspSample. If not, see <http://www.gnu.org/licenses/>.
*/
using System.Text;
namespace MediaBrowser.Server.Implementations.LiveTv.TunerHosts.SatIp.Rtcp
{
class RtcpAppPacket : RtcpPacket
{
/// <summary>
/// Get the synchronization source.
/// </summary>
public int SynchronizationSource { get; private set; }
/// <summary>
/// Get the name.
/// </summary>
public string Name { get; private set; }
/// <summary>
/// Get the identity.
/// </summary>
public int Identity { get; private set; }
/// <summary>
/// Get the variable data portion.
/// </summary>
public string Data { get; private set; }
public override void Parse(byte[] buffer, int offset)
{
base.Parse(buffer, offset);
SynchronizationSource = Utils.Convert4BytesToInt(buffer, offset + 4);
Name = Utils.ConvertBytesToString(buffer, offset + 8, 4);
Identity = Utils.Convert2BytesToInt(buffer, offset + 12);
int dataLength = Utils.Convert2BytesToInt(buffer, offset + 14);
if (dataLength != 0)
Data = Utils.ConvertBytesToString(buffer, offset + 16, dataLength);
}
public override string ToString()
{
StringBuilder sb = new StringBuilder();
sb.AppendFormat("Application Specific.\n");
sb.AppendFormat("Version : {0} .\n", Version);
sb.AppendFormat("Padding : {0} .\n", Padding);
sb.AppendFormat("Report Count : {0} .\n", ReportCount);
sb.AppendFormat("PacketType: {0} .\n", Type);
sb.AppendFormat("Length : {0} .\n", Length);
sb.AppendFormat("SynchronizationSource : {0} .\n", SynchronizationSource);
sb.AppendFormat("Name : {0} .\n", Name);
sb.AppendFormat("Identity : {0} .\n", Identity);
sb.AppendFormat("Data : {0} .\n", Data);
sb.AppendFormat(".\n");
return sb.ToString();
}
}
}

View File

@@ -1,59 +0,0 @@
using System.Collections.ObjectModel;
/*
Copyright (C) <2007-2016> <Kay Diefenthal>
SatIp.RtspSample is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
SatIp.RtspSample is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with SatIp.RtspSample. If not, see <http://www.gnu.org/licenses/>.
*/
using System.Text;
namespace MediaBrowser.Server.Implementations.LiveTv.TunerHosts.SatIp.Rtcp
{
public class RtcpByePacket :RtcpPacket
{
public Collection<string> SynchronizationSources { get; private set; }
public string ReasonForLeaving { get; private set; }
public override void Parse(byte[] buffer, int offset)
{
base.Parse(buffer, offset);
SynchronizationSources = new Collection<string>();
int index = 4;
while (SynchronizationSources.Count < ReportCount)
{
SynchronizationSources.Add(Utils.ConvertBytesToString(buffer, offset + index, 4));
index += 4;
}
if (index < Length)
{
int reasonLength = buffer[offset + index];
ReasonForLeaving = Utils.ConvertBytesToString(buffer, offset + index + 1, reasonLength);
}
}
public override string ToString()
{
StringBuilder sb = new StringBuilder();
sb.AppendFormat("ByeBye .\n");
sb.AppendFormat("Version : {0} .\n", Version);
sb.AppendFormat("Padding : {0} .\n", Padding);
sb.AppendFormat("Report Count : {0} .\n", ReportCount);
sb.AppendFormat("PacketType: {0} .\n", Type);
sb.AppendFormat("Length : {0} .\n", Length);
sb.AppendFormat("SynchronizationSources : {0} .\n", SynchronizationSources);
sb.AppendFormat("ReasonForLeaving : {0} .\n", ReasonForLeaving);
sb.AppendFormat(".\n");
return sb.ToString();
}
}
}

View File

@@ -1,203 +0,0 @@
/*
Copyright (C) <2007-2016> <Kay Diefenthal>
SatIp.RtspSample is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
SatIp.RtspSample is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with SatIp.RtspSample. If not, see <http://www.gnu.org/licenses/>.
*/
using System;
using System.Net;
using System.Net.Sockets;
using System.Threading;
using MediaBrowser.Model.Logging;
namespace MediaBrowser.Server.Implementations.LiveTv.TunerHosts.SatIp.Rtcp
{
public class RtcpListener
{
private readonly ILogger _logger;
private Thread _rtcpListenerThread;
private AutoResetEvent _rtcpListenerThreadStopEvent = null;
private UdpClient _udpClient;
private IPEndPoint _multicastEndPoint;
private IPEndPoint _serverEndPoint;
private TransmissionMode _transmissionMode;
public RtcpListener(String address, int port, TransmissionMode mode,ILogger logger)
{
_logger = logger;
_transmissionMode = mode;
switch (mode)
{
case TransmissionMode.Unicast:
_udpClient = new UdpClient(new IPEndPoint(IPAddress.Parse(address), port));
_serverEndPoint = new IPEndPoint(IPAddress.Any, 0);
break;
case TransmissionMode.Multicast:
_multicastEndPoint = new IPEndPoint(IPAddress.Parse(address), port);
_serverEndPoint = new IPEndPoint(IPAddress.Any, 0);
_udpClient = new UdpClient();
_udpClient.Client.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.ReuseAddress, 1);
_udpClient.ExclusiveAddressUse = false;
_udpClient.Client.Bind(new IPEndPoint(IPAddress.Any, port));
_udpClient.JoinMulticastGroup(_multicastEndPoint.Address);
break;
}
//StartRtcpListenerThread();
}
public void StartRtcpListenerThread()
{
// Kill the existing thread if it is in "zombie" state.
if (_rtcpListenerThread != null && !_rtcpListenerThread.IsAlive)
{
StopRtcpListenerThread();
}
if (_rtcpListenerThread == null)
{
_logger.Info("SAT>IP : starting new RTCP listener thread");
_rtcpListenerThreadStopEvent = new AutoResetEvent(false);
_rtcpListenerThread = new Thread(new ThreadStart(RtcpListenerThread));
_rtcpListenerThread.Name = string.Format("SAT>IP tuner RTCP listener");
_rtcpListenerThread.IsBackground = true;
_rtcpListenerThread.Priority = ThreadPriority.Lowest;
_rtcpListenerThread.Start();
}
}
public void StopRtcpListenerThread()
{
if (_rtcpListenerThread != null)
{
if (!_rtcpListenerThread.IsAlive)
{
_logger.Info("SAT>IP : aborting old RTCP listener thread");
_rtcpListenerThread.Abort();
}
else
{
_rtcpListenerThreadStopEvent.Set();
if (!_rtcpListenerThread.Join(400 * 2))
{
_logger.Info("SAT>IP : failed to join RTCP listener thread, aborting thread");
_rtcpListenerThread.Abort();
}
}
_rtcpListenerThread = null;
if (_rtcpListenerThreadStopEvent != null)
{
_rtcpListenerThreadStopEvent.Close();
_rtcpListenerThreadStopEvent = null;
}
}
}
private void RtcpListenerThread()
{
try
{
bool receivedGoodBye = false;
try
{
_udpClient.Client.ReceiveTimeout = 400;
IPEndPoint serverEndPoint = new IPEndPoint(IPAddress.Any, 0);
while (!receivedGoodBye && !_rtcpListenerThreadStopEvent.WaitOne(1))
{
byte[] packets = _udpClient.Receive(ref serverEndPoint);
if (packets == null)
{
continue;
}
int offset = 0;
while (offset < packets.Length)
{
switch (packets[offset + 1])
{
case 200: //sr
var sr = new RtcpSenderReportPacket();
sr.Parse(packets, offset);
offset += sr.Length;
break;
case 201: //rr
var rr = new RtcpReceiverReportPacket();
rr.Parse(packets, offset);
offset += rr.Length;
break;
case 202: //sd
var sd = new RtcpSourceDescriptionPacket();
sd.Parse(packets, offset);
offset += sd.Length;
break;
case 203: // bye
var bye = new RtcpByePacket();
bye.Parse(packets, offset);
receivedGoodBye = true;
OnPacketReceived(new RtcpPacketReceivedArgs(bye));
offset += bye.Length;
break;
case 204: // app
var app = new RtcpAppPacket();
app.Parse(packets, offset);
OnPacketReceived(new RtcpPacketReceivedArgs(app));
offset += app.Length;
break;
}
}
}
}
finally
{
switch (_transmissionMode)
{
case TransmissionMode.Multicast:
_udpClient.DropMulticastGroup(_multicastEndPoint.Address);
_udpClient.Close();
break;
case TransmissionMode.Unicast:
_udpClient.Close();
break;
}
}
}
catch (ThreadAbortException)
{
}
catch (Exception ex)
{
_logger.Info(string.Format("SAT>IP : RTCP listener thread exception"), ex);
return;
}
_logger.Info("SAT>IP : RTCP listener thread stopping");
}
public delegate void PacketReceivedHandler(object sender, RtcpPacketReceivedArgs e);
public event PacketReceivedHandler PacketReceived;
public class RtcpPacketReceivedArgs : EventArgs
{
public Object Packet { get; private set; }
public RtcpPacketReceivedArgs(Object packet)
{
Packet = packet;
}
}
protected void OnPacketReceived(RtcpPacketReceivedArgs args)
{
if (PacketReceived != null)
{
PacketReceived(this, args);
}
}
}
}

View File

@@ -1,37 +0,0 @@
/*
Copyright (C) <2007-2016> <Kay Diefenthal>
SatIp.RtspSample is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
SatIp.RtspSample is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with SatIp.RtspSample. If not, see <http://www.gnu.org/licenses/>.
*/
namespace MediaBrowser.Server.Implementations.LiveTv.TunerHosts.SatIp.Rtcp
{
public abstract class RtcpPacket
{
public int Version { get; private set; }
public bool Padding { get; private set; }
public int ReportCount { get; private set; }
public int Type { get; private set; }
public int Length { get; private set; }
public virtual void Parse(byte[] buffer, int offset)
{
Version = buffer[offset] >> 6;
Padding = (buffer[offset] & 0x20) != 0;
ReportCount = buffer[offset] & 0x1f;
Type = buffer[offset + 1];
Length = (Utils.Convert2BytesToInt(buffer, offset + 2) * 4) + 4;
}
}
}

View File

@@ -1,68 +0,0 @@
using System.Collections.ObjectModel;
/*
Copyright (C) <2007-2016> <Kay Diefenthal>
SatIp.RtspSample is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
SatIp.RtspSample is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with SatIp.RtspSample. If not, see <http://www.gnu.org/licenses/>.
*/
using System.Text;
namespace MediaBrowser.Server.Implementations.LiveTv.TunerHosts.SatIp.Rtcp
{
public class RtcpReceiverReportPacket :RtcpPacket
{
public string SynchronizationSource { get; private set; }
public Collection<ReportBlock> ReportBlocks { get; private set; }
public byte[] ProfileExtension { get; private set; }
public override void Parse(byte[] buffer, int offset)
{
base.Parse(buffer, offset);
SynchronizationSource = Utils.ConvertBytesToString(buffer, offset + 4, 4);
ReportBlocks = new Collection<ReportBlock>();
int index = 8;
while (ReportBlocks.Count < ReportCount)
{
ReportBlock reportBlock = new ReportBlock();
reportBlock.Process(buffer, offset + index);
ReportBlocks.Add(reportBlock);
index += reportBlock.BlockLength;
}
if (index < Length)
{
ProfileExtension = new byte[Length - index];
for (int extensionIndex = 0; index < Length; index++)
{
ProfileExtension[extensionIndex] = buffer[offset + index];
extensionIndex++;
}
}
}
public override string ToString()
{
StringBuilder sb = new StringBuilder();
sb.AppendFormat("Receiver Report.\n");
sb.AppendFormat("Version : {0} .\n", Version);
sb.AppendFormat("Padding : {0} .\n", Padding);
sb.AppendFormat("Report Count : {0} .\n", ReportCount);
sb.AppendFormat("PacketType: {0} .\n", Type);
sb.AppendFormat("Length : {0} .\n", Length);
sb.AppendFormat("SynchronizationSource : {0} .\n", SynchronizationSource);
sb.AppendFormat(".\n");
return sb.ToString();
}
}
}

View File

@@ -1,105 +0,0 @@
using System.Collections.ObjectModel;
/*
Copyright (C) <2007-2016> <Kay Diefenthal>
SatIp.RtspSample is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
SatIp.RtspSample is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with SatIp.RtspSample. If not, see <http://www.gnu.org/licenses/>.
*/
using System.Text;
namespace MediaBrowser.Server.Implementations.LiveTv.TunerHosts.SatIp.Rtcp
{
public class RtcpSenderReportPacket : RtcpPacket
{
#region Properties
/// <summary>
/// Get the synchronization source.
/// </summary>
public int SynchronizationSource { get; private set; }
/// <summary>
/// Get the NPT timestamp.
/// </summary>
public long NPTTimeStamp { get; private set; }
/// <summary>
/// Get the RTP timestamp.
/// </summary>
public int RTPTimeStamp { get; private set; }
/// <summary>
/// Get the packet count.
/// </summary>
public int SenderPacketCount { get; private set; }
/// <summary>
/// Get the octet count.
/// </summary>
public int SenderOctetCount { get; private set; }
/// <summary>
/// Get the list of report blocks.
/// </summary>
public Collection<ReportBlock> ReportBlocks { get; private set; }
/// <summary>
/// Get the profile extension data.
/// </summary>
public byte[] ProfileExtension { get; private set; }
#endregion
public override void Parse(byte[] buffer, int offset)
{
base.Parse(buffer, offset);
SynchronizationSource = Utils.Convert4BytesToInt(buffer, offset + 4);
NPTTimeStamp = Utils.Convert8BytesToLong(buffer, offset + 8);
RTPTimeStamp = Utils.Convert4BytesToInt(buffer, offset + 16);
SenderPacketCount = Utils.Convert4BytesToInt(buffer, offset + 20);
SenderOctetCount = Utils.Convert4BytesToInt(buffer, offset + 24);
ReportBlocks = new Collection<ReportBlock>();
int index = 28;
while (ReportBlocks.Count < ReportCount)
{
ReportBlock reportBlock = new ReportBlock();
reportBlock.Process(buffer, offset + index);
ReportBlocks.Add(reportBlock);
index += reportBlock.BlockLength;
}
if (index < Length)
{
ProfileExtension = new byte[Length - index];
for (int extensionIndex = 0; index < Length; index++)
{
ProfileExtension[extensionIndex] = buffer[offset + index];
extensionIndex++;
}
}
}
public override string ToString()
{
StringBuilder sb = new StringBuilder();
sb.AppendFormat("Sender Report.\n");
sb.AppendFormat("Version : {0} .\n", Version);
sb.AppendFormat("Padding : {0} .\n", Padding);
sb.AppendFormat("Report Count : {0} .\n", ReportCount);
sb.AppendFormat("PacketType: {0} .\n", Type);
sb.AppendFormat("Length : {0} .\n", Length);
sb.AppendFormat("SynchronizationSource : {0} .\n", SynchronizationSource);
sb.AppendFormat("NTP Timestamp : {0} .\n", Utils.NptTimestampToDateTime(NPTTimeStamp));
sb.AppendFormat("RTP Timestamp : {0} .\n", RTPTimeStamp);
sb.AppendFormat("Sender PacketCount : {0} .\n", SenderPacketCount);
sb.AppendFormat("Sender Octet Count : {0} .\n", SenderOctetCount);
sb.AppendFormat(".\n");
return sb.ToString();
}
}
}

View File

@@ -1,57 +0,0 @@
using System.Collections.ObjectModel;
/*
Copyright (C) <2007-2016> <Kay Diefenthal>
SatIp.RtspSample is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
SatIp.RtspSample is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with SatIp.RtspSample. If not, see <http://www.gnu.org/licenses/>.
*/
using System.Text;
namespace MediaBrowser.Server.Implementations.LiveTv.TunerHosts.SatIp.Rtcp
{
class RtcpSourceDescriptionPacket :RtcpPacket
{ /// <summary>
/// Get the list of source descriptions.
/// </summary>
public Collection<SourceDescriptionBlock> Descriptions;
public override void Parse(byte[] buffer, int offset)
{
base.Parse(buffer, offset);
Descriptions = new Collection<SourceDescriptionBlock>();
int index = 4;
while (Descriptions.Count < ReportCount)
{
SourceDescriptionBlock descriptionBlock = new SourceDescriptionBlock();
descriptionBlock.Process(buffer, offset + index);
Descriptions.Add(descriptionBlock);
index += descriptionBlock.BlockLength;
}
}
public override string ToString()
{
StringBuilder sb = new StringBuilder();
sb.AppendFormat("Source Description.\n");
sb.AppendFormat("Version : {0} .\n", Version);
sb.AppendFormat("Padding : {0} .\n", Padding);
sb.AppendFormat("Report Count : {0} .\n", ReportCount);
sb.AppendFormat("PacketType: {0} .\n", Type);
sb.AppendFormat("Length : {0} .\n", Length);
sb.AppendFormat("Descriptions : {0} .\n", Descriptions);
sb.AppendFormat(".\n");
return sb.ToString();
}
}
}

View File

@@ -1,65 +0,0 @@
/*
Copyright (C) <2007-2016> <Kay Diefenthal>
SatIp.RtspSample is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
SatIp.RtspSample is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with SatIp.RtspSample. If not, see <http://www.gnu.org/licenses/>.
*/
using System.Collections.ObjectModel;
namespace MediaBrowser.Server.Implementations.LiveTv.TunerHosts.SatIp.Rtcp
{
class SourceDescriptionBlock
{
/// <summary>
/// Get the length of the block.
/// </summary>
public int BlockLength { get { return (blockLength + (blockLength % 4)); } }
/// <summary>
/// Get the synchronization source.
/// </summary>
public string SynchronizationSource { get; private set; }
/// <summary>
/// Get the list of source descriptioni items.
/// </summary>
public Collection<SourceDescriptionItem> Items;
private int blockLength;
public void Process(byte[] buffer, int offset)
{
SynchronizationSource = Utils.ConvertBytesToString(buffer, offset, 4);
Items = new Collection<SourceDescriptionItem>();
int index = 4;
bool done = false;
do
{
SourceDescriptionItem item = new SourceDescriptionItem();
item.Process(buffer, offset + index);
if (item.Type != 0)
{
Items.Add(item);
index += item.ItemLength;
blockLength += item.ItemLength;
}
else
{
blockLength++;
done = true;
}
}
while (!done);
}
}
}

View File

@@ -1,60 +0,0 @@
/*
Copyright (C) <2007-2016> <Kay Diefenthal>
SatIp.RtspSample is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
SatIp.RtspSample is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with SatIp.RtspSample. If not, see <http://www.gnu.org/licenses/>.
*/
namespace MediaBrowser.Server.Implementations.LiveTv.TunerHosts.SatIp.Rtcp
{
/// <summary>
/// The class that describes a source description item.
/// </summary>
public class SourceDescriptionItem
{
/// <summary>
/// Get the type.
/// </summary>
public int Type { get; private set; }
/// <summary>
/// Get the text.
/// </summary>
public string Text { get; private set; }
/// <summary>
/// Get the length of the item.
/// </summary>
public int ItemLength { get { return (Text.Length + 2); } }
/// <summary>
/// Initialize a new instance of the SourceDescriptionItem class.
/// </summary>
public SourceDescriptionItem() { }
/// <summary>
/// Unpack the data in a packet.
/// </summary>
/// <param name="buffer">The buffer containing the packet.</param>
/// <param name="offset">The offset to the first byte of the packet within the buffer.</param>
/// <returns>An ErrorSpec instance if an error occurs; null otherwise.</returns>
public void Process(byte[] buffer, int offset)
{
Type = buffer[offset];
if (Type != 0)
{
int length = buffer[offset + 1];
Text = Utils.ConvertBytesToString(buffer, offset + 2, length);
}
}
}
}

View File

@@ -1,160 +0,0 @@
/*
Copyright (C) <2007-2016> <Kay Diefenthal>
SatIp.RtspSample is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
SatIp.RtspSample is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with SatIp.RtspSample. If not, see <http://www.gnu.org/licenses/>.
*/
using System;
using System.Net;
using System.Net.Sockets;
using System.Threading;
using MediaBrowser.Model.Logging;
namespace MediaBrowser.Server.Implementations.LiveTv.TunerHosts.SatIp.Rtp
{
public class RtpListener
{
private readonly ILogger _logger;
private AutoResetEvent _rtpListenerThreadStopEvent;
private Thread _rtpListenerThread;
private UdpClient _udpClient;
private IPEndPoint _multicastEndPoint;
private IPEndPoint _serverEndPoint;
private TransmissionMode _transmissionMode;
public RtpListener(String address, int port,TransmissionMode mode,ILogger logger)
{
_logger = logger;
_transmissionMode = mode;
switch (mode)
{
case TransmissionMode.Unicast:
_udpClient = new UdpClient(new IPEndPoint(IPAddress.Parse(address), port));
_serverEndPoint = new IPEndPoint(IPAddress.Any, 0);
break;
case TransmissionMode.Multicast:
_multicastEndPoint = new IPEndPoint(IPAddress.Parse(address), port);
_serverEndPoint = null;
_udpClient = new UdpClient();
_udpClient.Client.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.ReuseAddress, 1);
_udpClient.ExclusiveAddressUse = false;
_udpClient.Client.Bind(new IPEndPoint(IPAddress.Any, _multicastEndPoint.Port));
_udpClient.JoinMulticastGroup(_multicastEndPoint.Address);
break;
}
//StartRtpListenerThread();
}
public void StartRtpListenerThread()
{
// Kill the existing thread if it is in "zombie" state.
if (_rtpListenerThread != null && !_rtpListenerThread.IsAlive)
{
StopRtpListenerThread();
}
if (_rtpListenerThread == null)
{
_logger.Info("SAT>IP : starting new RTP listener thread");
_rtpListenerThreadStopEvent = new AutoResetEvent(false);
_rtpListenerThread = new Thread(new ThreadStart(RtpListenerThread));
_rtpListenerThread.Name = string.Format("SAT>IP tuner RTP listener");
_rtpListenerThread.IsBackground = true;
_rtpListenerThread.Priority = ThreadPriority.Lowest;
_rtpListenerThread.Start();
}
}
public void StopRtpListenerThread()
{
if (_rtpListenerThread != null)
{
if (!_rtpListenerThread.IsAlive)
{
_logger.Info("SAT>IP : aborting old RTP listener thread");
_rtpListenerThread.Abort();
}
else
{
_rtpListenerThreadStopEvent.Set();
if (!_rtpListenerThread.Join(400 * 2))
{
_logger.Info("SAT>IP : failed to join RTP listener thread, aborting thread");
_rtpListenerThread.Abort();
}
}
_rtpListenerThread = null;
if (_rtpListenerThreadStopEvent != null)
{
_rtpListenerThreadStopEvent.Close();
_rtpListenerThreadStopEvent = null;
}
}
}
private void RtpListenerThread()
{
try
{
try
{
while (!_rtpListenerThreadStopEvent.WaitOne(1))
{
byte[] receivedbytes = _udpClient.Receive(ref _serverEndPoint);
RtpPacket packet = RtpPacket.Decode(receivedbytes);
OnPacketReceived(new RtpPacketReceivedArgs(packet));
}
}
finally
{
switch (_transmissionMode)
{
case TransmissionMode.Multicast:
_udpClient.DropMulticastGroup(_multicastEndPoint.Address);
_udpClient.Close();
break;
case TransmissionMode.Unicast:
_udpClient.Close();
break;
}
}
}
catch (ThreadAbortException)
{
}
catch (Exception ex)
{
_logger.Info(string.Format("SAT>IP : RTP listener thread exception"), ex);
return;
}
_logger.Info("SAT>IP : RTP listener thread stopping");
}
public delegate void PacketReceivedHandler(object sender, RtpPacketReceivedArgs e);
public event PacketReceivedHandler PacketReceived;
public class RtpPacketReceivedArgs : EventArgs
{
public RtpPacket Packet { get; private set; }
public RtpPacketReceivedArgs(RtpPacket packet)
{
Packet = packet;
}
}
protected void OnPacketReceived(RtpPacketReceivedArgs args)
{
if (PacketReceived != null)
{
PacketReceived(this, args);
}
}
}
}

View File

@@ -1,116 +0,0 @@
/*
Copyright (C) <2007-2016> <Kay Diefenthal>
SatIp.RtspSample is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
SatIp.RtspSample is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with SatIp.RtspSample. If not, see <http://www.gnu.org/licenses/>.
*/
using System;
using System.Collections.ObjectModel;
using System.Text;
namespace MediaBrowser.Server.Implementations.LiveTv.TunerHosts.SatIp.Rtp
{
public class RtpPacket
{
private static int MinHeaderLength = 12;
public int HeaderSize = MinHeaderLength;
public int Version { get; set; }
public Boolean Padding { get; set; }
public Boolean Extension { get; set; }
public int ContributingSourceCount { get; set; }
public Boolean Marker { get; set; }
public int PayloadType { get; set; }
public int SequenceNumber { get; set; }
public long TimeStamp { get; set; }
public long SynchronizationSource { get; set; }
public Collection<string> ContributingSources { get; private set; }
public int ExtensionHeaderId = 0;
public int ExtensionHeaderLength = 0;
public bool HasPayload { get; set; }
public byte[] Payload { get; set; }
public RtpPacket()
{
}
public static RtpPacket Decode(byte[] buffer)
{
var packet = new RtpPacket();
packet.Version = buffer[0] >> 6;
packet.Padding = (buffer[0] & 0x20) != 0;
packet.Extension = (buffer[0] & 0x10) != 0;
packet.ContributingSourceCount = buffer[0] & 0x0f;
packet.Marker = (buffer[1] & 0x80) != 0;
packet.PayloadType = buffer[1] & 0x7f;
packet.SequenceNumber = Utils.Convert2BytesToInt(buffer, 2);
packet.TimeStamp = Utils.Convert4BytesToLong(buffer, 4);
packet.SynchronizationSource = Utils.Convert4BytesToLong(buffer, 8);
int index = 12;
if (packet.ContributingSourceCount != 0)
{
packet.ContributingSources = new Collection<string>();
while (packet.ContributingSources.Count < packet.ContributingSourceCount)
{
packet.ContributingSources.Add(Utils.ConvertBytesToString(buffer, index, 4));
index += 4;
}
}
var dataoffset = 0;
if (!packet.Extension)
dataoffset = index;
else
{
packet.ExtensionHeaderId = Utils.Convert2BytesToInt(buffer, index);
packet.ExtensionHeaderLength = Utils.Convert2BytesToInt(buffer, index + 2);
dataoffset = index + packet.ExtensionHeaderLength + 4;
}
var dataLength = buffer.Length - dataoffset;
if (dataLength > dataoffset)
{
packet.HasPayload = true;
packet.Payload = new byte[dataLength];
Array.Copy(buffer, dataoffset, packet.Payload, 0, dataLength);
}
else
{
packet.HasPayload = false;
}
return packet;
}
public override string ToString()
{
StringBuilder sb = new StringBuilder();
sb.AppendFormat("RTP Packet");
sb.AppendFormat("Version: {0} \n", Version);
sb.AppendFormat("Padding: {0} \n", Padding);
sb.AppendFormat("Extension: {0} \n", Extension);
sb.AppendFormat("Contributing Source Identifiers Count: {0} \n", ContributingSourceCount);
sb.AppendFormat("Marker: {0} \n", Marker);
sb.AppendFormat("Payload Type: {0} \n", PayloadType);
sb.AppendFormat("Sequence Number: {0} \n", SequenceNumber);
sb.AppendFormat("Timestamp: {0} .\n", TimeStamp);
sb.AppendFormat("Synchronization Source Identifier: {0} \n", SynchronizationSource);
sb.AppendFormat("\n");
return sb.ToString();
}
}
}

View File

@@ -1,88 +0,0 @@
/*
Copyright (C) <2007-2016> <Kay Diefenthal>
SatIp.RtspSample is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
SatIp.RtspSample is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with SatIp.RtspSample. If not, see <http://www.gnu.org/licenses/>.
*/
using System.Collections.Generic;
namespace MediaBrowser.Server.Implementations.LiveTv.TunerHosts.SatIp.Rtsp
{
/// <summary>
/// Standard RTSP request methods.
/// </summary>
public sealed class RtspMethod
{
public override int GetHashCode()
{
return (_name != null ? _name.GetHashCode() : 0);
}
private readonly string _name;
private static readonly IDictionary<string, RtspMethod> _values = new Dictionary<string, RtspMethod>();
public static readonly RtspMethod Describe = new RtspMethod("DESCRIBE");
public static readonly RtspMethod Announce = new RtspMethod("ANNOUNCE");
public static readonly RtspMethod GetParameter = new RtspMethod("GET_PARAMETER");
public static readonly RtspMethod Options = new RtspMethod("OPTIONS");
public static readonly RtspMethod Pause = new RtspMethod("PAUSE");
public static readonly RtspMethod Play = new RtspMethod("PLAY");
public static readonly RtspMethod Record = new RtspMethod("RECORD");
public static readonly RtspMethod Redirect = new RtspMethod("REDIRECT");
public static readonly RtspMethod Setup = new RtspMethod("SETUP");
public static readonly RtspMethod SetParameter = new RtspMethod("SET_PARAMETER");
public static readonly RtspMethod Teardown = new RtspMethod("TEARDOWN");
private RtspMethod(string name)
{
_name = name;
_values.Add(name, this);
}
public override string ToString()
{
return _name;
}
public override bool Equals(object obj)
{
var method = obj as RtspMethod;
if (method != null && this == method)
{
return true;
}
return false;
}
public static ICollection<RtspMethod> Values
{
get { return _values.Values; }
}
public static explicit operator RtspMethod(string name)
{
RtspMethod value;
if (!_values.TryGetValue(name, out value))
{
return null;
}
return value;
}
public static implicit operator string(RtspMethod method)
{
return method._name;
}
}
}

View File

@@ -1,140 +0,0 @@
/*
Copyright (C) <2007-2016> <Kay Diefenthal>
SatIp.RtspSample is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
SatIp.RtspSample is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with SatIp.RtspSample. If not, see <http://www.gnu.org/licenses/>.
*/
using System.Collections.Generic;
using System.Text;
namespace MediaBrowser.Server.Implementations.LiveTv.TunerHosts.SatIp.Rtsp
{
/// <summary>
/// A simple class that can be used to serialise RTSP requests.
/// </summary>
public class RtspRequest
{
private readonly RtspMethod _method;
private readonly string _uri;
private readonly int _majorVersion;
private readonly int _minorVersion;
private IDictionary<string, string> _headers = new Dictionary<string, string>();
private string _body = string.Empty;
/// <summary>
/// Initialise a new instance of the <see cref="RtspRequest"/> class.
/// </summary>
/// <param name="method">The request method.</param>
/// <param name="uri">The request URI</param>
/// <param name="majorVersion">The major version number.</param>
/// <param name="minorVersion">The minor version number.</param>
public RtspRequest(RtspMethod method, string uri, int majorVersion, int minorVersion)
{
_method = method;
_uri = uri;
_majorVersion = majorVersion;
_minorVersion = minorVersion;
}
/// <summary>
/// Get the request method.
/// </summary>
public RtspMethod Method
{
get
{
return _method;
}
}
/// <summary>
/// Get the request URI.
/// </summary>
public string Uri
{
get
{
return _uri;
}
}
/// <summary>
/// Get the request major version number.
/// </summary>
public int MajorVersion
{
get
{
return _majorVersion;
}
}
/// <summary>
/// Get the request minor version number.
/// </summary>
public int MinorVersion
{
get
{
return _minorVersion;
}
}
/// <summary>
/// Get or set the request headers.
/// </summary>
public IDictionary<string, string> Headers
{
get
{
return _headers;
}
set
{
_headers = value;
}
}
/// <summary>
/// Get or set the request body.
/// </summary>
public string Body
{
get
{
return _body;
}
set
{
_body = value;
}
}
/// <summary>
/// Serialise this request.
/// </summary>
/// <returns>raw request bytes</returns>
public byte[] Serialise()
{
var request = new StringBuilder();
request.AppendFormat("{0} {1} RTSP/{2}.{3}\r\n", _method, _uri, _majorVersion, _minorVersion);
foreach (var header in _headers)
{
request.AppendFormat("{0}: {1}\r\n", header.Key, header.Value);
}
request.AppendFormat("\r\n{0}", _body);
return Encoding.UTF8.GetBytes(request.ToString());
}
}
}

View File

@@ -1,149 +0,0 @@
/*
Copyright (C) <2007-2016> <Kay Diefenthal>
SatIp.RtspSample is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
SatIp.RtspSample is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with SatIp.RtspSample. If not, see <http://www.gnu.org/licenses/>.
*/
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
namespace MediaBrowser.Server.Implementations.LiveTv.TunerHosts.SatIp.Rtsp
{
/// <summary>
/// A simple class that can be used to deserialise RTSP responses.
/// </summary>
public class RtspResponse
{
private static readonly Regex RegexStatusLine = new Regex(@"RTSP/(\d+)\.(\d+)\s+(\d+)\s+([^.]+?)\r\n(.*)", RegexOptions.Singleline);
private int _majorVersion = 1;
private int _minorVersion;
private RtspStatusCode _statusCode;
private string _reasonPhrase;
private IDictionary<string, string> _headers;
private string _body;
/// <summary>
/// Initialise a new instance of the <see cref="RtspResponse"/> class.
/// </summary>
private RtspResponse()
{
}
/// <summary>
/// Get the response major version number.
/// </summary>
public int MajorVersion
{
get
{
return _majorVersion;
}
}
/// <summary>
/// Get the response minor version number.
/// </summary>
public int MinorVersion
{
get
{
return _minorVersion;
}
}
/// <summary>
/// Get the response status code.
/// </summary>
public RtspStatusCode StatusCode
{
get
{
return _statusCode;
}
}
/// <summary>
/// Get the response reason phrase.
/// </summary>
public string ReasonPhrase
{
get
{
return _reasonPhrase;
}
}
/// <summary>
/// Get the response headers.
/// </summary>
public IDictionary<string, string> Headers
{
get
{
return _headers;
}
}
/// <summary>
/// Get the response body.
/// </summary>
public string Body
{
get
{
return _body;
}
set
{
_body = value;
}
}
/// <summary>
/// Deserialise/parse an RTSP response.
/// </summary>
/// <param name="responseBytes">The raw response bytes.</param>
/// <param name="responseByteCount">The number of valid bytes in the response.</param>
/// <returns>a response object</returns>
public static RtspResponse Deserialise(byte[] responseBytes, int responseByteCount)
{
var response = new RtspResponse();
var responseString = Encoding.UTF8.GetString(responseBytes, 0, responseByteCount);
var m = RegexStatusLine.Match(responseString);
if (m.Success)
{
response._majorVersion = int.Parse(m.Groups[1].Captures[0].Value);
response._minorVersion = int.Parse(m.Groups[2].Captures[0].Value);
response._statusCode = (RtspStatusCode)int.Parse(m.Groups[3].Captures[0].Value);
response._reasonPhrase = m.Groups[4].Captures[0].Value;
responseString = m.Groups[5].Captures[0].Value;
}
var sections = responseString.Split(new[] { "\r\n\r\n" }, StringSplitOptions.None);
response._body = sections[1];
var headers = sections[0].Split(new[] { "\r\n" }, StringSplitOptions.None);
response._headers = new Dictionary<string, string>();
foreach (var headerInfo in headers.Select(header => header.Split(':')))
{
response._headers.Add(headerInfo[0], headerInfo[1].Trim());
}
return response;
}
}
}

View File

@@ -1,688 +0,0 @@
/*
Copyright (C) <2007-2016> <Kay Diefenthal>
SatIp.RtspSample is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
SatIp.RtspSample is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with SatIp.RtspSample. If not, see <http://www.gnu.org/licenses/>.
*/
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Net;
using System.Net.NetworkInformation;
using System.Net.Sockets;
using System.Text.RegularExpressions;
using MediaBrowser.Model.Logging;
namespace MediaBrowser.Server.Implementations.LiveTv.TunerHosts.SatIp.Rtsp
{
public class RtspSession : IDisposable
{
#region Private Fields
private static readonly Regex RegexRtspSessionHeader = new Regex(@"\s*([^\s;]+)(;timeout=(\d+))?");
private const int DefaultRtspSessionTimeout = 30; // unit = s
private static readonly Regex RegexDescribeResponseSignalInfo = new Regex(@";tuner=\d+,(\d+),(\d+),(\d+),", RegexOptions.Singleline | RegexOptions.IgnoreCase);
private string _address;
private string _rtspSessionId;
public string RtspSessionId
{
get { return _rtspSessionId; }
set { _rtspSessionId = value; }
}
private int _rtspSessionTimeToLive = 0;
private string _rtspStreamId;
private int _clientRtpPort;
private int _clientRtcpPort;
private int _serverRtpPort;
private int _serverRtcpPort;
private int _rtpPort;
private int _rtcpPort;
private string _rtspStreamUrl;
private string _destination;
private string _source;
private string _transport;
private int _signalLevel;
private int _signalQuality;
private Socket _rtspSocket;
private int _rtspSequenceNum = 1;
private bool _disposed = false;
private readonly ILogger _logger;
#endregion
#region Constructor
public RtspSession(string address, ILogger logger)
{
if (string.IsNullOrWhiteSpace(address))
{
throw new ArgumentNullException("address");
}
_address = address;
_logger = logger;
_logger.Info("Creating RtspSession with url {0}", address);
}
~RtspSession()
{
Dispose(false);
}
#endregion
#region Properties
#region Rtsp
public string RtspStreamId
{
get { return _rtspStreamId; }
set { if (_rtspStreamId != value) { _rtspStreamId = value; OnPropertyChanged("RtspStreamId"); } }
}
public string RtspStreamUrl
{
get { return _rtspStreamUrl; }
set { if (_rtspStreamUrl != value) { _rtspStreamUrl = value; OnPropertyChanged("RtspStreamUrl"); } }
}
public int RtspSessionTimeToLive
{
get
{
if (_rtspSessionTimeToLive == 0)
_rtspSessionTimeToLive = DefaultRtspSessionTimeout;
return _rtspSessionTimeToLive * 1000 - 20;
}
set { if (_rtspSessionTimeToLive != value) { _rtspSessionTimeToLive = value; OnPropertyChanged("RtspSessionTimeToLive"); } }
}
#endregion
#region Rtp Rtcp
/// <summary>
/// The LocalEndPoint Address
/// </summary>
public string Destination
{
get
{
if (string.IsNullOrEmpty(_destination))
{
var result = "";
var host = Dns.GetHostName();
var hostentry = Dns.GetHostEntry(host);
foreach (var ip in hostentry.AddressList.Where(ip => ip.AddressFamily == AddressFamily.InterNetwork))
{
result = ip.ToString();
}
_destination = result;
}
return _destination;
}
set
{
if (_destination != value)
{
_destination = value;
OnPropertyChanged("Destination");
}
}
}
/// <summary>
/// The RemoteEndPoint Address
/// </summary>
public string Source
{
get { return _source; }
set
{
if (_source != value)
{
_source = value;
OnPropertyChanged("Source");
}
}
}
/// <summary>
/// The Media Data Delivery RemoteEndPoint Port if we use Unicast
/// </summary>
public int ServerRtpPort
{
get
{
return _serverRtpPort;
}
set { if (_serverRtpPort != value) { _serverRtpPort = value; OnPropertyChanged("ServerRtpPort"); } }
}
/// <summary>
/// The Media Metadata Delivery RemoteEndPoint Port if we use Unicast
/// </summary>
public int ServerRtcpPort
{
get { return _serverRtcpPort; }
set { if (_serverRtcpPort != value) { _serverRtcpPort = value; OnPropertyChanged("ServerRtcpPort"); } }
}
/// <summary>
/// The Media Data Delivery LocalEndPoint Port if we use Unicast
/// </summary>
public int ClientRtpPort
{
get { return _clientRtpPort; }
set { if (_clientRtpPort != value) { _clientRtpPort = value; OnPropertyChanged("ClientRtpPort"); } }
}
/// <summary>
/// The Media Metadata Delivery LocalEndPoint Port if we use Unicast
/// </summary>
public int ClientRtcpPort
{
get { return _clientRtcpPort; }
set { if (_clientRtcpPort != value) { _clientRtcpPort = value; OnPropertyChanged("ClientRtcpPort"); } }
}
/// <summary>
/// The Media Data Delivery RemoteEndPoint Port if we use Multicast
/// </summary>
public int RtpPort
{
get { return _rtpPort; }
set { if (_rtpPort != value) { _rtpPort = value; OnPropertyChanged("RtpPort"); } }
}
/// <summary>
/// The Media Meta Delivery RemoteEndPoint Port if we use Multicast
/// </summary>
public int RtcpPort
{
get { return _rtcpPort; }
set { if (_rtcpPort != value) { _rtcpPort = value; OnPropertyChanged("RtcpPort"); } }
}
#endregion
public string Transport
{
get
{
if (string.IsNullOrEmpty(_transport))
{
_transport = "unicast";
}
return _transport;
}
set
{
if (_transport != value)
{
_transport = value;
OnPropertyChanged("Transport");
}
}
}
public int SignalLevel
{
get { return _signalLevel; }
set { if (_signalLevel != value) { _signalLevel = value; OnPropertyChanged("SignalLevel"); } }
}
public int SignalQuality
{
get { return _signalQuality; }
set { if (_signalQuality != value) { _signalQuality = value; OnPropertyChanged("SignalQuality"); } }
}
#endregion
#region Private Methods
private void ProcessSessionHeader(string sessionHeader, string response)
{
if (!string.IsNullOrEmpty(sessionHeader))
{
var m = RegexRtspSessionHeader.Match(sessionHeader);
if (!m.Success)
{
_logger.Error("Failed to tune, RTSP {0} response session header {1} format not recognised", response, sessionHeader);
}
_rtspSessionId = m.Groups[1].Captures[0].Value;
_rtspSessionTimeToLive = m.Groups[3].Captures.Count == 1 ? int.Parse(m.Groups[3].Captures[0].Value) : DefaultRtspSessionTimeout;
}
}
private void ProcessTransportHeader(string transportHeader)
{
if (!string.IsNullOrEmpty(transportHeader))
{
var transports = transportHeader.Split(',');
foreach (var transport in transports)
{
if (transport.Trim().StartsWith("RTP/AVP"))
{
var sections = transport.Split(';');
foreach (var section in sections)
{
var parts = section.Split('=');
if (parts[0].Equals("server_port"))
{
var ports = parts[1].Split('-');
_serverRtpPort = int.Parse(ports[0]);
_serverRtcpPort = int.Parse(ports[1]);
}
else if (parts[0].Equals("destination"))
{
_destination = parts[1];
}
else if (parts[0].Equals("port"))
{
var ports = parts[1].Split('-');
_rtpPort = int.Parse(ports[0]);
_rtcpPort = int.Parse(ports[1]);
}
else if (parts[0].Equals("ttl"))
{
_rtspSessionTimeToLive = int.Parse(parts[1]);
}
else if (parts[0].Equals("source"))
{
_source = parts[1];
}
else if (parts[0].Equals("client_port"))
{
var ports = parts[1].Split('-');
var rtp = int.Parse(ports[0]);
var rtcp = int.Parse(ports[1]);
//if (!rtp.Equals(_rtpPort))
//{
// Logger.Error("SAT>IP base: server specified RTP client port {0} instead of {1}", rtp, _rtpPort);
//}
//if (!rtcp.Equals(_rtcpPort))
//{
// Logger.Error("SAT>IP base: server specified RTCP client port {0} instead of {1}", rtcp, _rtcpPort);
//}
_rtpPort = rtp;
_rtcpPort = rtcp;
}
}
}
}
}
}
private void Connect()
{
_rtspSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
var ip = IPAddress.Parse(_address);
var rtspEndpoint = new IPEndPoint(ip, 554);
_rtspSocket.Connect(rtspEndpoint);
}
private void Disconnect()
{
if (_rtspSocket != null && _rtspSocket.Connected)
{
_rtspSocket.Shutdown(SocketShutdown.Both);
_rtspSocket.Close();
}
}
private void SendRequest(RtspRequest request)
{
if (_rtspSocket == null)
{
Connect();
}
try
{
request.Headers.Add("CSeq", _rtspSequenceNum.ToString());
_rtspSequenceNum++;
byte[] requestBytes = request.Serialise();
if (_rtspSocket != null)
{
var requestBytesCount = _rtspSocket.Send(requestBytes, requestBytes.Length, SocketFlags.None);
if (requestBytesCount < 1)
{
}
}
}
catch (Exception e)
{
_logger.Error(e.Message);
}
}
private void ReceiveResponse(out RtspResponse response)
{
response = null;
var responseBytesCount = 0;
byte[] responseBytes = new byte[1024];
try
{
responseBytesCount = _rtspSocket.Receive(responseBytes, responseBytes.Length, SocketFlags.None);
response = RtspResponse.Deserialise(responseBytes, responseBytesCount);
string contentLengthString;
int contentLength = 0;
if (response.Headers.TryGetValue("Content-Length", out contentLengthString))
{
contentLength = int.Parse(contentLengthString);
if ((string.IsNullOrEmpty(response.Body) && contentLength > 0) || response.Body.Length < contentLength)
{
if (response.Body == null)
{
response.Body = string.Empty;
}
while (responseBytesCount > 0 && response.Body.Length < contentLength)
{
responseBytesCount = _rtspSocket.Receive(responseBytes, responseBytes.Length, SocketFlags.None);
response.Body += System.Text.Encoding.UTF8.GetString(responseBytes, 0, responseBytesCount);
}
}
}
}
catch (SocketException)
{
}
}
#endregion
#region Public Methods
public RtspStatusCode Setup(string query, string transporttype)
{
RtspRequest request;
RtspResponse response;
//_rtspClient = new RtspClient(_rtspDevice.ServerAddress);
if ((_rtspSocket == null))
{
Connect();
}
if (string.IsNullOrEmpty(_rtspSessionId))
{
request = new RtspRequest(RtspMethod.Setup, string.Format("rtsp://{0}:{1}/?{2}", _address, 554, query), 1, 0);
switch (transporttype)
{
case "multicast":
request.Headers.Add("Transport", string.Format("RTP/AVP;multicast"));
break;
case "unicast":
var activeTcpConnections = IPGlobalProperties.GetIPGlobalProperties().GetActiveTcpConnections();
var usedPorts = new HashSet<int>();
foreach (var connection in activeTcpConnections)
{
usedPorts.Add(connection.LocalEndPoint.Port);
}
for (var port = 40000; port <= 65534; port += 2)
{
if (!usedPorts.Contains(port) && !usedPorts.Contains(port + 1))
{
_clientRtpPort = port;
_clientRtcpPort = port + 1;
break;
}
}
request.Headers.Add("Transport", string.Format("RTP/AVP;unicast;client_port={0}-{1}", _clientRtpPort, _clientRtcpPort));
break;
}
}
else
{
request = new RtspRequest(RtspMethod.Setup, string.Format("rtsp://{0}:{1}/?{2}", _address, 554, query), 1, 0);
switch (transporttype)
{
case "multicast":
request.Headers.Add("Transport", string.Format("RTP/AVP;multicast"));
break;
case "unicast":
request.Headers.Add("Transport", string.Format("RTP/AVP;unicast;client_port={0}-{1}", _clientRtpPort, _clientRtcpPort));
break;
}
}
SendRequest(request);
ReceiveResponse(out response);
//if (_rtspClient.SendRequest(request, out response) != RtspStatusCode.Ok)
//{
// Logger.Error("Failed to tune, non-OK RTSP SETUP status code {0} {1}", response.StatusCode, response.ReasonPhrase);
//}
if (!response.Headers.TryGetValue("com.ses.streamID", out _rtspStreamId))
{
_logger.Error(string.Format("Failed to tune, not able to locate Stream ID header in RTSP SETUP response"));
}
string sessionHeader;
if (!response.Headers.TryGetValue("Session", out sessionHeader))
{
_logger.Error(string.Format("Failed to tune, not able to locate Session header in RTSP SETUP response"));
}
ProcessSessionHeader(sessionHeader, "Setup");
string transportHeader;
if (!response.Headers.TryGetValue("Transport", out transportHeader))
{
_logger.Error(string.Format("Failed to tune, not able to locate Transport header in RTSP SETUP response"));
}
ProcessTransportHeader(transportHeader);
return response.StatusCode;
}
public RtspStatusCode Play(string query)
{
if ((_rtspSocket == null))
{
Connect();
}
//_rtspClient = new RtspClient(_rtspDevice.ServerAddress);
RtspResponse response;
string data;
if (string.IsNullOrEmpty(query))
{
data = string.Format("rtsp://{0}:{1}/stream={2}", _address,
554, _rtspStreamId);
}
else
{
data = string.Format("rtsp://{0}:{1}/stream={2}?{3}", _address,
554, _rtspStreamId, query);
}
var request = new RtspRequest(RtspMethod.Play, data, 1, 0);
request.Headers.Add("Session", _rtspSessionId);
SendRequest(request);
ReceiveResponse(out response);
//if (_rtspClient.SendRequest(request, out response) != RtspStatusCode.Ok)
//{
// Logger.Error("Failed to tune, non-OK RTSP SETUP status code {0} {1}", response.StatusCode, response.ReasonPhrase);
//}
//Logger.Info("RtspSession-Play : \r\n {0}", response);
string sessionHeader;
if (!response.Headers.TryGetValue("Session", out sessionHeader))
{
_logger.Error(string.Format("Failed to tune, not able to locate Session header in RTSP Play response"));
}
ProcessSessionHeader(sessionHeader, "Play");
string rtpinfoHeader;
if (!response.Headers.TryGetValue("RTP-Info", out rtpinfoHeader))
{
_logger.Error(string.Format("Failed to tune, not able to locate Rtp-Info header in RTSP Play response"));
}
return response.StatusCode;
}
public RtspStatusCode Options()
{
if ((_rtspSocket == null))
{
Connect();
}
//_rtspClient = new RtspClient(_rtspDevice.ServerAddress);
RtspRequest request;
RtspResponse response;
if (string.IsNullOrEmpty(_rtspSessionId))
{
request = new RtspRequest(RtspMethod.Options, string.Format("rtsp://{0}:{1}/", _address, 554), 1, 0);
}
else
{
request = new RtspRequest(RtspMethod.Options, string.Format("rtsp://{0}:{1}/", _address, 554), 1, 0);
request.Headers.Add("Session", _rtspSessionId);
}
SendRequest(request);
ReceiveResponse(out response);
//if (_rtspClient.SendRequest(request, out response) != RtspStatusCode.Ok)
//{
// Logger.Error("Failed to tune, non-OK RTSP SETUP status code {0} {1}", response.StatusCode, response.ReasonPhrase);
//}
//Logger.Info("RtspSession-Options : \r\n {0}", response);
string sessionHeader;
if (!response.Headers.TryGetValue("Session", out sessionHeader))
{
_logger.Error(string.Format("Failed to tune, not able to locate session header in RTSP Options response"));
}
ProcessSessionHeader(sessionHeader, "Options");
string optionsHeader;
if (!response.Headers.TryGetValue("Public", out optionsHeader))
{
_logger.Error(string.Format("Failed to tune, not able to Options header in RTSP Options response"));
}
return response.StatusCode;
}
public RtspStatusCode Describe(out int level, out int quality)
{
if ((_rtspSocket == null))
{
Connect();
}
//_rtspClient = new RtspClient(_rtspDevice.ServerAddress);
RtspRequest request;
RtspResponse response;
level = 0;
quality = 0;
if (string.IsNullOrEmpty(_rtspSessionId))
{
request = new RtspRequest(RtspMethod.Describe, string.Format("rtsp://{0}:{1}/", _address, 554), 1, 0);
request.Headers.Add("Accept", "application/sdp");
}
else
{
request = new RtspRequest(RtspMethod.Describe, string.Format("rtsp://{0}:{1}/stream={2}", _address, 554, _rtspStreamId), 1, 0);
request.Headers.Add("Accept", "application/sdp");
request.Headers.Add("Session", _rtspSessionId);
}
SendRequest(request);
ReceiveResponse(out response);
//if (_rtspClient.SendRequest(request, out response) != RtspStatusCode.Ok)
//{
// Logger.Error("Failed to tune, non-OK RTSP Describe status code {0} {1}", response.StatusCode, response.ReasonPhrase);
//}
//Logger.Info("RtspSession-Describe : \r\n {0}", response);
string sessionHeader;
if (!response.Headers.TryGetValue("Session", out sessionHeader))
{
_logger.Error(string.Format("Failed to tune, not able to locate session header in RTSP Describe response"));
}
ProcessSessionHeader(sessionHeader, "Describe");
var m = RegexDescribeResponseSignalInfo.Match(response.Body);
if (m.Success)
{
//isSignalLocked = m.Groups[2].Captures[0].Value.Equals("1");
level = int.Parse(m.Groups[1].Captures[0].Value) * 100 / 255; // level: 0..255 => 0..100
quality = int.Parse(m.Groups[3].Captures[0].Value) * 100 / 15; // quality: 0..15 => 0..100
}
/*
v=0
o=- 1378633020884883 1 IN IP4 192.168.2.108
s=SatIPServer:1 4
t=0 0
a=tool:idl4k
m=video 52780 RTP/AVP 33
c=IN IP4 0.0.0.0
b=AS:5000
a=control:stream=4
a=fmtp:33 ver=1.0;tuner=1,0,0,0,12344,h,dvbs2,,off,,22000,34;pids=0,100,101,102,103,106
=sendonly
*/
return response.StatusCode;
}
public RtspStatusCode TearDown()
{
if ((_rtspSocket == null))
{
Connect();
}
//_rtspClient = new RtspClient(_rtspDevice.ServerAddress);
RtspResponse response;
var request = new RtspRequest(RtspMethod.Teardown, string.Format("rtsp://{0}:{1}/stream={2}", _address, 554, _rtspStreamId), 1, 0);
request.Headers.Add("Session", _rtspSessionId);
SendRequest(request);
ReceiveResponse(out response);
//if (_rtspClient.SendRequest(request, out response) != RtspStatusCode.Ok)
//{
// Logger.Error("Failed to tune, non-OK RTSP Teardown status code {0} {1}", response.StatusCode, response.ReasonPhrase);
//}
return response.StatusCode;
}
#endregion
#region Public Events
////public event PropertyChangedEventHandler PropertyChanged;
#endregion
#region Protected Methods
protected void OnPropertyChanged(string name)
{
//var handler = PropertyChanged;
//if (handler != null)
//{
// handler(this, new PropertyChangedEventArgs(name));
//}
}
#endregion
public void Dispose()
{
Dispose(true);
GC.SuppressFinalize(this);//Disconnect();
}
protected virtual void Dispose(bool disposing)
{
if (!_disposed)
{
if (disposing)
{
TearDown();
Disconnect();
}
}
_disposed = true;
}
}
}

View File

@@ -1,251 +0,0 @@
/*
Copyright (C) <2007-2016> <Kay Diefenthal>
SatIp.RtspSample is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
SatIp.RtspSample is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with SatIp.RtspSample. If not, see <http://www.gnu.org/licenses/>.
*/
using System.ComponentModel;
namespace MediaBrowser.Server.Implementations.LiveTv.TunerHosts.SatIp.Rtsp
{
/// <summary>
/// Standard RTSP status codes.
/// </summary>
public enum RtspStatusCode
{
/// <summary>
/// 100 continue
/// </summary>
Continue = 100,
/// <summary>
/// 200 OK
/// </summary>
[Description("Okay")]
Ok = 200,
/// <summary>
/// 201 created
/// </summary>
Created = 201,
/// <summary>
/// 250 low on storage space
/// </summary>
[Description("Low On Storage Space")]
LowOnStorageSpace = 250,
/// <summary>
/// 300 multiple choices
/// </summary>
[Description("Multiple Choices")]
MultipleChoices = 300,
/// <summary>
/// 301 moved permanently
/// </summary>
[Description("Moved Permanently")]
MovedPermanently = 301,
/// <summary>
/// 302 moved temporarily
/// </summary>
[Description("Moved Temporarily")]
MovedTemporarily = 302,
/// <summary>
/// 303 see other
/// </summary>
[Description("See Other")]
SeeOther = 303,
/// <summary>
/// 304 not modified
/// </summary>
[Description("Not Modified")]
NotModified = 304,
/// <summary>
/// 305 use proxy
/// </summary>
[Description("Use Proxy")]
UseProxy = 305,
/// <summary>
/// 400 bad request
/// </summary>
[Description("Bad Request")]
BadRequest = 400,
/// <summary>
/// 401 unauthorised
/// </summary>
Unauthorised = 401,
/// <summary>
/// 402 payment required
/// </summary>
[Description("Payment Required")]
PaymentRequired = 402,
/// <summary>
/// 403 forbidden
/// </summary>
Forbidden = 403,
/// <summary>
/// 404 not found
/// </summary>
[Description("Not Found")]
NotFound = 404,
/// <summary>
/// 405 method not allowed
/// </summary>
[Description("Method Not Allowed")]
MethodNotAllowed = 405,
/// <summary>
/// 406 not acceptable
/// </summary>
[Description("Not Acceptable")]
NotAcceptable = 406,
/// <summary>
/// 407 proxy authentication required
/// </summary>
[Description("Proxy Authentication Required")]
ProxyAuthenticationRequred = 407,
/// <summary>
/// 408 request time-out
/// </summary>
[Description("Request Time-Out")]
RequestTimeOut = 408,
/// <summary>
/// 410 gone
/// </summary>
Gone = 410,
/// <summary>
/// 411 length required
/// </summary>
[Description("Length Required")]
LengthRequired = 411,
/// <summary>
/// 412 precondition failed
/// </summary>
[Description("Precondition Failed")]
PreconditionFailed = 412,
/// <summary>
/// 413 request entity too large
/// </summary>
[Description("Request Entity Too Large")]
RequestEntityTooLarge = 413,
/// <summary>
/// 414 request URI too large
/// </summary>
[Description("Request URI Too Large")]
RequestUriTooLarge = 414,
/// <summary>
/// 415 unsupported media type
/// </summary>
[Description("Unsupported Media Type")]
UnsupportedMediaType = 415,
/// <summary>
/// 451 parameter not understood
/// </summary>
[Description("Parameter Not Understood")]
ParameterNotUnderstood = 451,
/// <summary>
/// 452 conference not found
/// </summary>
[Description("Conference Not Found")]
ConferenceNotFound = 452,
/// <summary>
/// 453 not enough bandwidth
/// </summary>
[Description("Not Enough Bandwidth")]
NotEnoughBandwidth = 453,
/// <summary>
/// 454 session not found
/// </summary>
[Description("Session Not Found")]
SessionNotFound = 454,
/// <summary>
/// 455 method not valid in this state
/// </summary>
[Description("Method Not Valid In This State")]
MethodNotValidInThisState = 455,
/// <summary>
/// 456 header field not valid for this resource
/// </summary>
[Description("Header Field Not Valid For This Resource")]
HeaderFieldNotValidForThisResource = 456,
/// <summary>
/// 457 invalid range
/// </summary>
[Description("Invalid Range")]
InvalidRange = 457,
/// <summary>
/// 458 parameter is read-only
/// </summary>
[Description("Parameter Is Read-Only")]
ParameterIsReadOnly = 458,
/// <summary>
/// 459 aggregate operation not allowed
/// </summary>
[Description("Aggregate Operation Not Allowed")]
AggregateOperationNotAllowed = 459,
/// <summary>
/// 460 only aggregate operation allowed
/// </summary>
[Description("Only Aggregate Operation Allowed")]
OnlyAggregateOperationAllowed = 460,
/// <summary>
/// 461 unsupported transport
/// </summary>
[Description("Unsupported Transport")]
UnsupportedTransport = 461,
/// <summary>
/// 462 destination unreachable
/// </summary>
[Description("Destination Unreachable")]
DestinationUnreachable = 462,
/// <summary>
/// 500 internal server error
/// </summary>
[Description("Internal Server Error")]
InternalServerError = 500,
/// <summary>
/// 501 not implemented
/// </summary>
[Description("Not Implemented")]
NotImplemented = 501,
/// <summary>
/// 502 bad gateway
/// </summary>
[Description("Bad Gateway")]
BadGateway = 502,
/// <summary>
/// 503 service unavailable
/// </summary>
[Description("Service Unavailable")]
ServiceUnavailable = 503,
/// <summary>
/// 504 gateway time-out
/// </summary>
[Description("Gateway Time-Out")]
GatewayTimeOut = 504,
/// <summary>
/// 505 RTSP version not supported
/// </summary>
[Description("RTSP Version Not Supported")]
RtspVersionNotSupported = 505,
/// <summary>
/// 551 option not supported
/// </summary>
[Description("Option Not Supported")]
OptionNotSupported = 551
}
}

View File

@@ -1,348 +0,0 @@
using System;
using System.Linq;
using System.Threading;
using System.Threading.Tasks;
using System.Xml;
using MediaBrowser.Common.Configuration;
using MediaBrowser.Common.Net;
using MediaBrowser.Controller.Configuration;
using MediaBrowser.Controller.Dlna;
using MediaBrowser.Controller.LiveTv;
using MediaBrowser.Controller.Plugins;
using MediaBrowser.Model.LiveTv;
using MediaBrowser.Model.Logging;
using MediaBrowser.Model.Serialization;
using MediaBrowser.Model.Extensions;
using System.Xml.Linq;
using MediaBrowser.Model.Dlna;
using MediaBrowser.Model.Events;
namespace MediaBrowser.Server.Implementations.LiveTv.TunerHosts.SatIp
{
public class SatIpDiscovery : IServerEntryPoint
{
private readonly IDeviceDiscovery _deviceDiscovery;
private readonly IServerConfigurationManager _config;
private readonly ILogger _logger;
private readonly ILiveTvManager _liveTvManager;
private readonly SemaphoreSlim _semaphore = new SemaphoreSlim(1, 1);
private readonly IHttpClient _httpClient;
private readonly IJsonSerializer _json;
private int _tunerCountDVBS=0;
private int _tunerCountDVBC=0;
private int _tunerCountDVBT=0;
private bool _supportsDVBS=false;
private bool _supportsDVBC=false;
private bool _supportsDVBT=false;
public static SatIpDiscovery Current;
public SatIpDiscovery(IDeviceDiscovery deviceDiscovery, IServerConfigurationManager config, ILogger logger, ILiveTvManager liveTvManager, IHttpClient httpClient, IJsonSerializer json)
{
_deviceDiscovery = deviceDiscovery;
_config = config;
_logger = logger;
_liveTvManager = liveTvManager;
_httpClient = httpClient;
_json = json;
Current = this;
}
public void Run()
{
_deviceDiscovery.DeviceDiscovered += _deviceDiscovery_DeviceDiscovered;
}
void _deviceDiscovery_DeviceDiscovered(object sender, GenericEventArgs<UpnpDeviceInfo> e)
{
var info = e.Argument;
string st = null;
string nt = null;
info.Headers.TryGetValue("ST", out st);
info.Headers.TryGetValue("NT", out nt);
if (string.Equals(st, "urn:ses-com:device:SatIPServer:1", StringComparison.OrdinalIgnoreCase) ||
string.Equals(nt, "urn:ses-com:device:SatIPServer:1", StringComparison.OrdinalIgnoreCase))
{
string location;
if (info.Headers.TryGetValue("Location", out location) && !string.IsNullOrWhiteSpace(location))
{
_logger.Debug("SAT IP found at {0}", location);
// Just get the beginning of the url
Uri uri;
if (Uri.TryCreate(location, UriKind.Absolute, out uri))
{
var apiUrl = location.Replace(uri.LocalPath, String.Empty, StringComparison.OrdinalIgnoreCase)
.TrimEnd('/');
AddDevice(apiUrl, location);
}
}
}
}
private async void AddDevice(string deviceUrl, string infoUrl)
{
await _semaphore.WaitAsync().ConfigureAwait(false);
try
{
var options = GetConfiguration();
if (options.TunerHosts.Any(i => string.Equals(i.Type, SatIpHost.DeviceType, StringComparison.OrdinalIgnoreCase) && UriEquals(i.Url, deviceUrl)))
{
return;
}
_logger.Debug("Will attempt to add SAT device {0}", deviceUrl);
var info = await GetInfo(infoUrl, CancellationToken.None).ConfigureAwait(false);
var existing = GetConfiguration().TunerHosts
.FirstOrDefault(i => string.Equals(i.Type, SatIpHost.DeviceType, StringComparison.OrdinalIgnoreCase) && string.Equals(i.DeviceId, info.DeviceId, StringComparison.OrdinalIgnoreCase));
if (existing == null)
{
//if (string.IsNullOrWhiteSpace(info.M3UUrl))
//{
// return;
//}
await _liveTvManager.SaveTunerHost(new TunerHostInfo
{
Type = SatIpHost.DeviceType,
Url = deviceUrl,
InfoUrl = infoUrl,
DataVersion = 1,
DeviceId = info.DeviceId,
FriendlyName = info.FriendlyName,
Tuners = info.Tuners,
M3UUrl = info.M3UUrl,
IsEnabled = true
}, true).ConfigureAwait(false);
}
else
{
existing.Url = deviceUrl;
existing.InfoUrl = infoUrl;
existing.M3UUrl = info.M3UUrl;
existing.FriendlyName = info.FriendlyName;
existing.Tuners = info.Tuners;
await _liveTvManager.SaveTunerHost(existing, false).ConfigureAwait(false);
}
}
catch (OperationCanceledException)
{
}
catch (NotImplementedException)
{
}
catch (Exception ex)
{
_logger.ErrorException("Error saving device", ex);
}
finally
{
_semaphore.Release();
}
}
private bool UriEquals(string savedUri, string location)
{
return string.Equals(NormalizeUrl(location), NormalizeUrl(savedUri), StringComparison.OrdinalIgnoreCase);
}
private string NormalizeUrl(string url)
{
if (!url.StartsWith("http", StringComparison.OrdinalIgnoreCase))
{
url = "http://" + url;
}
url = url.TrimEnd('/');
// Strip off the port
return new Uri(url).GetComponents(UriComponents.AbsoluteUri & ~UriComponents.Port, UriFormat.UriEscaped);
}
private LiveTvOptions GetConfiguration()
{
return _config.GetConfiguration<LiveTvOptions>("livetv");
}
public void Dispose()
{
}
private void ReadCapability(string capability)
{
string[] cap = capability.Split('-');
switch (cap[0].ToLower())
{
case "dvbs":
case "dvbs2":
{
// Optional that you know what an device Supports can you add an flag
_supportsDVBS = true;
for (int i = 0; i < int.Parse(cap[1]); i++)
{
//ToDo Create Digital Recorder / Tuner Capture Instance here for each with index FE param in Sat>Ip Spec for direct communication with this instance
}
_tunerCountDVBS = int.Parse(cap[1]);
break;
}
case "dvbc":
case "dvbc2":
{
// Optional that you know what an device Supports can you add an flag
_supportsDVBC = true;
for (int i = 0; i < int.Parse(cap[1]); i++)
{
//ToDo Create Digital Recorder / Tuner Capture Instance here for each with index FE param in Sat>Ip Spec for direct communication with this instance
}
_tunerCountDVBC = int.Parse(cap[1]);
break;
}
case "dvbt":
case "dvbt2":
{
// Optional that you know what an device Supports can you add an flag
_supportsDVBT = true;
for (int i = 0; i < int.Parse(cap[1]); i++)
{
//ToDo Create Digital Recorder / Tuner Capture Instance here for each with index FE param in Sat>Ip Spec for direct communication with this instance
}
_tunerCountDVBT = int.Parse(cap[1]);
break;
}
}
}
public async Task<SatIpTunerHostInfo> GetInfo(string url, CancellationToken cancellationToken)
{
Uri locationUri = new Uri(url);
string devicetype = "";
string friendlyname = "";
string uniquedevicename = "";
string manufacturer = "";
string manufacturerurl = "";
string modelname = "";
string modeldescription = "";
string modelnumber = "";
string modelurl = "";
string serialnumber = "";
string presentationurl = "";
//string capabilities = "";
string m3u = "";
var document = XDocument.Load(locationUri.AbsoluteUri);
var xnm = new XmlNamespaceManager(new NameTable());
XNamespace n1 = "urn:ses-com:satip";
XNamespace n0 = "urn:schemas-upnp-org:device-1-0";
xnm.AddNamespace("root", n0.NamespaceName);
xnm.AddNamespace("satip:", n1.NamespaceName);
if (document.Root != null)
{
var deviceElement = document.Root.Element(n0 + "device");
if (deviceElement != null)
{
var devicetypeElement = deviceElement.Element(n0 + "deviceType");
if (devicetypeElement != null)
devicetype = devicetypeElement.Value;
var friendlynameElement = deviceElement.Element(n0 + "friendlyName");
if (friendlynameElement != null)
friendlyname = friendlynameElement.Value;
var manufactureElement = deviceElement.Element(n0 + "manufacturer");
if (manufactureElement != null)
manufacturer = manufactureElement.Value;
var manufactureurlElement = deviceElement.Element(n0 + "manufacturerURL");
if (manufactureurlElement != null)
manufacturerurl = manufactureurlElement.Value;
var modeldescriptionElement = deviceElement.Element(n0 + "modelDescription");
if (modeldescriptionElement != null)
modeldescription = modeldescriptionElement.Value;
var modelnameElement = deviceElement.Element(n0 + "modelName");
if (modelnameElement != null)
modelname = modelnameElement.Value;
var modelnumberElement = deviceElement.Element(n0 + "modelNumber");
if (modelnumberElement != null)
modelnumber = modelnumberElement.Value;
var modelurlElement = deviceElement.Element(n0 + "modelURL");
if (modelurlElement != null)
modelurl = modelurlElement.Value;
var serialnumberElement = deviceElement.Element(n0 + "serialNumber");
if (serialnumberElement != null)
serialnumber = serialnumberElement.Value;
var uniquedevicenameElement = deviceElement.Element(n0 + "UDN");
if (uniquedevicenameElement != null) uniquedevicename = uniquedevicenameElement.Value;
var presentationUrlElement = deviceElement.Element(n0 + "presentationURL");
if (presentationUrlElement != null) presentationurl = presentationUrlElement.Value;
var capabilitiesElement = deviceElement.Element(n1 + "X_SATIPCAP");
if (capabilitiesElement != null)
{
//_capabilities = capabilitiesElement.Value;
if (capabilitiesElement.Value.Contains(','))
{
string[] capabilities = capabilitiesElement.Value.Split(',');
foreach (var capability in capabilities)
{
ReadCapability(capability);
}
}
else
{
ReadCapability(capabilitiesElement.Value);
}
}
else
{
_supportsDVBS = true;
_tunerCountDVBS =1;
}
var m3uElement = deviceElement.Element(n1 + "X_SATIPM3U");
if (m3uElement != null) m3u = m3uElement.Value;
}
}
var result = new SatIpTunerHostInfo
{
Url = url,
Id = uniquedevicename,
IsEnabled = true,
Type = SatIpHost.DeviceType,
Tuners = _tunerCountDVBS,
TunersAvailable = _tunerCountDVBS,
M3UUrl = m3u
};
result.FriendlyName = friendlyname;
if (string.IsNullOrWhiteSpace(result.Id))
{
throw new NotImplementedException();
}
else if (!result.M3UUrl.StartsWith("http", StringComparison.OrdinalIgnoreCase))
{
var fullM3uUrl = url.Substring(0, url.LastIndexOf('/'));
result.M3UUrl = fullM3uUrl + "/" + result.M3UUrl.TrimStart('/');
}
_logger.Debug("SAT device result: {0}", _json.SerializeToString(result));
return result;
}
}
public class SatIpTunerHostInfo : TunerHostInfo
{
public int TunersAvailable { get; set; }
}
}

View File

@@ -1,182 +0,0 @@
using System;
using System.Collections.Generic;
using System.Globalization;
using System.Linq;
using System.Threading;
using System.Threading.Tasks;
using Emby.Server.Implementations.LiveTv.TunerHosts;
using MediaBrowser.Model.IO;
using MediaBrowser.Common.Configuration;
using MediaBrowser.Common.Extensions;
using MediaBrowser.Common.IO;
using MediaBrowser.Common.Net;
using MediaBrowser.Controller;
using MediaBrowser.Controller.Configuration;
using MediaBrowser.Controller.IO;
using MediaBrowser.Controller.LiveTv;
using MediaBrowser.Controller.MediaEncoding;
using MediaBrowser.Model.Dto;
using MediaBrowser.Model.Entities;
using MediaBrowser.Model.LiveTv;
using MediaBrowser.Model.Logging;
using MediaBrowser.Model.MediaInfo;
using MediaBrowser.Model.Serialization;
namespace MediaBrowser.Server.Implementations.LiveTv.TunerHosts.SatIp
{
public class SatIpHost : BaseTunerHost, ITunerHost
{
private readonly IFileSystem _fileSystem;
private readonly IHttpClient _httpClient;
private readonly IServerApplicationHost _appHost;
public SatIpHost(IServerConfigurationManager config, ILogger logger, IJsonSerializer jsonSerializer, IMediaEncoder mediaEncoder, IFileSystem fileSystem, IHttpClient httpClient, IServerApplicationHost appHost)
: base(config, logger, jsonSerializer, mediaEncoder)
{
_fileSystem = fileSystem;
_httpClient = httpClient;
_appHost = appHost;
}
private const string ChannelIdPrefix = "sat_";
protected override async Task<IEnumerable<ChannelInfo>> GetChannelsInternal(TunerHostInfo tuner, CancellationToken cancellationToken)
{
if (!string.IsNullOrWhiteSpace(tuner.M3UUrl))
{
return await new M3uParser(Logger, _fileSystem, _httpClient, _appHost).Parse(tuner.M3UUrl, ChannelIdPrefix, tuner.Id, cancellationToken).ConfigureAwait(false);
}
var channels = await new ChannelScan(Logger).Scan(tuner, cancellationToken).ConfigureAwait(false);
return channels;
}
public static string DeviceType
{
get { return "satip"; }
}
public override string Type
{
get { return DeviceType; }
}
protected override async Task<List<MediaSourceInfo>> GetChannelStreamMediaSources(TunerHostInfo tuner, string channelId, CancellationToken cancellationToken)
{
var urlHash = tuner.Url.GetMD5().ToString("N");
var prefix = ChannelIdPrefix + urlHash;
if (!channelId.StartsWith(prefix, StringComparison.OrdinalIgnoreCase))
{
return null;
}
var channels = await GetChannels(tuner, true, cancellationToken).ConfigureAwait(false);
var m3uchannels = channels.Cast<M3UChannel>();
var channel = m3uchannels.FirstOrDefault(c => string.Equals(c.Id, channelId, StringComparison.OrdinalIgnoreCase));
if (channel != null)
{
var path = channel.Path;
MediaProtocol protocol = MediaProtocol.File;
if (path.StartsWith("http", StringComparison.OrdinalIgnoreCase))
{
protocol = MediaProtocol.Http;
}
else if (path.StartsWith("rtmp", StringComparison.OrdinalIgnoreCase))
{
protocol = MediaProtocol.Rtmp;
}
else if (path.StartsWith("rtsp", StringComparison.OrdinalIgnoreCase))
{
protocol = MediaProtocol.Rtsp;
}
var mediaSource = new MediaSourceInfo
{
Path = channel.Path,
Protocol = protocol,
MediaStreams = new List<MediaStream>
{
new MediaStream
{
Type = MediaStreamType.Video,
// Set the index to -1 because we don't know the exact index of the video stream within the container
Index = -1,
IsInterlaced = true
},
new MediaStream
{
Type = MediaStreamType.Audio,
// Set the index to -1 because we don't know the exact index of the audio stream within the container
Index = -1
}
},
RequiresOpening = false,
RequiresClosing = false
};
return new List<MediaSourceInfo> { mediaSource };
}
return new List<MediaSourceInfo>();
}
protected override async Task<LiveStream> GetChannelStream(TunerHostInfo tuner, string channelId, string streamId, CancellationToken cancellationToken)
{
var sources = await GetChannelStreamMediaSources(tuner, channelId, cancellationToken).ConfigureAwait(false);
var liveStream = new LiveStream(sources.First());
return liveStream;
}
protected override async Task<bool> IsAvailableInternal(TunerHostInfo tuner, string channelId, CancellationToken cancellationToken)
{
var updatedInfo = await SatIpDiscovery.Current.GetInfo(tuner.InfoUrl, cancellationToken).ConfigureAwait(false);
return updatedInfo.TunersAvailable > 0;
}
protected override bool IsValidChannelId(string channelId)
{
return channelId.StartsWith(ChannelIdPrefix, StringComparison.OrdinalIgnoreCase);
}
public string Name
{
get { return "Sat IP"; }
}
public Task<List<LiveTvTunerInfo>> GetTunerInfos(CancellationToken cancellationToken)
{
var list = GetTunerHosts()
.SelectMany(i => GetTunerInfos(i, cancellationToken))
.ToList();
return Task.FromResult(list);
}
public List<LiveTvTunerInfo> GetTunerInfos(TunerHostInfo info, CancellationToken cancellationToken)
{
var list = new List<LiveTvTunerInfo>();
for (var i = 0; i < info.Tuners; i++)
{
list.Add(new LiveTvTunerInfo
{
Name = info.FriendlyName ?? Name,
SourceType = Type,
Status = LiveTvTunerStatus.Available,
Id = info.Url.GetMD5().ToString("N") + i.ToString(CultureInfo.InvariantCulture),
Url = info.Url
});
}
return list;
}
public string ApplyDuration(string streamPath, TimeSpan duration)
{
return streamPath;
}
}
}

View File

@@ -1,25 +0,0 @@
/*
Copyright (C) <2007-2016> <Kay Diefenthal>
SatIp.RtspSample is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
SatIp.RtspSample is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with SatIp.RtspSample. If not, see <http://www.gnu.org/licenses/>.
*/
namespace MediaBrowser.Server.Implementations.LiveTv.TunerHosts.SatIp
{
public enum TransmissionMode
{
Unicast,
Multicast
}
}

View File

@@ -1,90 +0,0 @@
/*
Copyright (C) <2007-2016> <Kay Diefenthal>
SatIp.RtspSample is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
SatIp.RtspSample is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with SatIp.RtspSample. If not, see <http://www.gnu.org/licenses/>.
*/
using System;
using System.Text;
namespace MediaBrowser.Server.Implementations.LiveTv.TunerHosts.SatIp
{
public class Utils
{
public static int Convert2BytesToInt(byte[] buffer, int offset)
{
int temp = (int)buffer[offset];
temp = (temp * 256) + buffer[offset + 1];
return (temp);
}
public static int Convert3BytesToInt(byte[] buffer, int offset)
{
int temp = (int)buffer[offset];
temp = (temp * 256) + buffer[offset + 1];
temp = (temp * 256) + buffer[offset + 2];
return (temp);
}
public static int Convert4BytesToInt(byte[] buffer, int offset)
{
int temp =(int)buffer[offset];
temp = (temp * 256) + buffer[offset + 1];
temp = (temp * 256) + buffer[offset + 2];
temp = (temp * 256) + buffer[offset + 3];
return (temp);
}
public static long Convert4BytesToLong(byte[] buffer, int offset)
{
long temp = 0;
for (int index = 0; index < 4; index++)
temp = (temp * 256) + buffer[offset + index];
return (temp);
}
public static long Convert8BytesToLong(byte[] buffer, int offset)
{
long temp = 0;
for (int index = 0; index < 8; index++)
temp = (temp * 256) + buffer[offset + index];
return (temp);
}
public static string ConvertBytesToString(byte[] buffer, int offset, int length)
{
StringBuilder reply = new StringBuilder(4);
for (int index = 0; index < length; index++)
reply.Append((char)buffer[offset + index]);
return (reply.ToString());
}
public static DateTime NptTimestampToDateTime(long nptTimestamp) { return NptTimestampToDateTime((uint)((nptTimestamp >> 32) & 0xFFFFFFFF), (uint)(nptTimestamp & 0xFFFFFFFF),null); }
public static DateTime NptTimestampToDateTime(uint seconds, uint fractions, DateTime? epoch )
{
ulong ticks =(ulong)((seconds * TimeSpan.TicksPerSecond) + ((fractions * TimeSpan.TicksPerSecond) / 0x100000000L));
if (epoch.HasValue) return epoch.Value + TimeSpan.FromTicks((Int64)ticks);
return (seconds & 0x80000000L) == 0 ? UtcEpoch2036 + TimeSpan.FromTicks((Int64)ticks) : UtcEpoch1900 + TimeSpan.FromTicks((Int64)ticks);
}
//When the First Epoch will wrap (The real Y2k)
public static DateTime UtcEpoch2036 = new DateTime(2036, 2, 7, 6, 28, 16, DateTimeKind.Utc);
public static DateTime UtcEpoch1900 = new DateTime(1900, 1, 1, 0, 0, 0, DateTimeKind.Utc);
public static DateTime UtcEpoch1970 = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc);
}
}

View File

@@ -1,100 +0,0 @@
; file generated on saturday, 22nd of august 2015, 19:35:09 [GMT]
; by online transponder .ini generator @ http://satellites-xml.eu
; please let us know if you find any inconsistencies in this file
[SATTYPE]
1=0030
2=Eutelsat 3B/Rascom QAF 1R (3.0E)
[DVB]
0=91
1=3794,H,3590,23,S2,8PSK
2=3797,H,2442,23,DVB-S,QPSK
3=3970,V,2741,34,DVB-S,QPSK
4=3975,V,3111,23,DVB-S,QPSK
5=3986,V,13557,56,DVB-S,QPSK
6=4151,V,2141,56,S2,QPSK
7=4173,V,1917,56,S2,QPSK
8=10961,H,10000,34,S2,8PSK
9=10973,H,10000,34,S2,8PSK
10=10985,H,10000,34,S2,QPSK
11=11042,H,4279,89,S2,QPSK
12=11049,H,1000,23,S2,8PSK
13=11051,H,2100,56,S2,QPSK
14=11078,H,7430,56,S2,QPSK
15=11088,H,7430,56,S2,QPSK
16=11097,H,7430,56,S2,QPSK
17=11456,V,2876,78,DVB-S,QPSK
18=11456,H,1480,34,S2,8PSK
19=11457,H,3000,78,DVB-S,QPSK
20=11461,V,2000,34,DVB-S,QPSK
21=11465,V,2500,78,DVB-S,QPSK
22=11468,H,2963,34,DVB-S,QPSK
23=11471,V,2500,78,DVB-S,QPSK
24=11472,H,2600,34,DVB-S,QPSK
25=11476,H,2600,34,DVB-S,QPSK
26=11479,V,3000,56,S2,QPSK
27=11480,H,1480,78,DVB-S,QPSK
28=11482,V,11852,34,DVB-S,QPSK
29=11487,H,1480,34,S2,8PSK
30=11490,H,2222,56,DVB-S,QPSK
31=11496,H,3000,34,DVB-S,QPSK
32=11498,V,11852,34,DVB-S,QPSK
33=11503,H,1480,56,S2,8PSK
34=11507,H,1480,34,S2,8PSK
35=11521,H,8800,23,S2,8PSK
36=11521,V,1500,34,S2,8PSK
37=11530,V,1500,34,S2,8PSK
38=11532,V,1500,34,S2,8PSK
39=11533,H,8800,23,S2,8PSK
40=11544,H,3550,34,S2,8PSK
41=11555,H,8800,23,DVB-S,QPSK
42=11562,H,2850,34,DVB-S,QPSK
43=11585,H,9600,23,S2,8PSK
44=11585,V,9260,56,DVB-S,QPSK
45=11594,V,3333,78,DVB-S,QPSK
46=11597,H,2250,34,DVB-S,QPSK
47=11598,V,2250,34,DVB-S,QPSK
48=11606,V,1480,56,S2,8PSK
49=11609,H,9600,23,S2,8PSK
50=11615,V,2200,34,DVB-S,QPSK
51=11621,H,9600,56,S2,8PSK
52=11621,V,1200,34,S2,8PSK
53=11632,V,2200,34,DVB-S,QPSK
54=11642,H,1111,34,S2,8PSK
55=11645,H,3000,34,DVB-S,QPSK
56=11649,H,3000,34,DVB-S,QPSK
57=11655,H,2304,34,S2,8PSK
58=11660,H,2400,56,DVB-S,QPSK
59=11663,H,1550,56,S2,8PSK
60=11671,V,1500,34,S2,8PSK
61=11673,V,1500,34,S2,8PSK
62=11675,V,1500,56,S2,8PSK
63=11680,V,3750,34,DVB-S,QPSK
64=11692,V,1860,78,DVB-S,QPSK
65=11696,V,2000,34,DVB-S,QPSK
66=12526,H,4444,34,S2,8PSK
67=12531,H,2265,89,S2,QPSK
68=12534,H,2500,34,S2,8PSK
69=12537,H,2500,34,S2,8PSK
70=12548,V,3000,56,S2,QPSK
71=12553,V,1100,56,S2,8PSK
72=12554,V,1100,56,S2,8PSK
73=12556,V,1100,34,S2,8PSK
74=12557,V,1500,34,DVB-S,QPSK
75=12559,V,1500,56,S2,8PSK
76=12563,V,1500,34,S2,8PSK
77=12566,V,2750,23,S2,8PSK
78=12571,V,3650,23,S2,8PSK
79=12572,H,10000,34,S2,QPSK
80=12574,V,1447,34,DVB-S,QPSK
81=12576,V,1570,34,S2,8PSK
82=12609,H,9600,23,S2,8PSK
83=12638,V,14400,34,S2,8PSK
84=12692,H,1450,56,S2,8PSK
85=12702,H,13960,35,S2,QPSK
86=12703,V,3704,34,S2,8PSK
87=12707,V,2963,34,S2,8PSK
88=12717,V,2143,56,DVB-S,QPSK
89=12720,H,13960,35,S2,QPSK
90=12734,V,16750,35,S2,QPSK
91=12737,H,2930,34,DVB-S,QPSK

View File

@@ -1,102 +0,0 @@
; file generated on saturday, 22nd of august 2015, 19:35:09 [GMT]
; by online transponder .ini generator @ http://satellites-xml.eu
; please let us know if you find any inconsistencies in this file
[SATTYPE]
1=0049
2=Astra 4A/SES 5 (4.9E)
[DVB]
0=93
1=3644,H,1300,56,S2,QPSK
2=3843,V,1055,910,S2,QPSK
3=3857,V,1520,35,S2,QPSK
4=3863,V,1130,56,S2,QPSK
5=3866,V,1400,23,S2,QPSK
6=3868,V,1203,56,S2,QPSK
7=3871,V,1550,23,S2,QPSK
8=3876,V,6200,23,S2,QPSK
9=11265,H,30000,34,S2,8PSK
10=11265,V,30000,34,S2,8PSK
11=11305,H,30000,34,S2,8PSK
12=11305,V,30000,34,S2,8PSK
13=11345,H,30000,34,S2,8PSK
14=11345,V,30000,34,S2,8PSK
15=11385,V,30000,34,S2,8PSK
16=11727,H,27500,56,DVB-S,QPSK
17=11747,V,27500,23,S2,QPSK
18=11766,H,27500,34,DVB-S,QPSK
19=11785,V,27500,56,DVB-S,8PSK
20=11804,H,27500,34,DVB-S,QPSK
21=11823,V,27500,34,DVB-S,QPSK
22=11843,H,27500,34,DVB-S,QPSK
23=11862,V,27500,34,DVB-S,8PSK
24=11881,H,27500,34,DVB-S,QPSK
25=11900,V,27500,34,DVB-S,QPSK
26=11919,H,27500,34,DVB-S,QPSK
27=11938,V,27500,34,DVB-S,8PSK
28=11958,H,27500,34,DVB-S,QPSK
29=11977,V,27500,34,DVB-S,8PSK
30=11996,H,27500,34,DVB-S,8PSK
31=12015,V,27500,56,DVB-S,QPSK
32=12034,H,27500,34,DVB-S,QPSK
33=12054,V,27500,34,DVB-S,QPSK
34=12073,H,27500,34,DVB-S,8PSK
35=12092,V,27500,34,DVB-S,QPSK
36=12111,H,27500,56,DVB-S,QPSK
37=12130,V,27500,34,DVB-S,QPSK
38=12149,H,27500,34,DVB-S,QPSK
39=12169,V,27500,34,S2,8PSK
40=12188,H,30000,34,S2,8PSK
41=12207,V,30000,34,S2,8PSK
42=12245,V,27500,34,DVB-S,QPSK
43=12284,V,27500,34,DVB-S,QPSK
44=12303,H,25546,78,DVB-S,8PSK
45=12322,V,27500,56,S2,QPSK
46=12341,H,30000,34,S2,8PSK
47=12360,V,27500,56,S2,8PSK
48=12380,H,27500,34,DVB-S,8PSK
49=12399,V,27500,34,DVB-S,QPSK
50=12418,H,27500,34,DVB-S,8PSK
51=12437,V,27500,34,S2,8PSK
52=12476,V,27500,34,DVB-S,QPSK
53=12514,H,6111,34,DVB-S,QPSK
54=12515,V,7200,34,S2,8PSK
55=12519,H,4610,34,S2,8PSK
56=12524,V,7200,34,S2,8PSK
57=12528,H,9874,34,S2,8PSK
58=12538,V,4610,34,S2,8PSK
59=12540,H,3750,23,S2,8PSK
60=12543,V,4610,34,S2,8PSK
61=12551,V,7400,34,S2,8PSK
62=12560,V,7200,34,S2,8PSK
63=12580,V,3829,34,DVB-S,QPSK
64=12593,V,7200,34,S2,8PSK
65=12602,V,6111,34,DVB-S,QPSK
66=12608,H,27500,34,DVB-S,QPSK
67=12612,V,6111,34,DVB-S,QPSK
68=12620,V,6111,34,DVB-S,QPSK
69=12621,V,3660,23,DVB-S,QPSK
70=12637,H,14468,34,DVB-S,QPSK
71=12670,H,2600,23,DVB-S,QPSK
72=12671,V,3333,34,DVB-S,QPSK
73=12673,H,3750,35,S2,8PSK
74=12674,V,3333,34,DVB-S,QPSK
75=12678,H,6666,78,DVB-S,QPSK
76=12694,H,6666,34,DVB-S,QPSK
77=12694,V,3333,56,DVB-S,QPSK
78=12699,H,3040,78,DVB-S,QPSK
79=12702,V,3333,34,DVB-S,QPSK
80=12702,H,2100,34,S2,8PSK
81=12710,V,4430,34,DVB-S,QPSK
82=12712,H,5000,78,DVB-S,QPSK
83=12716,V,4430,34,DVB-S,QPSK
84=12719,H,2960,34,DVB-S,QPSK
85=12719,V,2950,34,DVB-S,QPSK
86=12722,V,4430,34,DVB-S,QPSK
87=12725,V,1480,89,S2,8PSK
88=12728,V,4430,34,DVB-S,QPSK
89=12730,V,2960,34,DVB-S,QPSK
90=12733,H,3400,34,DVB-S,QPSK
91=12734,V,4430,34,DVB-S,8PSK
92=12737,H,3472,34,DVB-S,QPSK
93=12740,V,4430,34,DVB-S,QPSK

View File

@@ -1,134 +0,0 @@
; file generated on saturday, 22nd of august 2015, 19:35:09 [GMT]
; by online transponder .ini generator @ http://satellites-xml.eu
; please let us know if you find any inconsistencies in this file
[SATTYPE]
1=0070
2=Eutelsat 7A/7B (7.0E)
[DVB]
0=125
1=10721,H,22000,34,DVB-S,8PSK
2=10721,V,27500,34,DVB-S,QPSK
3=10762,V,30000,34,DVB-S,QPSK
4=10804,H,30000,56,S2,QPSK
5=10804,V,29900,34,DVB-S,QPSK
6=10845,H,30000,56,S2,QPSK
7=10845,V,30000,34,DVB-S,QPSK
8=10887,H,30000,34,S2,QPSK
9=10887,V,30000,56,S2,QPSK
10=10928,H,30000,34,S2,8PSK
11=10928,V,30000,56,S2,QPSK
12=10958,V,4936,34,S2,8PSK
13=10959,H,4936,34,S2,8PSK
14=10962,H,3255,23,DVB-S,QPSK
15=10970,V,4434,78,DVB-S,QPSK
16=10971,H,4936,34,S2,8PSK
17=10976,H,4936,34,S2,8PSK
18=10978,V,7200,34,S2,8PSK
19=10987,H,4936,34,S2,8PSK
20=10994,V,4936,34,S2,8PSK
21=10997,H,9874,34,S2,8PSK
22=10999,H,3209,Auto,DVB-S,QPSK
23=11000,V,4936,34,S2,8PSK
24=11006,V,4936,34,S2,8PSK
25=11009,H,9874,34,S2,8PSK
26=11012,V,4936,34,S2,8PSK
27=11014,H,6111,Auto,DVB-S,QPSK
28=11018,V,3255,78,DVB-S,QPSK
29=11021,H,9874,34,S2,8PSK
30=11022,V,3676,34,S2,8PSK
31=11023,H,6111,Auto,S2,QPSK
32=11042,V,4936,34,S2,8PSK
33=11046,H,8335,56,S2,8PSK
34=11048,V,14400,34,S2,8PSK
35=11054,H,4936,34,S2,8PSK
36=11057,V,9874,34,S2,8PSK
37=11059,H,14238,56,S2,QPSK
38=11060,H,4936,34,S2,8PSK
39=11066,H,4936,34,S2,8PSK
40=11068,V,9874,34,S2,8PSK
41=11080,V,9874,34,S2,8PSK
42=11084,H,4936,34,S2,8PSK
43=11090,H,4936,34,S2,8PSK
44=11090,V,4936,34,S2,8PSK
45=11096,H,4936,34,S2,8PSK
46=11102,H,14400,34,S2,8PSK
47=11105,H,4340,34,DVB-S,QPSK
48=11107,V,7200,34,S2,8PSK
49=11124,V,3600,34,S2,8PSK
50=11128,H,9874,34,S2,8PSK
51=11128,V,3750,34,S2,8PSK
52=11134,V,5000,34,S2,8PSK
53=11137,H,4936,34,S2,8PSK
54=11140,V,9600,34,S2,8PSK
55=11143,H,4936,34,S2,8PSK
56=11148,H,4936,34,S2,8PSK
57=11153,V,7200,34,S2,8PSK
58=11154,H,4936,34,S2,8PSK
59=11160,H,3254,56,S2,8PSK
60=11161,V,4936,34,S2,8PSK
61=11164,H,3255,34,S2,8PSK
62=11165,V,3204,34,DVB-S,QPSK
63=11171,H,7500,56,S2,8PSK
64=11173,V,3674,34,S2,8PSK
65=11181,V,7442,34,S2,8PSK
66=11184,H,5714,Auto,DVB-S,QPSK
67=11186,V,3255,34,DVB-S,QPSK
68=11192,H,3210,34,DVB-S,QPSK
69=11192,V,3700,34,S2,8PSK
70=11221,H,27500,34,DVB-S,QPSK
71=11262,H,27500,56,DVB-S,QPSK
72=11356,H,45000,56,S2,QPSK
73=11387,H,27500,34,DVB-S,QPSK
74=11418,H,45000,56,S2,QPSK
75=11456,V,20050,34,DVB-S,QPSK
76=11471,H,30000,34,DVB-S,QPSK
77=11492,V,30000,34,DVB-S,QPSK
78=11513,H,29900,34,DVB-S,QPSK
79=11534,V,30000,34,DVB-S,QPSK
80=11554,H,30000,34,DVB-S,QPSK
81=11575,V,30000,34,DVB-S,QPSK
82=11596,H,30000,34,DVB-S,QPSK
83=11617,V,30000,34,DVB-S,QPSK
84=11668,V,30000,56,S2,QPSK
85=11678,H,30000,34,DVB-S,QPSK
86=12510,H,7120,34,S2,8PSK
87=12519,H,6144,34,S2,8PSK
88=12520,V,9800,34,S2,8PSK
89=12532,V,1852,23,S2,QPSK
90=12545,H,4950,34,S2,8PSK
91=12548,V,3650,34,S2,8PSK
92=12555,H,4830,78,DVB-S,8PSK
93=12556,V,4035,56,S2,8PSK
94=12565,H,6750,23,S2,8PSK
95=12573,H,7120,34,S2,8PSK
96=12596,V,2500,34,S2,8PSK
97=12603,H,30000,23,S2,8PSK
98=12603,V,2500,34,S2,8PSK
99=12606,V,2500,34,S2,8PSK
100=12611,V,5000,34,S2,8PSK
101=12615,V,2500,34,S2,8PSK
102=12619,V,4444,78,DVB-S,QPSK
103=12624,V,2500,34,S2,8PSK
104=12627,V,2500,34,S2,8PSK
105=12630,V,2500,34,S2,8PSK
106=12643,V,6430,23,S2,8PSK
107=12645,H,30000,23,S2,8PSK
108=12650,V,2400,34,S2,8PSK
109=12653,V,2400,56,S2,8PSK
110=12659,V,4936,34,S2,8PSK
111=12675,H,6430,23,S2,8PSK
112=12687,H,6975,56,S2,8PSK
113=12695,V,6666,78,DVB-S,8PSK
114=12701,H,4800,34,S2,8PSK
115=12704,V,7500,34,S2,8PSK
116=12711,V,4936,34,S2,8PSK
117=12727,V,10000,34,S2,8PSK
118=12728,H,30000,56,DVB-S,QPSK
119=12740,V,6111,34,DVB-S,QPSK
120=21439,H,6111,34,DVB-S,QPSK
121=21553,H,9600,56,S2,8PSK
122=21565,H,1571,78,DVB-S,QPSK
123=21571,H,2442,23,DVB-S,QPSK
124=21584,H,1100,34,S2,8PSK
125=21603,H,6428,23,S2,8PSK

View File

@@ -1,40 +0,0 @@
; file generated on saturday, 22nd of august 2015, 19:35:09 [GMT]
; by online transponder .ini generator @ http://satellites-xml.eu
; please let us know if you find any inconsistencies in this file
[SATTYPE]
1=0090
2=Eutelsat 9A/Ka-Sat 9A (9.0E)
[DVB]
0=31
1=11727,V,27500,34,DVB-S,QPSK
2=11747,H,27500,23,S2,8PSK
3=11766,V,27500,34,DVB-S,QPSK
4=11785,H,27500,23,S2,8PSK
5=11804,V,27500,34,DVB-S,QPSK
6=11823,H,27500,34,DVB-S,QPSK
7=11843,V,27500,35,S2,8PSK
8=11861,H,27500,23,S2,8PSK
9=11881,V,27500,23,S2,8PSK
10=11900,H,27500,23,S2,8PSK
11=11919,V,27500,34,DVB-S,QPSK
12=11938,H,27500,34,DVB-S,QPSK
13=11958,V,27500,23,S2,8PSK
14=11996,V,27500,34,DVB-S,QPSK
15=12015,H,27500,23,S2,8PSK
16=12034,V,27500,34,S2,8PSK
17=12054,H,27500,23,S2,8PSK
18=12074,V,27500,34,S2,8PSK
19=12092,H,27500,34,S2,8PSK
20=12130,H,27500,34,DVB-S,QPSK
21=12149,V,27500,23,S2,8PSK
22=12226,V,27500,23,S2,8PSK
23=12265,V,27500,23,S2,8PSK
24=12284,H,27500,23,S2,8PSK
25=12322,H,27500,34,DVB-S,QPSK
26=12360,H,27500,23,S2,8PSK
27=12380,V,27500,23,S2,8PSK
28=12399,H,27500,23,S2,8PSK
29=12418,V,27500,23,S2,8PSK
30=12437,H,27500,23,S2,8PSK
31=20185,H,25000,23,S2,QPSK

View File

@@ -1,206 +0,0 @@
; file generated on saturday, 22nd of august 2015, 19:35:09 [GMT]
; by online transponder .ini generator @ http://satellites-xml.eu
; please let us know if you find any inconsistencies in this file
[SATTYPE]
1=0100
2=Eutelsat 10A (10.0E)
[DVB]
0=197
1=3649,H,20160,23,S2,QPSK
2=3706,V,6250,56,S2,8PSK
3=3708,H,1002,56,S2,8PSK
4=3721,V,3303,56,S2,8PSK
5=3729,V,10321,56,S2,8PSK
6=3741,V,10114,56,S2,8PSK
7=3759,V,19816,56,S2,8PSK
8=3781,V,16445,56,S2,8PSK
9=3827,V,3080,34,S2,8PSK
10=3835,V,1000,45,S2,QPSK
11=3837,V,1185,34,S2,8PSK
12=3839,V,1185,34,S2,8PSK
13=3865,V,13333,78,DVB-S,QPSK
14=3956,V,1500,23,DVB-S,QPSK
15=4039,V,2222,34,S2,8PSK
16=10707,V,3100,34,DVB-S,QPSK
17=10712,V,4167,56,DVB-S,QPSK
18=10717,V,3215,34,DVB-S,QPSK
19=10734,V,1447,34,DVB-S,QPSK
20=10738,V,2894,34,DVB-S,QPSK
21=10742,V,2894,34,DVB-S,QPSK
22=10747,V,4000,910,S2,8PSK
23=10756,V,2480,78,DVB-S,QPSK
24=10792,V,4936,34,S2,QPSK
25=10798,V,4936,34,S2,8PSK
26=10803,V,6111,34,DVB-S,QPSK
27=10810,V,4430,34,DVB-S,QPSK
28=10822,V,4430,34,S2,8PSK
29=10832,V,8876,56,S2,8PSK
30=10840,V,3255,12,DVB-S,QPSK
31=10848,V,6111,34,DVB-S,QPSK
32=10859,V,2875,Auto,S2,QPSK
33=10877,V,6111,34,DVB-S,QPSK
34=10886,V,6111,Auto,DVB-S,QPSK
35=10893,V,4936,34,S2,QPSK
36=10899,V,4936,34,S2,8PSK
37=10905,V,4936,34,S2,QPSK
38=10918,V,4430,34,DVB-S,QPSK
39=10923,V,4600,56,S2,8PSK
40=10931,V,7120,34,S2,8PSK
41=10940,V,6080,34,DVB-S,QPSK
42=10956,H,2500,56,DVB-S,QPSK
43=10960,V,4167,56,DVB-S,QPSK
44=10965,H,3124,34,DVB-S,QPSK
45=10965,V,4167,56,DVB-S,QPSK
46=10969,H,3124,34,DVB-S,QPSK
47=10970,V,4167,56,DVB-S,QPSK
48=10973,H,3124,34,DVB-S,QPSK
49=10976,V,4167,56,DVB-S,QPSK
50=10977,H,3124,34,DVB-S,QPSK
51=10981,H,3124,34,DVB-S,QPSK
52=10981,V,4600,56,S2,8PSK
53=10985,H,3124,34,DVB-S,QPSK
54=10988,H,3124,34,DVB-S,QPSK
55=10992,H,3124,34,DVB-S,QPSK
56=10998,V,2900,34,DVB-S,QPSK
57=11004,V,2400,34,DVB-S,QPSK
58=11005,H,7120,34,S2,8PSK
59=11008,V,2963,34,DVB-S,QPSK
60=11014,H,7120,34,S2,8PSK
61=11018,V,2857,34,DVB-S,QPSK
62=11022,V,2650,34,DVB-S,QPSK
63=11023,H,7120,34,S2,8PSK
64=11043,H,7120,23,S2,8PSK
65=11060,H,4937,34,S2,8PSK
66=11066,H,4937,34,S2,8PSK
67=11074,H,4937,34,S2,8PSK
68=11075,V,68571,34,DVB-S,QPSK
69=11093,H,9874,34,S2,8PSK
70=11107,H,4936,34,S2,8PSK
71=11124,H,3300,34,DVB-S,8PSK
72=11127,V,6111,34,DVB-S,QPSK
73=11129,H,3333,34,DVB-S,8PSK
74=11134,H,3333,34,DVB-S,QPSK
75=11136,V,7400,34,S2,8PSK
76=11138,H,2400,56,S2,8PSK
77=11144,H,6111,34,DVB-S,QPSK
78=11144,V,6666,78,DVB-S,QPSK
79=11151,H,3254,34,DVB-S,QPSK
80=11154,V,5632,34,DVB-S,QPSK
81=11160,H,2267,56,S2,8PSK
82=11162,V,2400,34,DVB-S,QPSK
83=11165,H,3750,34,S2,8PSK
84=11168,V,2300,34,DVB-S,QPSK
85=11169,H,3028,34,S2,QPSK
86=11173,H,3028,34,S2,QPSK
87=11179,H,2066,23,S2,8PSK
88=11182,H,2400,23,S2,8PSK
89=11186,H,2667,56,DVB-S,QPSK
90=11189,H,2352,34,DVB-S,QPSK
91=11193,H,2880,34,S2,QPSK
92=11207,H,7500,34,S2,8PSK
93=11221,V,30000,56,S2,QPSK
94=11291,H,9875,34,S2,8PSK
95=11294,V,14400,34,S2,8PSK
96=11317,H,7500,56,S2,8PSK
97=11346,H,27500,34,DVB-S,QPSK
98=11375,V,9874,34,S2,8PSK
99=11399,V,9874,34,S2,8PSK
100=11419,H,11814,56,S2,8PSK
101=11434,H,10098,35,S2,QPSK
102=11457,H,6111,34,DVB-S,QPSK
103=11483,V,4000,56,S2,8PSK
104=11488,H,2100,34,DVB-S,QPSK
105=11498,V,7450,34,S2,8PSK
106=11501,H,2894,34,DVB-S,QPSK
107=11505,H,3000,34,DVB-S,QPSK
108=11509,H,3000,34,DVB-S,QPSK
109=11511,V,3324,34,DVB-S,QPSK
110=11515,V,4200,34,DVB-S,QPSK
111=11520,V,4200,34,DVB-S,QPSK
112=11524,H,2810,34,DVB-S,QPSK
113=11525,V,4167,56,DVB-S,QPSK
114=11528,H,2800,34,DVB-S,QPSK
115=11534,V,2300,34,DVB-S,QPSK
116=11536,H,2960,34,DVB-S,QPSK
117=11538,V,2900,34,DVB-S,QPSK
118=11541,H,2600,34,S2,8PSK
119=11542,V,2816,78,DVB-S,QPSK
120=11551,V,1993,34,DVB-S,QPSK
121=11552,H,4800,34,S2,8PSK
122=11554,V,3700,56,DVB-S,QPSK
123=11557,H,3333,56,S2,8PSK
124=11561,V,6666,34,S2,8PSK
125=11561,H,3333,56,DVB-S,QPSK
126=11567,H,6666,78,DVB-S,QPSK
127=11584,H,9875,34,S2,8PSK
128=11590,H,2160,34,S2,8PSK
129=11595,V,30000,23,S2,8PSK
130=11615,H,2500,34,DVB-S,QPSK
131=11619,H,2900,34,DVB-S,QPSK
132=11624,V,2900,34,DVB-S,QPSK
133=11624,H,2500,34,DVB-S,QPSK
134=11627,H,2963,34,DVB-S,QPSK
135=11638,H,5300,56,DVB-S,QPSK
136=11645,H,4800,23,S2,QPSK
137=11651,H,2590,34,DVB-S,QPSK
138=11659,H,1500,56,S2,QPSK
139=11663,H,5540,34,DVB-S,QPSK
140=11664,V,6666,78,DVB-S,QPSK
141=11669,V,3000,56,DVB-S,QPSK
142=11671,H,7200,34,S2,8PSK
143=11676,H,11153,78,DVB-S,QPSK
144=11680,V,2220,34,DVB-S,QPSK
145=11681,H,3200,56,S2,8PSK
146=11684,V,2300,34,DVB-S,QPSK
147=11688,H,9874,34,DVB-S,QPSK
148=11693,V,2210,78,DVB-S,QPSK
149=11696,H,2980,34,DVB-S,QPSK
150=11697,V,2300,34,DVB-S,QPSK
151=12504,H,2880,56,DVB-S,QPSK
152=12508,H,2880,56,DVB-S,QPSK
153=12513,H,3214,34,DVB-S,QPSK
154=12520,H,1100,56,S2,8PSK
155=12526,V,3600,34,S2,8PSK
156=12527,H,2143,34,DVB-S,QPSK
157=12535,V,2220,Auto,DVB-S,QPSK
158=12545,H,3400,34,DVB-S,QPSK
159=12551,V,5632,34,DVB-S,QPSK
160=12553,H,2900,34,DVB-S,QPSK
161=12556,V,2900,78,DVB-S,QPSK
162=12563,V,5632,34,DVB-S,QPSK
163=12571,V,2220,78,DVB-S,QPSK
164=12576,V,3300,34,DVB-S,QPSK
165=12593,V,4800,34,S2,8PSK
166=12594,H,3300,Auto,DVB-S,QPSK
167=12602,V,3333,78,DVB-S,QPSK
168=12610,V,1852,34,DVB-S,QPSK
169=12611,H,2960,34,DVB-S,QPSK
170=12615,H,3214,34,S2,8PSK
171=12620,H,3750,56,S2,8PSK
172=12637,V,18400,23,S2,8PSK
173=12648,H,2300,56,DVB-S,QPSK
174=12652,H,4936,34,S2,8PSK
175=12654,V,2300,78,DVB-S,QPSK
176=12658,H,3214,34,S2,8PSK
177=12674,V,2962,56,DVB-S,QPSK
178=12674,H,3750,34,S2,8PSK
179=12679,V,2894,34,DVB-S,QPSK
180=12680,H,3750,34,S2,8PSK
181=12684,H,3200,34,DVB-S,QPSK
182=12688,H,3200,34,DVB-S,QPSK
183=12692,V,3146,34,DVB-S,QPSK
184=12694,H,6666,78,DVB-S,QPSK
185=12696,V,5632,34,DVB-S,QPSK
186=12701,V,2962,34,DVB-S,QPSK
187=12705,V,2922,34,DVB-S,QPSK
188=12706,H,3750,34,DVB-S,QPSK
189=12710,H,3750,34,S2,8PSK
190=12714,V,9874,34,S2,8PSK
191=12715,H,3200,34,DVB-S,QPSK
192=12729,V,4167,56,DVB-S,QPSK
193=12729,H,3325,34,DVB-S,QPSK
194=12733,H,3200,34,DVB-S,QPSK
195=12736,V,4600,56,S2,8PSK
196=12741,V,4167,56,DVB-S,QPSK
197=12742,H,3500,34,S2,8PSK

View File

@@ -1,106 +0,0 @@
; file generated on saturday, 22nd of august 2015, 19:35:09 [GMT]
; by online transponder .ini generator @ http://satellites-xml.eu
; please let us know if you find any inconsistencies in this file
[SATTYPE]
1=0130
2=Eutelsat Hot Bird 13B/13C/13D (13.0E)
[DVB]
0=97
1=10719,V,27500,56,DVB-S,QPSK
2=10758,V,27500,34,S2,8PSK
3=10775,H,29900,56,DVB-S,QPSK
4=10796,V,27500,56,DVB-S,QPSK
5=10815,H,27500,56,DVB-S,QPSK
6=10834,V,27500,34,S2,8PSK
7=10853,H,29900,23,S2,8PSK
8=10873,V,27500,34,DVB-S,QPSK
9=10892,H,27500,34,DVB-S,QPSK
10=10911,V,27500,34,S2,8PSK
11=10930,H,30000,23,S2,8PSK
12=10949,V,27500,34,DVB-S,QPSK
13=10971,H,29700,23,S2,8PSK
14=10992,V,27500,23,DVB-S,QPSK
15=11034,V,27500,34,DVB-S,QPSK
16=11054,H,27500,56,DVB-S,QPSK
17=11075,V,27500,34,DVB-S,QPSK
18=11096,H,29900,23,S2,8PSK
19=11117,V,27500,34,DVB-S,QPSK
20=11137,H,27500,34,DVB-S,QPSK
21=11158,V,27500,56,DVB-S,QPSK
22=11179,H,27500,34,DVB-S,QPSK
23=11200,V,27500,56,DVB-S,QPSK
24=11219,H,29900,56,DVB-S,QPSK
25=11240,V,27500,34,DVB-S,QPSK
26=11258,H,27500,34,S2,8PSK
27=11278,V,27500,34,S2,8PSK
28=11296,H,27500,34,S2,8PSK
29=11317,V,27500,34,DVB-S,QPSK
30=11334,H,27500,34,DVB-S,QPSK
31=11355,V,29900,56,DVB-S,QPSK
32=11393,V,27500,56,DVB-S,QPSK
33=11411,H,27500,56,S2,8PSK
34=11449,H,27500,34,S2,8PSK
35=11471,V,27500,56,DVB-S,QPSK
36=11488,H,27500,56,DVB-S,QPSK
37=11508,V,27500,34,S2,8PSK
38=11526,H,27500,34,DVB-S,QPSK
39=11541,V,22000,56,DVB-S,QPSK
40=11566,H,27500,34,DVB-S,QPSK
41=11585,V,27500,34,DVB-S,QPSK
42=11604,H,27500,56,DVB-S,QPSK
43=11623,V,27500,34,DVB-S,QPSK
44=11642,H,27500,34,DVB-S,QPSK
45=11662,V,27500,34,S2,8PSK
46=11681,H,27500,34,S2,8PSK
47=11727,V,27500,34,DVB-S,QPSK
48=11747,H,27500,34,DVB-S,QPSK
49=11766,V,27500,23,DVB-S,QPSK
50=11785,H,29900,34,S2,8PSK
51=11804,V,27500,23,DVB-S,QPSK
52=11823,H,27500,34,DVB-S,QPSK
53=11843,V,29900,34,S2,8PSK
54=11862,H,29900,56,DVB-S,QPSK
55=11881,V,27500,34,DVB-S,QPSK
56=11900,H,29900,34,S2,8PSK
57=11919,V,29900,56,DVB-S,8PSK
58=11938,H,27500,34,S2,8PSK
59=11958,V,27500,34,DVB-S,QPSK
60=11977,H,29900,56,DVB-S,QPSK
61=11996,V,29900,34,S2,8PSK
62=12015,H,27500,34,DVB-S,QPSK
63=12034,V,29900,56,DVB-S,QPSK
64=12054,H,29900,56,DVB-S,QPSK
65=12073,V,29900,56,DVB-S,QPSK
66=12092,H,29900,34,S2,8PSK
67=12111,V,27500,34,DVB-S,QPSK
68=12130,H,27500,34,S2,8PSK
69=12149,V,27500,34,DVB-S,QPSK
70=12169,H,27500,34,S2,8PSK
71=12188,V,27500,56,DVB-S,QPSK
72=12207,H,29900,34,S2,8PSK
73=12226,V,27500,34,DVB-S,QPSK
74=12265,V,27500,34,S2,8PSK
75=12284,H,27500,56,DVB-S,QPSK
76=12303,V,27500,34,S2,8PSK
77=12322,H,27500,34,DVB-S,QPSK
78=12341,V,29900,34,S2,8PSK
79=12360,H,29900,34,S2,8PSK
80=12380,V,27500,34,DVB-S,QPSK
81=12399,H,27500,34,DVB-S,QPSK
82=12418,V,29900,34,S2,8PSK
83=12437,H,29900,34,S2,QPSK
84=12466,V,29900,56,DVB-S,QPSK
85=12476,H,29900,34,S2,8PSK
86=12520,V,27500,34,DVB-S,QPSK
87=12539,H,27500,23,S2,QPSK
88=12558,V,27500,34,DVB-S,QPSK
89=12577,H,27500,34,S2,8PSK
90=12597,V,27500,34,DVB-S,QPSK
91=12616,H,29900,56,DVB-S,QPSK
92=12635,V,29900,56,DVB-S,QPSK
93=12654,H,27500,56,DVB-S,QPSK
94=12673,V,29900,56,DVB-S,QPSK
95=12692,H,27500,34,S2,8PSK
96=12713,V,29900,56,DVB-S,QPSK
97=12731,H,29900,34,S2,8PSK

View File

@@ -1,156 +0,0 @@
; file generated on saturday, 22nd of august 2015, 19:35:09 [GMT]
; by online transponder .ini generator @ http://satellites-xml.eu
; please let us know if you find any inconsistencies in this file
[SATTYPE]
1=0160
2=Eutelsat 16A (16.0E)
[DVB]
0=147
1=10721,H,27500,34,DVB-S,QPSK
2=10762,H,30000,35,S2,8PSK
3=10804,H,30000,23,S2,8PSK
4=10845,H,30000,Auto,S2,QPSK
5=10887,H,30000,Auto,S2,QPSK
6=10928,H,30000,89,S2,QPSK
7=10957,H,3750,34,S2,8PSK
8=10961,H,3750,34,S2,8PSK
9=10966,H,3750,34,S2,8PSK
10=10971,H,3750,34,S2,8PSK
11=10972,V,27500,56,DVB-S,QPSK
12=10975,H,3750,34,S2,8PSK
13=10977,H,24113,Auto,S2,8PSK
14=10981,H,3462,56,S2,8PSK
15=10992,H,2500,56,S2,8PSK
16=10997,H,2500,56,S2,8PSK
17=11001,H,2500,56,S2,8PSK
18=11007,H,5000,34,S2,8PSK
19=11011,V,27500,56,DVB-S,QPSK
20=11012,H,3333,78,DVB-S,QPSK
21=11016,H,1500,23,S2,8PSK
22=11019,H,1795,Auto,S2,QPSK
23=11023,H,7500,34,S2,8PSK
24=11024,H,3330,Auto,DVB-S,8PSK
25=11029,H,2300,Auto,DVB-S,QPSK
26=11046,H,10555,34,DVB-S,QPSK
27=11060,H,4615,56,DVB-S,QPSK
28=11063,H,3328,34,DVB-S,QPSK
29=11074,H,1250,34,DVB-S,QPSK
30=11082,H,10000,Auto,S2,QPSK
31=11092,H,3600,34,S2,8PSK
32=11104,H,7400,34,S2,8PSK
33=11127,H,10000,56,S2,8PSK
34=11131,V,16593,23,S2,8PSK
35=11139,H,10000,56,S2,8PSK
36=11151,V,13268,23,S2,8PSK
37=11152,H,10000,56,S2,8PSK
38=11164,H,10000,56,S2,8PSK
39=11175,H,10000,56,S2,8PSK
40=11178,V,27500,34,DVB-S,QPSK
41=11187,H,10000,56,S2,8PSK
42=11221,H,30000,34,DVB-S,QPSK
43=11231,V,30000,34,DVB-S,QPSK
44=11262,H,30000,23,DVB-S,QPSK
45=11283,V,30000,23,S2,8PSK
46=11294,H,45000,34,S2,8PSK
47=11303,H,30000,23,S2,8PSK
48=11324,V,30000,34,DVB-S,QPSK
49=11345,H,30000,35,S2,8PSK
50=11356,H,45000,34,S2,8PSK
51=11366,V,30000,34,DVB-S,QPSK
52=11387,H,30000,34,DVB-S,QPSK
53=11400,V,13846,34,S2,8PSK
54=11427,V,27500,34,S2,8PSK
55=11470,V,30000,56,S2,8PSK
56=11471,H,30000,89,S2,QPSK
57=11512,H,30000,89,S2,QPSK
58=11512,V,29950,23,S2,8PSK
59=11554,H,30000,56,S2,QPSK
60=11554,V,30000,56,S2,8PSK
61=11595,H,30000,34,S2,8PSK
62=11595,V,30000,56,S2,8PSK
63=11596,H,30000,89,S2,QPSK
64=11604,V,14400,34,S2,8PSK
65=11637,H,30000,89,S2,QPSK
66=11645,V,27700,56,S2,QPSK
67=11675,V,9874,34,S2,8PSK
68=11678,H,30000,35,S2,8PSK
69=11687,V,9874,34,S2,8PSK
70=12508,H,3600,34,S2,8PSK
71=12512,H,3166,23,S2,8PSK
72=12516,H,3166,23,S2,8PSK
73=12517,V,8000,56,S2,8PSK
74=12521,H,30000,23,S2,8PSK
75=12522,H,3166,23,S2,8PSK
76=12527,H,2816,34,DVB-S,QPSK
77=12528,V,10000,56,S2,8PSK
78=12533,H,6333,23,S2,8PSK
79=12538,H,3166,23,S2,8PSK
80=12541,V,10000,56,S2,8PSK
81=12542,H,2816,34,DVB-S,QPSK
82=12548,H,6333,23,S2,8PSK
83=12554,H,2816,34,DVB-S,QPSK
84=12557,H,3166,23,S2,8PSK
85=12559,V,2222,34,S2,QPSK
86=12562,H,3166,23,S2,8PSK
87=12564,H,30000,23,S2,8PSK
88=12564,V,3617,34,DVB-S,QPSK
89=12570,H,3703,78,DVB-S,QPSK
90=12575,V,6000,34,S2,8PSK
91=12593,H,7120,34,S2,8PSK
92=12593,V,2500,23,DVB-S,QPSK
93=12597,V,2848,23,DVB-S,QPSK
94=12600,H,3200,23,S2,8PSK
95=12604,H,30000,23,S2,8PSK
96=12605,H,3166,23,S2,8PSK
97=12605,V,7125,34,S2,QPSK
98=12609,H,3200,23,S2,8PSK
99=12611,V,1415,34,DVB-S,QPSK
100=12614,H,3200,23,S2,8PSK
101=12618,H,3166,23,S2,8PSK
102=12620,V,3750,56,S2,8PSK
103=12623,H,4936,34,S2,8PSK
104=12624,V,1650,56,S2,8PSK
105=12626,V,1650,56,S2,8PSK
106=12628,V,1650,56,S2,8PSK
107=12633,V,4883,12,DVB-S,QPSK
108=12644,V,13200,34,S2,QPSK
109=12654,H,11111,23,DVB-S,QPSK
110=12656,V,4883,12,DVB-S,QPSK
111=12676,H,4248,34,DVB-S,QPSK
112=12677,V,2400,34,S2,8PSK
113=12680,V,2400,34,S2,8PSK
114=12683,V,2400,34,S2,8PSK
115=12686,V,2400,34,S2,8PSK
116=12689,V,2400,34,S2,8PSK
117=12692,V,2400,34,S2,8PSK
118=12695,V,2400,34,S2,8PSK
119=12698,V,2400,34,S2,8PSK
120=12699,H,9880,12,DVB-S,QPSK
121=12701,V,2400,34,S2,8PSK
122=12704,V,2400,34,S2,8PSK
123=12707,V,2400,34,S2,8PSK
124=12710,H,5165,35,S2,8PSK
125=12710,V,2400,34,S2,8PSK
126=12713,V,2400,34,S2,8PSK
127=12717,H,4936,34,S2,8PSK
128=12717,V,2400,34,S2,8PSK
129=12720,V,2400,34,S2,8PSK
130=12723,V,2400,34,S2,8PSK
131=12723,H,4936,34,S2,8PSK
132=12728,V,2400,34,S2,8PSK
133=12737,V,2400,34,S2,8PSK
134=12738,H,4500,34,DVB-S,QPSK
135=21537,H,1070,34,S2,8PSK
136=21538,H,1054,34,S2,8PSK
137=21540,H,1071,34,S2,8PSK
138=21541,H,1071,34,S2,8PSK
139=21545,H,2143,56,S2,8PSK
140=21550,H,1054,34,S2,8PSK
141=21551,H,1060,23,DVB-S,QPSK
142=21559,H,1071,34,S2,8PSK
143=21560,H,1010,23,S2,8PSK
144=21562,H,1010,23,S2,8PSK
145=21563,H,1250,23,S2,8PSK
146=21569,H,1071,34,S2,8PSK
147=21571,H,2900,56,S2,8PSK

View File

@@ -1,60 +0,0 @@
; file generated on saturday, 22nd of august 2015, 19:35:09 [GMT]
; by online transponder .ini generator @ http://satellites-xml.eu
; please let us know if you find any inconsistencies in this file
[SATTYPE]
1=0170
2=Amos 5 (17.0E)
[DVB]
0=51
1=3538,V,4444,34,DVB-S,QPSK
2=3547,V,7200,34,S2,8PSK
3=3553,V,1285,56,S2,8PSK
4=3617,V,1167,23,S2,8PSK
5=3620,V,1000,34,S2,8PSK
6=3622,V,1000,23,S2,8PSK
7=3626,V,2000,34,DVB-S,QPSK
8=3626,H,1200,23,DVB-S,QPSK
9=3665,H,3300,78,DVB-S,QPSK
10=3685,V,1924,78,DVB-S,QPSK
11=3688,V,2000,34,DVB-S,QPSK
12=3728,H,3300,78,DVB-S,QPSK
13=3731,H,2500,56,S2,8PSK
14=3757,V,3300,78,DVB-S,QPSK
15=3785,V,1168,34,DVB-S,QPSK
16=3802,V,1666,34,S2,8PSK
17=3828,V,1250,23,S2,8PSK
18=3830,V,1480,56,S2,QPSK
19=3852,V,1000,56,S2,QPSK
20=4066,V,1000,23,S2,8PSK
21=4119,V,7200,34,DVB-S,QPSK
22=4125,V,2170,34,DVB-S,QPSK
23=4130,V,6850,35,S2,8PSK
24=4136,V,2500,23,S2,8PSK
25=4139,V,1000,34,S2,8PSK
26=4141,V,1550,34,S2,8PSK
27=4142,V,1000,23,S2,8PSK
28=4144,V,1334,56,DVB-S,QPSK
29=4160,V,4166,56,DVB-S,QPSK
30=10961,V,2200,12,S2,QPSK
31=10983,V,3333,56,DVB-S,QPSK
32=11038,V,1760,34,S2,QPSK
33=11041,V,1594,34,S2,QPSK
34=11057,V,4273,12,S2,QPSK
35=11062,V,1250,34,S2,QPSK
36=11064,V,1244,34,S2,QPSK
37=11087,V,1245,34,S2,QPSK
38=11092,V,1244,34,DVB-S,QPSK
39=11139,V,30000,Auto,S2,QPSK
40=11761,V,15000,34,S2,QPSK
41=11801,V,30000,23,S2,QPSK
42=11884,V,27500,34,DVB-S,QPSK
43=11967,V,30000,34,S2,QPSK
44=12004,V,30000,34,S2,QPSK
45=12035,H,4000,Auto,S2,8PSK
46=12068,V,45000,56,S2,QPSK
47=12208,H,17666,45,S2,QPSK
48=12260,V,17666,45,S2,QPSK
49=12335,V,27500,34,DVB-S,QPSK
50=12384,V,30000,34,S2,QPSK
51=12418,V,30000,23,S2,8PSK

View File

@@ -1,127 +0,0 @@
; file generated on saturday, 22nd of august 2015, 19:35:09 [GMT]
; by online transponder .ini generator @ http://satellites-xml.eu
; please let us know if you find any inconsistencies in this file
[SATTYPE]
1=0192
2=Astra 1KR/1L/1M/1N (19.2E)
[DVB]
0=118
1=10729,V,22000,23,S2,8PSK
2=10744,H,22000,56,DVB-S,QPSK
3=10758,V,22000,56,DVB-S,QPSK
4=10773,H,22000,34,S2,8PSK
5=10788,V,22000,56,DVB-S,QPSK
6=10803,H,22000,34,S2,8PSK
7=10818,V,22000,23,S2,8PSK
8=10832,H,22000,23,S2,8PSK
9=10847,V,22000,56,DVB-S,QPSK
10=10862,H,22000,23,S2,8PSK
11=10876,V,22000,56,DVB-S,QPSK
12=10891,H,22000,23,S2,8PSK
13=10906,V,22000,23,S2,8PSK
14=10921,H,22000,78,DVB-S,QPSK
15=10936,V,22000,23,S2,8PSK
16=10964,H,22000,23,S2,8PSK
17=10979,V,22000,56,DVB-S,QPSK
18=10994,H,22000,910,S2,QPSK
19=11023,H,23500,34,S2,8PSK
20=11038,V,22000,56,DVB-S,QPSK
21=11053,H,22000,23,S2,8PSK
22=11068,V,22000,56,DVB-S,QPSK
23=11082,H,22000,34,S2,8PSK
24=11097,V,22000,56,DVB-S,QPSK
25=11112,H,22000,23,S2,8PSK
26=11127,V,22000,23,S2,8PSK
27=11156,V,22000,56,DVB-S,QPSK
28=11171,H,22000,34,S2,8PSK
29=11186,V,22000,56,DVB-S,QPSK
30=11229,V,22000,23,S2,8PSK
31=11244,H,22000,56,DVB-S,QPSK
32=11259,V,22000,23,S2,8PSK
33=11273,H,22000,23,S2,8PSK
34=11288,V,22000,23,S2,8PSK
35=11303,H,22000,23,S2,8PSK
36=11318,V,22000,56,DVB-S,QPSK
37=11332,H,22000,34,S2,8PSK
38=11347,V,22000,23,S2,8PSK
39=11362,H,22000,23,S2,8PSK
40=11377,V,22000,23,S2,8PSK
41=11391,H,22000,56,DVB-S,QPSK
42=11421,H,22000,56,DVB-S,QPSK
43=11436,V,22000,23,S2,8PSK
44=11464,H,22000,23,S2,8PSK
45=11494,H,22000,23,S2,8PSK
46=11509,V,22000,56,DVB-S,QPSK
47=11523,H,22000,56,DVB-S,QPSK
48=11538,V,22000,56,DVB-S,QPSK
49=11553,H,22000,34,S2,8PSK
50=11568,V,22000,23,S2,8PSK
51=11582,H,22000,23,S2,8PSK
52=11597,V,22000,56,DVB-S,QPSK
53=11612,H,22000,56,DVB-S,QPSK
54=11627,V,22000,56,DVB-S,QPSK
55=11641,H,22000,56,DVB-S,QPSK
56=11671,H,22000,23,S2,8PSK
57=11686,V,22000,56,DVB-S,QPSK
58=11720,H,27500,34,DVB-S,QPSK
59=11739,V,27500,34,DVB-S,QPSK
60=11758,H,27500,34,DVB-S,QPSK
61=11778,V,27500,34,DVB-S,QPSK
62=11798,H,27500,34,DVB-S,QPSK
63=11817,V,29700,56,S2,QPSK
64=11836,H,27500,34,DVB-S,QPSK
65=11856,V,27500,34,DVB-S,QPSK
66=11876,H,27500,34,S2,8PSK
67=11914,H,27500,910,S2,QPSK
68=11934,V,27500,34,DVB-S,QPSK
69=11954,H,27500,34,DVB-S,QPSK
70=11973,V,27500,34,DVB-S,QPSK
71=11992,H,27500,910,S2,QPSK
72=12012,V,29700,56,S2,QPSK
73=12032,H,27500,34,DVB-S,QPSK
74=12051,V,27500,34,DVB-S,QPSK
75=12070,H,27500,34,DVB-S,QPSK
76=12090,V,29700,56,S2,QPSK
77=12110,H,27500,34,DVB-S,QPSK
78=12129,V,29700,56,S2,QPSK
79=12148,H,27500,34,DVB-S,QPSK
80=12168,V,29700,56,S2,QPSK
81=12188,H,27500,34,DVB-S,QPSK
82=12207,V,29700,56,S2,QPSK
83=12226,H,27500,34,DVB-S,QPSK
84=12246,V,29700,56,S2,QPSK
85=12266,H,27500,34,DVB-S,QPSK
86=12285,V,29700,23,S2,8PSK
87=12304,H,27500,910,S2,QPSK
88=12324,V,29700,56,S2,QPSK
89=12363,V,27500,34,DVB-S,QPSK
90=12382,H,27500,910,S2,QPSK
91=12402,V,27500,34,DVB-S,QPSK
92=12422,H,27500,34,DVB-S,QPSK
93=12441,V,29700,56,S2,QPSK
94=12460,H,27500,34,DVB-S,QPSK
95=12480,V,27500,34,DVB-S,QPSK
96=12515,H,22000,56,DVB-S,QPSK
97=12522,V,22000,23,S2,8PSK
98=12545,H,22000,56,DVB-S,QPSK
99=12552,V,22000,56,DVB-S,QPSK
100=12574,H,22000,23,S2,8PSK
101=12581,V,22000,23,S2,8PSK
102=12604,H,22000,56,DVB-S,QPSK
103=12610,V,22000,23,S2,8PSK
104=12633,H,22000,56,DVB-S,QPSK
105=12640,V,22000,23,S2,8PSK
106=12663,H,22000,56,DVB-S,QPSK
107=12670,V,22000,23,S2,8PSK
108=12692,H,22000,56,DVB-S,QPSK
109=12699,V,22000,56,DVB-S,QPSK
110=12722,H,23500,23,S2,8PSK
111=12728,V,22000,56,DVB-S,QPSK
112=18366,V,15000,12,S2,QPSK
113=18515,V,3630,23,S2,8PSK
114=18538,V,3344,34,S2,8PSK
115=18556,V,3630,23,S2,8PSK
116=18754,H,4500,34,DVB-S,QPSK
117=18760,H,5500,23,S2,8PSK
118=18766,H,3110,12,S2,8PSK

View File

@@ -1,19 +0,0 @@
; file generated on saturday, 22nd of august 2015, 19:35:09 [GMT]
; by online transponder .ini generator @ http://satellites-xml.eu
; please let us know if you find any inconsistencies in this file
[SATTYPE]
1=0200
2=Arabsat 5C (20.0E)
[DVB]
0=10
1=3710,V,2600,34,DVB-S,QPSK
2=3714,V,2600,34,DVB-S,QPSK
3=3720,V,6660,34,DVB-S,QPSK
4=3796,H,1850,34,DVB-S,QPSK
5=3884,V,27500,56,DVB-S,QPSK
6=3934,H,27500,78,DVB-S,QPSK
7=4004,V,27500,34,DVB-S,QPSK
8=4054,H,27500,34,DVB-S,QPSK
9=4110,V,3889,78,DVB-S,QPSK
10=4114,V,2988,34,DVB-S,QPSK

View File

@@ -1,103 +0,0 @@
; file generated on saturday, 22nd of august 2015, 19:35:09 [GMT]
; by online transponder .ini generator @ http://satellites-xml.eu
; please let us know if you find any inconsistencies in this file
[SATTYPE]
1=0215
2=Eutelsat 21B (21.5E)
[DVB]
0=94
1=10955,H,3220,56,DVB-S,QPSK
2=10958,H,2590,34,DVB-S,QPSK
3=10966,H,2590,34,DVB-S,QPSK
4=10970,H,2500,34,DVB-S,QPSK
5=10975,H,2200,56,S2,8PSK
6=10978,V,2170,34,DVB-S,QPSK
7=10986,H,2150,34,DVB-S,QPSK
8=10992,H,3220,56,S2,8PSK
9=10995,H,2667,34,DVB-S,QPSK
10=10998,V,8888,34,DVB-S,QPSK
11=10999,H,3590,34,S2,8PSK
12=11003,H,2222,34,DVB-S,QPSK
13=11006,H,2592,56,DVB-S,QPSK
14=11009,H,2170,78,DVB-S,QPSK
15=11010,V,10000,34,S2,8PSK
16=11012,H,2667,34,DVB-S,QPSK
17=11015,H,2667,34,DVB-S,QPSK
18=11027,H,2200,34,S2,QPSK
19=11036,H,2100,34,DVB-S,QPSK
20=11038,V,2000,34,DVB-S,QPSK
21=11040,H,3600,34,DVB-S,QPSK
22=11061,V,2000,34,DVB-S,QPSK
23=11082,V,7400,23,S2,8PSK
24=11093,V,10000,34,S2,8PSK
25=11110,H,2667,34,DVB-S,QPSK
26=11128,H,10450,45,S2,QPSK
27=11190,V,6666,23,DVB-S,QPSK
28=11341,H,26460,23,S2,8PSK
29=11464,H,2590,34,DVB-S,QPSK
30=11468,H,1317,56,S2,8PSK
31=11470,H,2000,34,DVB-S,QPSK
32=11473,H,1900,56,S2,8PSK
33=11475,V,2100,34,DVB-S,QPSK
34=11476,H,2857,34,DVB-S,QPSK
35=11479,H,3184,34,DVB-S,QPSK
36=11480,V,2970,34,DVB-S,QPSK
37=11482,H,2856,34,DVB-S,QPSK
38=11483,V,3000,34,DVB-S,QPSK
39=11487,H,2700,56,DVB-S,QPSK
40=11488,V,2150,34,DVB-S,QPSK
41=11490,V,2220,34,DVB-S,QPSK
42=11497,V,2170,34,DVB-S,QPSK
43=11503,V,3300,34,DVB-S,QPSK
44=11508,V,3300,34,DVB-S,QPSK
45=11517,H,3333,56,S2,8PSK
46=11519,V,1500,56,S2,8PSK
47=11521,H,3300,34,DVB-S,QPSK
48=11526,H,2200,56,DVB-S,QPSK
49=11530,H,2200,34,DVB-S,QPSK
50=11532,V,2857,34,DVB-S,QPSK
51=11537,V,2755,34,DVB-S,QPSK
52=11541,V,6534,45,S2,QPSK
53=11546,V,2592,34,DVB-S,QPSK
54=11550,V,2142,34,DVB-S,QPSK
55=11557,H,3000,23,S2,8PSK
56=11558,V,1650,34,S2,8PSK
57=11564,V,7214,34,S2,8PSK
58=11574,V,2300,56,S2,8PSK
59=11578,V,3300,34,DVB-S,QPSK
60=11581,H,5000,34,DVB-S,QPSK
61=11582,V,2850,78,DVB-S,QPSK
62=11585,V,1600,34,DVB-S,QPSK
63=11588,H,5000,34,DVB-S,QPSK
64=11590,V,2856,78,DVB-S,QPSK
65=11593,V,1500,34,S2,8PSK
66=11596,H,5000,34,DVB-S,QPSK
67=11610,H,6200,78,DVB-S,QPSK
68=11619,V,12500,23,DVB-S,QPSK
69=11627,H,4260,56,S2,8PSK
70=11633,H,4260,56,S2,8PSK
71=11639,H,4260,56,S2,8PSK
72=11645,V,1600,45,S2,8PSK
73=11649,V,1600,34,S2,8PSK
74=11653,V,1600,34,S2,8PSK
75=11659,V,2850,78,DVB-S,QPSK
76=11663,H,3220,56,S2,8PSK
77=11665,V,2850,34,S2,8PSK
78=11673,V,2000,34,DVB-S,QPSK
79=11676,H,2150,34,DVB-S,QPSK
80=11678,V,2850,78,DVB-S,QPSK
81=11681,H,2963,34,DVB-S,QPSK
82=11684,V,2100,34,S2,8PSK
83=11686,H,1800,34,DVB-S,QPSK
84=11689,H,1500,34,DVB-S,QPSK
85=11691,V,1447,34,DVB-S,QPSK
86=11693,H,1500,34,S2,8PSK
87=11697,H,2500,34,DVB-S,QPSK
88=12508,H,3300,34,DVB-S,QPSK
89=12516,H,2200,34,DVB-S,QPSK
90=12521,H,2857,34,DVB-S,QPSK
91=12532,H,2220,34,DVB-S,QPSK
92=12536,H,2200,34,DVB-S,QPSK
93=12591,V,3124,34,DVB-S,QPSK
94=12622,V,3124,34,DVB-S,QPSK

View File

@@ -1,127 +0,0 @@
; file generated on saturday, 22nd of august 2015, 19:35:09 [GMT]
; by online transponder .ini generator @ http://satellites-xml.eu
; please let us know if you find any inconsistencies in this file
[SATTYPE]
1=0235
2=Astra 3B (23.5E)
[DVB]
0=118
1=11459,V,6666,78,DVB-S,QPSK
2=11460,H,7200,34,S2,QPSK
3=11469,H,3214,34,S2,8PSK
4=11470,V,7500,34,S2,8PSK
5=11476,V,3703,34,DVB-S,QPSK
6=11479,H,4444,34,DVB-S,QPSK
7=11484,V,4444,34,DVB-S,QPSK
8=11490,V,3250,34,DVB-S,QPSK
9=11490,H,3300,56,S2,8PSK
10=11496,V,2170,Auto,DVB-S,QPSK
11=11501,H,7200,56,S2,8PSK
12=11501,V,3750,89,S2,8PSK
13=11506,H,4800,34,S2,8PSK
14=11508,V,3600,34,S2,QPSK
15=11512,V,4800,34,S2,QPSK
16=11516,H,4444,34,DVB-S,QPSK
17=11516,V,3600,34,S2,QPSK
18=11521,H,3630,23,S2,8PSK
19=11527,H,7200,34,S2,QPSK
20=11530,V,4800,34,S2,8PSK
21=11532,H,3333,34,DVB-S,QPSK
22=11579,H,4333,78,DVB-S,QPSK
23=11583,V,10000,56,S2,8PSK
24=11591,H,7500,34,S2,8PSK
25=11597,V,4500,78,DVB-S,QPSK
26=11599,H,4800,56,S2,8PSK
27=11608,H,7200,34,S2,8PSK
28=11619,V,3750,23,S2,8PSK
29=11620,H,7200,34,S2,8PSK
30=11622,V,2333,56,S2,QPSK
31=11625,V,2333,56,S2,QPSK
32=11628,V,2333,56,S2,QPSK
33=11630,H,6666,78,DVB-S,QPSK
34=11631,V,2333,56,S2,QPSK
35=11634,V,2333,56,S2,QPSK
36=11636,H,3630,23,S2,8PSK
37=11642,V,2333,910,S2,8PSK
38=11648,H,6666,78,DVB-S,QPSK
39=11650,V,4610,34,S2,8PSK
40=11658,V,2333,56,S2,QPSK
41=11663,V,4666,56,S2,QPSK
42=11668,V,3656,34,S2,8PSK
43=11671,H,4444,34,DVB-S,QPSK
44=11672,V,3656,34,S2,8PSK
45=11676,V,1410,45,S2,QPSK
46=11678,V,1024,23,S2,8PSK
47=11679,H,6111,34,S2,8PSK
48=11679,V,1024,23,S2,8PSK
49=11680,V,1024,23,S2,8PSK
50=11683,V,2734,56,DVB-S,QPSK
51=11686,V,2750,34,S2,8PSK
52=11720,H,28200,56,S2,8PSK
53=11739,V,27500,23,S2,8PSK
54=11758,H,30000,Auto,S2,QPSK
55=11778,V,27500,910,S2,QPSK
56=11798,H,29500,34,S2,8PSK
57=11836,H,27500,56,DVB-S,QPSK
58=11856,V,27500,23,S2,8PSK
59=11876,H,29900,34,S2,8PSK
60=11895,V,27500,56,DVB-S,QPSK
61=11914,H,29900,23,S2,8PSK
62=11934,V,27500,34,S2,8PSK
63=11973,V,27500,56,DVB-S,QPSK
64=12032,H,27500,910,S2,QPSK
65=12070,H,27500,34,DVB-S,QPSK
66=12110,H,27500,34,S2,8PSK
67=12129,V,27500,23,S2,8PSK
68=12148,H,27500,56,S2,8PSK
69=12168,V,27500,34,DVB-S,QPSK
70=12188,H,27500,23,S2,8PSK
71=12207,V,27500,56,S2,8PSK
72=12304,H,27500,56,S2,8PSK
73=12344,H,27500,56,S2,8PSK
74=12363,V,29500,34,S2,8PSK
75=12382,H,30000,89,S2,8PSK
76=12402,V,30000,34,S2,8PSK
77=12525,H,27500,56,S2,8PSK
78=12525,V,27500,34,DVB-S,QPSK
79=12550,V,1663,56,S2,8PSK
80=12550,H,14400,34,S2,8PSK
81=12554,V,1666,56,S2,8PSK
82=12562,V,4937,34,S2,8PSK
83=12568,V,4937,34,S2,8PSK
84=12572,V,3300,78,DVB-S,QPSK
85=12576,V,3300,78,DVB-S,QPSK
86=12580,V,4937,34,S2,8PSK
87=12591,H,7200,34,S2,8PSK
88=12593,V,9600,34,S2,8PSK
89=12601,H,6666,78,DVB-S,QPSK
90=12608,V,4800,34,S2,8PSK
91=12609,H,6666,78,DVB-S,QPSK
92=12614,V,5000,56,S2,8PSK
93=12621,H,4936,34,S2,8PSK
94=12621,V,3750,34,S2,8PSK
95=12631,H,7200,34,S2,8PSK
96=12636,V,5000,34,S2,8PSK
97=12652,V,3333,34,S2,8PSK
98=12656,V,3600,34,S2,8PSK
99=12658,H,7200,34,S2,8PSK
100=12661,V,3600,34,S2,8PSK
101=12671,H,6666,78,DVB-S,QPSK
102=12674,V,3600,34,S2,8PSK
103=12677,V,2200,34,S2,8PSK
104=12680,V,2400,56,S2,8PSK
105=12680,H,6666,78,DVB-S,QPSK
106=12683,V,2400,56,S2,8PSK
107=12687,V,2400,56,S2,8PSK
108=12690,H,7200,34,S2,8PSK
109=12692,V,4800,34,S2,8PSK
110=12697,V,4800,34,S2,8PSK
111=12699,H,6666,78,S2,8PSK
112=12710,V,4800,34,S2,8PSK
113=12717,V,4800,34,S2,QPSK
114=12723,V,4800,34,S2,QPSK
115=12725,H,30000,89,S2,8PSK
116=12730,V,3600,34,S2,QPSK
117=12735,V,3600,34,S2,QPSK
118=12740,V,2400,34,S2,8PSK

View File

@@ -1,19 +0,0 @@
; file generated on saturday, 22nd of august 2015, 19:35:09 [GMT]
; by online transponder .ini generator @ http://satellites-xml.eu
; please let us know if you find any inconsistencies in this file
[SATTYPE]
1=0255
2=Eutelsat 25B/Es'hail 1 (25.5E)
[DVB]
0=10
1=11046,H,27500,34,DVB-S,QPSK
2=11142,V,27500,34,DVB-S,QPSK
3=11547,V,27500,23,S2,8PSK
4=11566,H,27500,34,DVB-S,8PSK
5=11585,V,27500,23,S2,8PSK
6=11604,H,27500,34,DVB-S,QPSK
7=11623,V,27500,23,S2,8PSK
8=11642,H,27500,23,S2,8PSK
9=11678,H,27500,56,DVB-S,QPSK
10=21421,V,27500,34,DVB-S,QPSK

View File

@@ -1,107 +0,0 @@
; file generated on saturday, 22nd of august 2015, 19:35:09 [GMT]
; by online transponder .ini generator @ http://satellites-xml.eu
; please let us know if you find any inconsistencies in this file
[SATTYPE]
1=0260
2=Badr 4/5/6 (26.0E)
[DVB]
0=98
1=3958,V,12000,34,DVB-S,QPSK
2=10730,H,27500,34,DVB-S,QPSK
3=10730,V,27500,34,S2,8PSK
4=10770,H,27500,34,DVB-S,QPSK
5=10810,H,27500,34,DVB-S,QPSK
6=10810,V,27500,12,S2,8PSK
7=10850,H,27500,56,DVB-S,QPSK
8=10850,V,27500,34,DVB-S,QPSK
9=10890,H,27500,34,S2,8PSK
10=10890,V,27500,34,S2,8PSK
11=10930,H,27500,34,DVB-S,QPSK
12=10930,V,27500,34,S2,8PSK
13=11228,V,27500,34,DVB-S,QPSK
14=11557,H,2960,34,DVB-S,QPSK
15=11563,H,1500,34,DVB-S,QPSK
16=11727,H,27500,Auto,S2,8PSK
17=11747,V,27500,34,DVB-S,QPSK
18=11785,V,27500,34,DVB-S,QPSK
19=11804,H,27500,34,DVB-S,QPSK
20=11823,V,27500,12,S2,8PSK
21=11843,H,27500,34,DVB-S,QPSK
22=11862,V,27500,34,DVB-S,QPSK
23=11881,H,27500,56,S2,8PSK
24=11900,V,27500,34,DVB-S,QPSK
25=11919,H,27500,34,DVB-S,QPSK
26=11938,V,27500,34,DVB-S,QPSK
27=11958,H,27500,34,DVB-S,QPSK
28=11996,H,27500,34,DVB-S,QPSK
29=12015,V,27500,34,DVB-S,QPSK
30=12034,H,27500,34,DVB-S,QPSK
31=12054,V,27500,34,DVB-S,QPSK
32=12073,H,27500,34,DVB-S,QPSK
33=12092,V,27500,34,DVB-S,QPSK
34=12111,H,27500,34,DVB-S,QPSK
35=12130,V,27500,34,DVB-S,QPSK
36=12149,H,30000,56,S2,QPSK
37=12169,V,22000,34,S2,QPSK
38=12182,H,16200,34,DVB-S,QPSK
39=12207,V,27500,34,DVB-S,QPSK
40=12226,H,27500,34,DVB-S,QPSK
41=12245,V,27500,56,S2,QPSK
42=12265,H,27500,56,S2,QPSK
43=12284,V,27500,34,DVB-S,QPSK
44=12303,H,27500,34,DVB-S,QPSK
45=12322,V,27500,34,DVB-S,QPSK
46=12360,V,27500,34,DVB-S,QPSK
47=12399,V,27500,34,S2,8PSK
48=12418,H,27500,34,S2,8PSK
49=12437,V,27500,34,DVB-S,QPSK
50=12456,H,27500,34,DVB-S,QPSK
51=12476,V,27500,34,DVB-S,QPSK
52=12523,H,27500,34,DVB-S,QPSK
53=12547,H,2000,34,DVB-S,QPSK
54=12550,H,2950,34,DVB-S,QPSK
55=12550,V,7000,56,S2,8PSK
56=12558,V,7000,56,S2,8PSK
57=12559,H,2220,34,DVB-S,QPSK
58=12562,H,2220,34,DVB-S,QPSK
59=12565,H,2220,34,DVB-S,QPSK
60=12567,V,2200,34,DVB-S,QPSK
61=12568,H,1850,34,DVB-S,QPSK
62=12570,V,2200,34,DVB-S,QPSK
63=12570,H,1820,34,DVB-S,QPSK
64=12575,H,2200,56,DVB-S,QPSK
65=12576,V,7000,56,S2,8PSK
66=12579,H,2100,34,DVB-S,QPSK
67=12586,V,2220,34,DVB-S,QPSK
68=12587,H,2000,34,DVB-S,QPSK
69=12591,H,2200,34,DVB-S,QPSK
70=12591,V,2200,34,DVB-S,QPSK
71=12594,H,2200,34,DVB-S,QPSK
72=12600,V,7000,56,S2,QPSK
73=12602,H,2960,56,DVB-S,QPSK
74=12605,V,2220,34,DVB-S,QPSK
75=12607,H,3000,34,DVB-S,QPSK
76=12608,V,1820,34,DVB-S,QPSK
77=12611,V,2220,34,DVB-S,QPSK
78=12618,H,2220,34,DVB-S,QPSK
79=12620,V,2200,34,DVB-S,QPSK
80=12644,V,1850,34,DVB-S,QPSK
81=12647,H,2950,34,DVB-S,QPSK
82=12647,V,1595,34,S2,8PSK
83=12656,H,2892,34,DVB-S,QPSK
84=12666,H,2400,34,DVB-S,QPSK
85=12672,H,4440,34,DVB-S,QPSK
86=12679,H,2220,78,DVB-S,QPSK
87=12683,V,27500,34,DVB-S,QPSK
88=12705,H,2220,56,DVB-S,QPSK
89=12708,H,2220,56,DVB-S,QPSK
90=12711,H,2220,34,DVB-S,8PSK
91=12711,V,5632,34,DVB-S,QPSK
92=12717,V,2143,56,DVB-S,QPSK
93=12718,H,3000,56,DVB-S,QPSK
94=12722,H,3000,56,DVB-S,QPSK
95=12729,H,2200,34,DVB-S,QPSK
96=12734,H,3000,34,DVB-S,QPSK
97=12736,V,5632,34,DVB-S,QPSK
98=12740,H,2200,34,DVB-S,QPSK

View File

@@ -1,101 +0,0 @@
; file generated on saturday, 22nd of august 2015, 19:35:09 [GMT]
; by online transponder .ini generator @ http://satellites-xml.eu
; please let us know if you find any inconsistencies in this file
[SATTYPE]
1=0282
2=Astra 2E/2F/2G (28.2E)
[DVB]
0=92
1=10714,H,22000,56,DVB-S,QPSK
2=10729,V,22000,56,DVB-S,QPSK
3=10744,H,22000,56,DVB-S,QPSK
4=10758,V,22000,56,DVB-S,QPSK
5=10773,H,22000,56,DVB-S,QPSK
6=10788,V,22000,56,DVB-S,QPSK
7=10803,H,22000,56,DVB-S,QPSK
8=10818,V,22000,56,DVB-S,QPSK
9=10832,H,22000,56,DVB-S,QPSK
10=10847,V,23000,23,S2,8PSK
11=10862,H,23000,23,S2,8PSK
12=10876,V,22000,56,DVB-S,QPSK
13=10891,H,22000,56,DVB-S,QPSK
14=10906,V,22000,56,DVB-S,QPSK
15=10936,V,23000,23,S2,8PSK
16=10964,H,22000,56,DVB-S,QPSK
17=10994,H,22000,56,DVB-S,QPSK
18=11023,H,23000,23,S2,8PSK
19=11053,H,23000,34,S2,8PSK
20=11068,V,23000,23,S2,8PSK
21=11082,H,22000,56,DVB-S,QPSK
22=11097,V,23000,23,S2,8PSK
23=11112,H,22000,56,DVB-S,QPSK
24=11126,V,22000,56,DVB-S,QPSK
25=11141,H,22000,56,DVB-S,QPSK
26=11171,H,22000,56,DVB-S,QPSK
27=11224,H,27500,23,DVB-S,QPSK
28=11224,V,27500,23,DVB-S,QPSK
29=11264,V,27500,23,DVB-S,QPSK
30=11264,H,27500,23,DVB-S,QPSK
31=11306,V,27500,23,DVB-S,QPSK
32=11306,H,27500,23,DVB-S,QPSK
33=11344,V,27500,23,DVB-S,QPSK
34=11344,H,27500,23,DVB-S,QPSK
35=11386,V,27500,23,DVB-S,QPSK
36=11386,H,27500,23,DVB-S,QPSK
37=11426,H,27500,23,DVB-S,QPSK
38=11426,V,27500,23,DVB-S,QPSK
39=11464,H,22000,56,DVB-S,QPSK
40=11479,V,22000,56,DVB-S,QPSK
41=11509,V,22000,56,DVB-S,QPSK
42=11523,H,22000,56,DVB-S,QPSK
43=11538,V,23000,23,S2,8PSK
44=11553,H,22000,56,DVB-S,QPSK
45=11568,V,22000,56,DVB-S,QPSK
46=11582,H,22000,56,DVB-S,QPSK
47=11597,V,22000,56,DVB-S,QPSK
48=11618,V,1562,56,S2,QPSK
49=11671,H,22000,56,DVB-S,QPSK
50=11675,H,30000,56,S2,QPSK
51=11686,V,22000,56,DVB-S,QPSK
52=11720,H,29500,34,S2,QPSK
53=11739,V,29500,34,S2,QPSK
54=11758,H,29500,34,S2,QPSK
55=11798,H,29500,34,S2,QPSK
56=11817,V,27500,23,DVB-S,QPSK
57=11836,H,27500,56,DVB-S,QPSK
58=11856,V,29500,34,S2,QPSK
59=11876,H,27500,23,DVB-S,QPSK
60=11895,V,27500,23,DVB-S,QPSK
61=11914,H,27500,56,DVB-S,QPSK
62=11934,V,27500,56,DVB-S,QPSK
63=11954,H,27500,23,DVB-S,QPSK
64=11973,V,29500,34,S2,QPSK
65=11992,H,27500,23,DVB-S,QPSK
66=12012,V,29500,34,S2,QPSK
67=12051,V,27500,23,DVB-S,QPSK
68=12070,H,27500,56,DVB-S,QPSK
69=12090,V,29500,34,S2,QPSK
70=12110,H,27500,56,DVB-S,QPSK
71=12148,H,27500,56,DVB-S,QPSK
72=12168,V,29500,34,S2,QPSK
73=12188,H,27500,56,DVB-S,QPSK
74=12207,V,27500,56,DVB-S,QPSK
75=12226,H,29500,34,S2,QPSK
76=12246,V,29500,34,S2,QPSK
77=12266,H,27500,56,DVB-S,QPSK
78=12285,V,27500,23,DVB-S,QPSK
79=12324,V,29500,34,S2,QPSK
80=12344,H,29500,34,S2,QPSK
81=12363,V,29500,34,S2,QPSK
82=12441,V,29500,34,S2,QPSK
83=12460,H,29500,34,S2,QPSK
84=12480,V,27500,23,DVB-S,QPSK
85=12522,V,27000,Auto,DVB-S,QPSK
86=12573,H,6960,23,S2,QPSK
87=12581,V,7200,34,S2,8PSK
88=12582,H,6960,23,S2,QPSK
89=12603,V,3095,Auto,S2,QPSK
90=12683,H,6960,23,S2,8PSK
91=12692,H,6960,23,S2,8PSK
92=12699,H,4640,23,S2,8PSK

View File

@@ -1,96 +0,0 @@
; file generated on saturday, 22nd of august 2015, 19:35:09 [GMT]
; by online transponder .ini generator @ http://satellites-xml.eu
; please let us know if you find any inconsistencies in this file
[SATTYPE]
1=0305
2=Arabsat 5A (30.5E)
[DVB]
0=87
1=3770,V,2200,34,DVB-S,QPSK
2=3820,V,2848,34,DVB-S,QPSK
3=3880,V,3888,78,DVB-S,QPSK
4=3884,V,3888,78,DVB-S,QPSK
5=3888,V,3888,78,DVB-S,QPSK
6=3947,V,2200,34,DVB-S,QPSK
7=3951,V,2220,34,DVB-S,QPSK
8=4061,V,1615,78,DVB-S,QPSK
9=4126,V,2892,34,DVB-S,QPSK
10=10717,H,2069,23,S2,8PSK
11=10721,H,4300,23,S2,8PSK
12=10727,H,4300,23,DVB-S,QPSK
13=10744,H,4300,23,DVB-S,QPSK
14=10749,H,3125,Auto,DVB-S,QPSK
15=10757,H,2220,34,DVB-S,QPSK
16=10760,H,2050,23,S2,8PSK
17=10765,H,1950,34,S2,QPSK
18=10770,H,1650,23,S2,8PSK
19=10777,H,2960,34,DVB-S,QPSK
20=10782,H,2960,34,DVB-S,QPSK
21=10797,H,8000,56,S2,8PSK
22=10805,H,3885,56,DVB-S,QPSK
23=10816,H,8000,56,DVB-S,QPSK
24=10827,H,5800,34,DVB-S,QPSK
25=10832,V,2780,56,DVB-S,QPSK
26=10858,V,2960,34,DVB-S,QPSK
27=10924,H,17000,34,DVB-S,QPSK
28=10940,H,8000,56,DVB-S,QPSK
29=10946,H,2400,78,DVB-S,QPSK
30=12503,V,2220,34,DVB-S,QPSK
31=12506,V,2220,34,DVB-S,QPSK
32=12507,H,2220,34,DVB-S,QPSK
33=12509,V,2222,34,DVB-S,QPSK
34=12511,V,2200,34,DVB-S,QPSK
35=12514,V,2220,34,DVB-S,QPSK
36=12516,H,2230,34,DVB-S,QPSK
37=12523,V,6000,Auto,DVB-S,QPSK
38=12533,V,3890,34,DVB-S,QPSK
39=12538,V,2690,34,DVB-S,QPSK
40=12539,H,2960,34,DVB-S,QPSK
41=12543,V,2410,34,S2,8PSK
42=12559,H,2963,34,DVB-S,QPSK
43=12568,H,2960,Auto,DVB-S,QPSK
44=12576,H,1613,Auto,S2,QPSK
45=12588,H,3000,34,DVB-S,QPSK
46=12593,H,2960,34,DVB-S,QPSK
47=12596,H,2220,34,DVB-S,QPSK
48=12596,V,1800,78,DVB-S,QPSK
49=12603,V,3300,34,DVB-S,QPSK
50=12607,V,2590,56,DVB-S,QPSK
51=12608,H,2200,34,DVB-S,QPSK
52=12610,V,2970,34,DVB-S,QPSK
53=12611,H,3000,34,DVB-S,QPSK
54=12614,H,2200,34,DVB-S,QPSK
55=12614,V,3820,89,S2,QPSK
56=12618,H,2960,34,DVB-S,QPSK
57=12621,V,3800,34,S2,8PSK
58=12624,V,2220,34,DVB-S,QPSK
59=12630,V,2893,34,DVB-S,QPSK
60=12634,V,2893,34,DVB-S,QPSK
61=12638,V,2894,34,DVB-S,QPSK
62=12641,V,2894,34,DVB-S,QPSK
63=12644,V,2894,34,DVB-S,QPSK
64=12647,H,2960,34,DVB-S,QPSK
65=12648,V,2894,34,DVB-S,QPSK
66=12651,H,3885,34,DVB-S,QPSK
67=12652,V,2893,34,DVB-S,QPSK
68=12655,H,2410,34,DVB-S,QPSK
69=12656,V,1660,56,S2,8PSK
70=12667,H,4112,34,DVB-S,QPSK
71=12667,V,2220,34,DVB-S,QPSK
72=12671,V,2600,34,DVB-S,QPSK
73=12675,V,4300,34,DVB-S,QPSK
74=12679,V,3000,34,DVB-S,QPSK
75=12685,V,4300,34,DVB-S,QPSK
76=12697,V,4300,34,DVB-S,QPSK
77=12708,V,2590,34,DVB-S,QPSK
78=12712,H,2220,34,DVB-S,QPSK
79=12713,V,1850,34,DVB-S,QPSK
80=12716,V,2600,34,DVB-S,QPSK
81=12719,H,2960,34,DVB-S,QPSK
82=12719,V,3000,34,DVB-S,QPSK
83=12722,H,2200,34,DVB-S,QPSK
84=12724,V,2220,34,DVB-S,QPSK
85=12732,V,2000,78,DVB-S,QPSK
86=12733,H,2960,34,DVB-S,QPSK
87=12737,H,2220,34,DVB-S,QPSK

View File

@@ -1,30 +0,0 @@
; file generated on saturday, 22nd of august 2015, 19:35:09 [GMT]
; by online transponder .ini generator @ http://satellites-xml.eu
; please let us know if you find any inconsistencies in this file
[SATTYPE]
1=0308
2=Eutelsat 31A (30.8E)
[DVB]
0=21
1=10960,H,3330,78,DVB-S,QPSK
2=10965,H,3330,78,DVB-S,QPSK
3=10970,H,3330,78,DVB-S,QPSK
4=10975,H,3330,78,DVB-S,QPSK
5=10979,H,3330,78,DVB-S,QPSK
6=10984,H,3330,56,DVB-S,QPSK
7=10988,H,3330,78,DVB-S,QPSK
8=10992,H,3330,78,DVB-S,QPSK
9=11004,H,7500,34,S2,8PSK
10=11011,H,3330,56,DVB-S,QPSK
11=11015,H,3330,78,DVB-S,QPSK
12=11019,H,3330,78,DVB-S,QPSK
13=11024,H,3330,78,DVB-S,QPSK
14=11044,H,21000,56,S2,QPSK
15=11560,H,21000,56,S2,8PSK
16=11622,H,2300,56,DVB-S,QPSK
17=11624,H,2200,56,DVB-S,QPSK
18=11627,H,2300,56,DVB-S,QPSK
19=11630,H,2222,56,DVB-S,QPSK
20=11644,H,2300,910,S2,8PSK
21=11651,H,7500,34,S2,8PSK

View File

@@ -1,10 +0,0 @@
; file generated on saturday, 22nd of august 2015, 19:35:09 [GMT]
; by online transponder .ini generator @ http://satellites-xml.eu
; please let us know if you find any inconsistencies in this file
[SATTYPE]
1=0310
2=Hylas 2 (31.0E)
[DVB]
0=1
1=20036,H,10000,12,S2,8PSK

View File

@@ -1,24 +0,0 @@
; file generated on saturday, 22nd of august 2015, 19:35:09 [GMT]
; by online transponder .ini generator @ http://satellites-xml.eu
; please let us know if you find any inconsistencies in this file
[SATTYPE]
1=0315
2=Astra 5B (31.5E)
[DVB]
0=15
1=11758,H,27500,34,DVB-S,QPSK
2=11817,V,27500,34,DVB-S,QPSK
3=11934,V,30000,23,S2,8PSK
4=11954,H,27500,56,S2,8PSK
5=11973,V,27500,56,S2,8PSK
6=12012,V,30000,34,S2,8PSK
7=12070,H,30000,34,S2,8PSK
8=12090,V,30000,34,S2,8PSK
9=12168,V,30000,34,S2,8PSK
10=12207,V,27500,56,S2,8PSK
11=12246,V,30000,34,S2,8PSK
12=12266,H,27500,56,S2,8PSK
13=12324,V,30000,34,S2,8PSK
14=12402,V,30000,34,S2,8PSK
15=12480,V,30000,34,S2,8PSK

View File

@@ -1,47 +0,0 @@
; file generated on saturday, 22nd of august 2015, 19:35:09 [GMT]
; by online transponder .ini generator @ http://satellites-xml.eu
; please let us know if you find any inconsistencies in this file
[SATTYPE]
1=0330
2=Eutelsat 33B/33C/Intelsat 28 (33.0E)
[DVB]
0=38
1=10968,V,6665,45,S2,QPSK
2=10975,H,30000,910,S2,QPSK
3=10976,V,6665,45,S2,QPSK
4=11043,H,7200,34,S2,8PSK
5=11052,H,7200,56,S2,8PSK
6=11072,H,3333,78,DVB-S,QPSK
7=11077,H,3750,34,S2,8PSK
8=11094,H,3000,34,S2,8PSK
9=11098,H,2960,56,DVB-S,QPSK
10=11101,H,2222,56,DVB-S,QPSK
11=11105,H,3333,34,S2,8PSK
12=11154,V,15710,12,DVB-S,QPSK
13=11429,V,10098,35,S2,QPSK
14=11457,V,1704,56,S2,8PSK
15=11461,V,2000,78,DVB-S,QPSK
16=11467,V,3600,34,S2,8PSK
17=11471,V,3820,34,S2,8PSK
18=11475,V,3820,34,S2,8PSK
19=11476,H,3820,34,S2,8PSK
20=11580,H,2478,23,S2,8PSK
21=11583,H,2478,23,S2,8PSK
22=11593,H,15710,12,DVB-S,QPSK
23=11605,V,3333,56,S2,8PSK
24=11608,H,3810,56,S2,8PSK
25=12630,V,2400,35,S2,8PSK
26=12634,V,4800,34,S2,8PSK
27=12640,V,2400,23,S2,8PSK
28=12643,V,2400,23,S2,8PSK
29=12646,V,4800,34,S2,8PSK
30=12650,V,2400,23,S2,8PSK
31=12653,V,2400,23,S2,8PSK
32=12656,V,2400,23,S2,8PSK
33=12684,V,2050,56,S2,8PSK
34=12691,V,2222,78,DVB-S,QPSK
35=12698,V,3333,34,DVB-S,QPSK
36=12722,V,16730,34,S2,QPSK
37=12736,V,4444,34,DVB-S,QPSK
38=12742,V,4444,34,DVB-S,QPSK

View File

@@ -1,111 +0,0 @@
; file generated on saturday, 22nd of august 2015, 19:35:09 [GMT]
; by online transponder .ini generator @ http://satellites-xml.eu
; please let us know if you find any inconsistencies in this file
[SATTYPE]
1=0360
2=Eutelsat 36A/36B (36.0E)
[DVB]
0=102
1=11053,V,2894,34,DVB-S,QPSK
2=11057,V,2894,34,DVB-S,QPSK
3=11212,H,14400,35,S2,8PSK
4=11221,V,30000,56,S2,QPSK
5=11263,V,30000,56,S2,QPSK
6=11304,V,30000,56,S2,QPSK
7=11346,V,30000,56,S2,QPSK
8=11387,V,30000,56,S2,QPSK
9=11429,V,30000,56,S2,QPSK
10=11429,H,2893,34,DVB-S,QPSK
11=11442,H,2500,56,S2,8PSK
12=11474,V,30000,56,DVB-S,QPSK
13=11481,V,2200,34,S2,8PSK
14=11510,V,30000,56,DVB-S,QPSK
15=11590,V,2524,35,S2,QPSK
16=11593,V,2524,35,S2,QPSK
17=11727,H,27500,34,S2,8PSK
18=11727,V,27500,34,DVB-S,QPSK
19=11747,H,27500,34,DVB-S,QPSK
20=11747,V,27500,34,S2,8PSK
21=11766,V,27500,34,DVB-S,QPSK
22=11766,H,27500,34,S2,8PSK
23=11785,H,27500,34,DVB-S,QPSK
24=11785,V,27500,34,DVB-S,QPSK
25=11804,V,27500,34,S2,8PSK
26=11804,H,27500,34,S2,8PSK
27=11823,H,27500,34,DVB-S,QPSK
28=11823,V,27500,34,S2,8PSK
29=11843,V,27500,34,DVB-S,QPSK
30=11843,H,27500,34,S2,8PSK
31=11862,H,27500,34,DVB-S,QPSK
32=11862,V,27500,34,DVB-S,QPSK
33=11881,V,27500,34,DVB-S,QPSK
34=11881,H,27500,34,DVB-S,QPSK
35=11900,H,26480,12,DVB-S,QPSK
36=11900,V,27500,34,DVB-S,QPSK
37=11919,V,27500,34,S2,8PSK
38=11919,H,27500,34,S2,8PSK
39=11938,V,27500,34,S2,8PSK
40=11940,H,27500,34,DVB-S,QPSK
41=11958,V,27500,34,DVB-S,QPSK
42=11958,H,27500,34,S2,8PSK
43=11977,H,27500,34,DVB-S,QPSK
44=11977,V,27500,34,DVB-S,QPSK
45=11996,V,27500,34,S2,8PSK
46=11996,H,27500,34,S2,8PSK
47=12015,H,27500,34,DVB-S,QPSK
48=12015,V,27500,34,S2,8PSK
49=12034,V,27500,34,DVB-S,QPSK
50=12034,H,27500,34,S2,8PSK
51=12054,H,27500,34,DVB-S,QPSK
52=12054,V,27500,34,S2,8PSK
53=12073,H,27500,34,S2,8PSK
54=12073,V,27500,34,DVB-S,QPSK
55=12092,H,27500,23,S2,8PSK
56=12092,V,27500,34,DVB-S,QPSK
57=12111,H,27500,34,S2,8PSK
58=12130,V,27500,34,S2,8PSK
59=12149,H,27500,34,S2,8PSK
60=12169,V,27500,34,S2,8PSK
61=12174,H,4340,34,DVB-S,QPSK
62=12190,H,20000,34,DVB-S,QPSK
63=12207,V,27500,34,S2,8PSK
64=12226,H,27500,34,DVB-S,QPSK
65=12245,V,27500,34,DVB-S,QPSK
66=12245,H,27500,34,DVB-S,QPSK
67=12265,H,27500,34,DVB-S,QPSK
68=12284,V,27500,34,DVB-S,QPSK
69=12303,H,27500,34,DVB-S,QPSK
70=12322,V,27500,34,DVB-S,QPSK
71=12322,H,23437,34,DVB-S,QPSK
72=12341,H,27500,34,DVB-S,QPSK
73=12360,V,27500,34,S2,8PSK
74=12360,H,26480,12,DVB-S,QPSK
75=12380,H,27500,34,DVB-S,QPSK
76=12399,V,27500,34,DVB-S,QPSK
77=12418,H,27500,34,S2,8PSK
78=12437,V,27500,34,S2,8PSK
79=12440,H,23437,23,DVB-S,QPSK
80=12456,H,27500,34,DVB-S,QPSK
81=12476,V,27500,34,DVB-S,QPSK
82=12476,H,26040,23,DVB-S,QPSK
83=12511,H,4340,12,DVB-S,QPSK
84=12520,H,4340,12,DVB-S,QPSK
85=12522,V,1346,34,DVB-S,QPSK
86=12540,V,2220,34,DVB-S,QPSK
87=12557,V,1346,34,S2,QPSK
88=12563,H,7120,34,DVB-S,QPSK
89=12571,H,2894,34,DVB-S,QPSK
90=12572,V,1786,34,S2,8PSK
91=12575,H,2894,34,DVB-S,QPSK
92=12608,V,6200,34,S2,QPSK
93=12629,H,3444,34,S2,8PSK
94=12654,V,1800,78,DVB-S,QPSK
95=12689,V,2170,34,DVB-S,QPSK
96=12693,V,2532,34,DVB-S,QPSK
97=12699,V,6000,34,DVB-S,QPSK
98=12703,V,2200,78,DVB-S,QPSK
99=12706,V,1800,78,DVB-S,QPSK
100=12709,V,2200,78,DVB-S,QPSK
101=12713,V,1800,78,DVB-S,QPSK
102=12716,V,1800,78,DVB-S,QPSK

View File

@@ -1,79 +0,0 @@
; file generated on saturday, 22nd of august 2015, 19:35:09 [GMT]
; by online transponder .ini generator @ http://satellites-xml.eu
; please let us know if you find any inconsistencies in this file
[SATTYPE]
1=0380
2=Paksat 1R (38.0E)
[DVB]
0=70
1=3715,V,7200,34,DVB-S,QPSK
2=3732,V,18000,89,S2,QPSK
3=3762,V,4340,34,DVB-S,QPSK
4=3770,V,7700,78,DVB-S,QPSK
5=3775,V,1004,34,DVB-S,QPSK
6=3782,V,2170,34,DVB-S,QPSK
7=3800,V,7300,34,DVB-S,QPSK
8=3806,V,1444,34,S2,QPSK
9=3818,V,2200,34,DVB-S,QPSK
10=3824,V,2800,34,DVB-S,QPSK
11=3830,H,2000,34,DVB-S,QPSK
12=3833,V,2600,34,DVB-S,QPSK
13=3856,V,2894,34,DVB-S,QPSK
14=3860,V,3333,34,DVB-S,QPSK
15=3865,V,2894,34,DVB-S,QPSK
16=3959,V,7234,34,DVB-S,QPSK
17=3966,V,2800,34,DVB-S,QPSK
18=3973,V,6510,34,DVB-S,QPSK
19=3976,H,1750,34,DVB-S,QPSK
20=3979,V,3255,34,DVB-S,QPSK
21=3981,H,2222,34,DVB-S,QPSK
22=3984,V,2893,34,DVB-S,QPSK
23=3992,V,2170,56,DVB-S,QPSK
24=4003,V,15550,34,DVB-S,QPSK
25=4005,H,13845,78,DVB-S,QPSK
26=4013,V,2893,34,DVB-S,QPSK
27=4023,V,5700,35,S2,8PSK
28=4031,V,1078,34,DVB-S,QPSK
29=4037,V,4800,56,S2,QPSK
30=4042,V,2800,34,S2,QPSK
31=4047,V,3255,34,DVB-S,QPSK
32=4054,V,7000,34,DVB-S,QPSK
33=4060,H,23000,56,DVB-S,QPSK
34=4060,V,2893,34,DVB-S,QPSK
35=4073,V,6150,34,S2,QPSK
36=4081,V,3255,34,DVB-S,QPSK
37=4085,V,2960,34,DVB-S,QPSK
38=4090,V,3330,34,DVB-S,QPSK
39=4093,V,2527,34,DVB-S,QPSK
40=4098,H,1600,34,DVB-S,QPSK
41=4101,V,2800,34,DVB-S,QPSK
42=4105,V,2310,56,DVB-S,QPSK
43=4114,V,5700,34,DVB-S,QPSK
44=4124,V,5000,34,DVB-S,QPSK
45=4130,V,2500,34,DVB-S,QPSK
46=4133,V,2220,89,S2,QPSK
47=4135,H,3330,34,DVB-S,QPSK
48=4141,V,2800,34,DVB-S,QPSK
49=4158,V,12000,34,DVB-S,QPSK
50=4168,V,2800,34,DVB-S,QPSK
51=4172,V,2800,34,DVB-S,QPSK
52=4180,V,2170,34,DVB-S,QPSK
53=4184,V,2800,34,S2,QPSK
54=4188,V,2170,34,DVB-S,QPSK
55=10971,V,1000,56,S2,8PSK
56=10972,V,1000,56,S2,8PSK
57=10990,V,1650,34,DVB-S,QPSK
58=10992,V,1500,34,DVB-S,QPSK
59=11103,V,3012,34,DVB-S,QPSK
60=11122,V,1808,34,DVB-S,QPSK
61=11124,V,1300,34,DVB-S,QPSK
62=11150,V,3760,34,DVB-S,QPSK
63=11167,V,3000,78,DVB-S,QPSK
64=11184,V,2000,34,DVB-S,QPSK
65=11188,V,2000,34,DVB-S,QPSK
66=11191,V,2000,34,DVB-S,QPSK
67=12652,V,2050,34,DVB-S,QPSK
68=12687,V,2170,78,DVB-S,QPSK
69=12691,V,3333,34,DVB-S,QPSK
70=12696,V,3333,34,DVB-S,QPSK

View File

@@ -1,60 +0,0 @@
; file generated on saturday, 22nd of august 2015, 19:35:09 [GMT]
; by online transponder .ini generator @ http://satellites-xml.eu
; please let us know if you find any inconsistencies in this file
[SATTYPE]
1=0390
2=Hellas Sat 2 (39.0E)
[DVB]
0=51
1=10955,V,4444,34,S2,8PSK
2=10960,V,1852,34,DVB-S,QPSK
3=10968,V,4400,34,DVB-S,QPSK
4=10972,V,3300,34,DVB-S,QPSK
5=10977,V,3300,34,DVB-S,QPSK
6=10981,V,3300,34,DVB-S,QPSK
7=10987,V,3333,78,DVB-S,QPSK
8=11012,V,30000,34,S2,8PSK
9=11053,V,30000,34,S2,8PSK
10=11078,V,3333,34,DVB-S,QPSK
11=11083,V,4400,34,DVB-S,QPSK
12=11091,V,1666,34,DVB-S,QPSK
13=11097,H,6111,34,DVB-S,QPSK
14=11104,V,14400,34,DVB-S,QPSK
15=11135,V,30000,23,S2,8PSK
16=11464,H,3224,78,DVB-S,QPSK
17=11473,H,4444,34,S2,8PSK
18=11479,H,3190,56,DVB-S,QPSK
19=11482,H,2905,34,DVB-S,QPSK
20=11486,H,2509,56,S2,8PSK
21=11496,H,2960,34,DVB-S,QPSK
22=11500,H,2960,23,S2,8PSK
23=11503,H,2200,56,DVB-S,QPSK
24=11507,H,2220,34,DVB-S,QPSK
25=11559,H,1950,23,S2,8PSK
26=11565,H,2250,34,DVB-S,QPSK
27=11608,H,2100,34,DVB-S,QPSK
28=11611,H,2100,34,DVB-S,QPSK
29=11618,H,2500,78,DVB-S,QPSK
30=11622,H,2800,56,DVB-S,QPSK
31=11624,V,3255,34,DVB-S,QPSK
32=11625,H,3333,34,DVB-S,QPSK
33=11628,H,2800,56,DVB-S,QPSK
34=11632,H,2800,56,DVB-S,QPSK
35=11649,H,4433,34,DVB-S,QPSK
36=11663,H,5925,34,DVB-S,QPSK
37=11670,H,3720,34,DVB-S,QPSK
38=11679,H,3700,56,DVB-S,QPSK
39=11685,H,3700,34,DVB-S,QPSK
40=11692,H,2300,78,DVB-S,QPSK
41=12524,V,30000,78,DVB-S,QPSK
42=12524,H,30000,78,DVB-S,QPSK
43=12565,V,30000,78,DVB-S,QPSK
44=12565,H,30000,78,DVB-S,QPSK
45=12606,V,30000,78,DVB-S,QPSK
46=12606,H,30000,78,DVB-S,QPSK
47=12647,V,30000,78,DVB-S,QPSK
48=12647,H,30000,34,S2,8PSK
49=12688,V,30000,78,DVB-S,QPSK
50=12688,H,30000,78,DVB-S,QPSK
51=12729,V,30000,78,DVB-S,QPSK

View File

@@ -1,30 +0,0 @@
; file generated on saturday, 22nd of august 2015, 19:35:09 [GMT]
; by online transponder .ini generator @ http://satellites-xml.eu
; please let us know if you find any inconsistencies in this file
[SATTYPE]
1=0400
2=Express AM7 (40.0E)
[DVB]
0=21
1=3557,V,2894,78,DVB-S,QPSK
2=3558,H,3720,34,S2,8PSK
3=3561,V,2905,34,DVB-S,QPSK
4=3563,H,3600,34,S2,8PSK
5=3565,V,2896,34,DVB-S,QPSK
6=3566,H,1850,34,S2,8PSK
7=3569,V,2905,34,DVB-S,QPSK
8=3573,V,2896,34,DVB-S,QPSK
9=3577,V,2905,34,DVB-S,QPSK
10=3581,V,2894,34,DVB-S,QPSK
11=3585,V,2905,34,DVB-S,QPSK
12=3589,V,2905,34,DVB-S,QPSK
13=3592,V,2894,34,DVB-S,QPSK
14=3615,V,14990,34,S2,8PSK
15=3635,V,15280,34,S2,8PSK
16=3665,H,14990,34,S2,8PSK
17=3675,V,33483,78,DVB-S,QPSK
18=3685,H,15284,34,S2,8PSK
19=3725,H,28108,35,S2,QPSK
20=3739,V,1922,78,DVB-S,QPSK
21=3742,V,2893,34,DVB-S,QPSK

View File

@@ -1,199 +0,0 @@
; file generated on saturday, 22nd of august 2015, 19:35:09 [GMT]
; by online transponder .ini generator @ http://satellites-xml.eu
; please let us know if you find any inconsistencies in this file
[SATTYPE]
1=0420
2=T<EFBFBD>rksat 2A/3A/4A (42.0E)
[DVB]
0=190
1=10962,H,16666,34,DVB-S,QPSK
2=10970,V,30000,56,S2,8PSK
3=10974,H,2660,56,S2,8PSK
4=10978,H,2660,56,S2,8PSK
5=10982,H,2660,56,S2,8PSK
6=10986,H,2660,56,S2,8PSK
7=10997,H,3333,56,DVB-S,QPSK
8=11001,H,3200,34,DVB-S,QPSK
9=11006,H,2222,56,DVB-S,QPSK
10=11012,V,30000,56,DVB-S,QPSK
11=11014,H,9600,34,DVB-S,QPSK
12=11021,H,2222,34,DVB-S,QPSK
13=11027,H,2222,56,DVB-S,QPSK
14=11031,H,2222,56,DVB-S,QPSK
15=11039,H,4800,23,S2,8PSK
16=11045,H,4800,34,DVB-S,QPSK
17=11053,H,8000,34,DVB-S,QPSK
18=11054,V,30000,34,S2,8PSK
19=11062,H,4820,34,DVB-S,QPSK
20=11068,H,2400,56,DVB-S,QPSK
21=11071,H,2200,56,DVB-S,QPSK
22=11096,V,30000,56,DVB-S,QPSK
23=11096,H,30000,56,DVB-S,QPSK
24=11128,H,3150,56,S2,QPSK
25=11137,H,2960,56,DVB-S,QPSK
26=11138,V,13000,12,S2,QPSK
27=11142,H,2221,56,DVB-S,QPSK
28=11146,H,3330,Auto,DVB-S,QPSK
29=11152,H,2222,Auto,DVB-S,QPSK
30=11156,V,2222,56,DVB-S,QPSK
31=11157,H,3180,56,DVB-S,QPSK
32=11161,V,2222,56,DVB-S,QPSK
33=11161,H,3180,56,DVB-S,QPSK
34=11165,H,3180,56,DVB-S,QPSK
35=11169,V,3333,56,DVB-S,QPSK
36=11169,H,3180,56,DVB-S,QPSK
37=11173,H,3180,56,DVB-S,QPSK
38=11174,V,2200,Auto,DVB-S,QPSK
39=11177,H,2222,56,DVB-S,QPSK
40=11178,V,3600,56,DVB-S,QPSK
41=11180,H,2960,56,S2,8PSK
42=11183,V,2222,56,DVB-S,QPSK
43=11187,H,2080,56,DVB-S,QPSK
44=11191,H,2070,78,DVB-S,QPSK
45=11195,H,4000,56,S2,8PSK
46=11196,V,3200,56,DVB-S,QPSK
47=11458,V,3200,34,S2,8PSK
48=11462,V,3200,34,S2,8PSK
49=11466,V,3200,34,S2,8PSK
50=11470,V,3200,34,S2,8PSK
51=11472,H,23450,56,DVB-S,QPSK
52=11473,V,3200,34,S2,8PSK
53=11477,V,3200,34,S2,8PSK
54=11480,V,3200,34,S2,8PSK
55=11486,V,3200,34,S2,8PSK
56=11490,V,3200,56,DVB-S,QPSK
57=11496,V,2960,56,DVB-S,QPSK
58=11500,V,2222,56,DVB-S,QPSK
59=11504,V,3200,56,DVB-S,QPSK
60=11509,H,30000,23,DVB-S,QPSK
61=11518,V,2222,Auto,DVB-S,QPSK
62=11521,V,2222,Auto,DVB-S,QPSK
63=11524,V,2222,Auto,DVB-S,QPSK
64=11528,V,2960,Auto,DVB-S,QPSK
65=11540,H,3600,56,DVB-S,QPSK
66=11545,H,4425,56,DVB-S,QPSK
67=11550,H,2110,56,S2,QPSK
68=11558,V,30000,23,DVB-S,QPSK
69=11566,H,3200,56,S2,QPSK
70=11573,H,1800,56,DVB-S,QPSK
71=11574,V,2222,56,DVB-S,QPSK
72=11577,H,2222,Auto,DVB-S,QPSK
73=11594,V,25000,23,DVB-S,QPSK
74=11596,H,22000,34,S2,QPSK
75=11622,V,2960,56,DVB-S,QPSK
76=11624,V,2222,56,DVB-S,QPSK
77=11624,H,2960,56,DVB-S,QPSK
78=11626,V,2300,56,DVB-S,QPSK
79=11627,H,4444,56,DVB-S,QPSK
80=11633,V,2222,78,DVB-S,QPSK
81=11637,V,2222,56,DVB-S,QPSK
82=11642,V,2220,56,DVB-S,QPSK
83=11647,H,3333,Auto,DVB-S,QPSK
84=11649,V,2960,Auto,DVB-S,QPSK
85=11651,H,2222,56,DVB-S,QPSK
86=11652,V,2222,56,DVB-S,QPSK
87=11656,V,3200,56,DVB-S,QPSK
88=11660,H,7500,34,S2,8PSK
89=11667,H,2960,56,DVB-S,QPSK
90=11675,H,2222,Auto,DVB-S,QPSK
91=11676,V,24444,34,DVB-S,QPSK
92=11680,H,1666,23,DVB-S,QPSK
93=11683,H,2222,56,DVB-S,QPSK
94=11691,H,2222,56,DVB-S,QPSK
95=11691,V,2222,56,DVB-S,QPSK
96=11727,V,27000,56,DVB-S,QPSK
97=11746,H,27500,56,DVB-S,QPSK
98=11775,V,27500,34,S2,8PSK
99=11794,H,27500,56,DVB-S,QPSK
100=11797,V,8800,56,DVB-S,QPSK
101=11807,V,8000,34,S2,8PSK
102=11821,H,17000,34,DVB-S,QPSK
103=11824,V,8000,34,DVB-S,QPSK
104=11853,H,25000,23,S2,8PSK
105=11855,V,30000,34,DVB-S,QPSK
106=11880,H,20000,23,S2,8PSK
107=11883,V,4800,56,DVB-S,QPSK
108=11916,V,30000,34,DVB-S,QPSK
109=11958,V,27500,56,DVB-S,QPSK
110=11977,H,27500,56,DVB-S,QPSK
111=11986,V,9600,56,DVB-S,QPSK
112=11999,V,11666,23,S2,8PSK
113=12009,V,4444,34,DVB-S,QPSK
114=12015,H,27500,56,DVB-S,QPSK
115=12034,V,27500,56,DVB-S,QPSK
116=12054,H,27500,56,DVB-S,QPSK
117=12073,V,27500,56,S2,8PSK
118=12079,H,6400,56,DVB-S,QPSK
119=12086,H,2960,56,DVB-S,QPSK
120=12090,H,2960,56,DVB-S,QPSK
121=12095,H,4800,56,DVB-S,QPSK
122=12103,H,8333,23,S2,8PSK
123=12123,H,15000,34,S2,8PSK
124=12130,V,27500,56,DVB-S,QPSK
125=12188,V,27500,56,DVB-S,QPSK
126=12196,H,9600,23,S2,8PSK
127=12209,H,10000,34,S2,8PSK
128=12213,V,5833,23,S2,8PSK
129=12219,H,6500,34,DVB-S,QPSK
130=12220,V,4800,56,DVB-S,QPSK
131=12228,V,8400,56,DVB-S,QPSK
132=12238,V,7200,56,DVB-S,QPSK
133=12245,H,27500,56,S2,8PSK
134=12265,V,27500,56,DVB-S,QPSK
135=12303,V,27500,56,DVB-S,QPSK
136=12329,H,6666,23,S2,8PSK
137=12336,H,5520,34,DVB-S,QPSK
138=12344,V,30000,34,DVB-S,QPSK
139=12346,H,9600,34,DVB-S,QPSK
140=12356,H,7100,23,S2,8PSK
141=12379,H,30000,34,DVB-S,QPSK
142=12380,V,27500,34,DVB-S,QPSK
143=12422,V,27500,34,DVB-S,QPSK
144=12422,H,30000,34,DVB-S,QPSK
145=12442,H,2963,78,DVB-S,QPSK
146=12447,H,2400,34,DVB-S,QPSK
147=12455,H,10800,23,S2,8PSK
148=12458,V,30000,34,DVB-S,QPSK
149=12509,H,3333,56,DVB-S,QPSK
150=12513,H,2215,56,DVB-S,QPSK
151=12516,H,2222,56,DVB-S,QPSK
152=12519,H,2222,56,DVB-S,QPSK
153=12524,V,22500,23,DVB-S,QPSK
154=12540,H,30000,34,DVB-S,QPSK
155=12559,V,27500,23,DVB-S,QPSK
156=12562,H,2960,56,S2,8PSK
157=12576,H,2090,78,DVB-S,QPSK
158=12578,H,2222,56,DVB-S,QPSK
159=12588,V,22500,34,DVB-S,QPSK
160=12588,H,3200,56,S2,8PSK
161=12595,H,4800,56,S2,8PSK
162=12605,V,27500,23,DVB-S,QPSK
163=12606,H,2222,78,DVB-S,QPSK
164=12611,H,5924,56,DVB-S,QPSK
165=12617,H,3333,56,DVB-S,QPSK
166=12620,V,2244,56,DVB-S,QPSK
167=12621,H,3333,56,DVB-S,QPSK
168=12624,V,2170,56,DVB-S,QPSK
169=12627,V,2278,78,DVB-S,QPSK
170=12632,V,2220,78,DVB-S,8PSK
171=12635,V,2240,56,S2,8PSK
172=12639,V,5000,56,S2,8PSK
173=12641,H,30000,23,DVB-S,QPSK
174=12646,V,4000,56,S2,8PSK
175=12651,V,5000,34,S2,8PSK
176=12658,V,2222,56,DVB-S,QPSK
177=12673,V,9600,34,DVB-S,QPSK
178=12685,H,30000,34,DVB-S,QPSK
179=12687,V,11400,34,DVB-S,QPSK
180=12699,V,7700,56,S2,QPSK
181=12711,V,2278,78,DVB-S,QPSK
182=12714,V,2960,56,DVB-S,QPSK
183=12718,V,2278,56,DVB-S,QPSK
184=12721,V,2278,78,DVB-S,QPSK
185=12723,V,2222,56,DVB-S,QPSK
186=12728,V,2222,56,DVB-S,QPSK
187=12729,H,27500,23,DVB-S,QPSK
188=12731,V,2222,56,DVB-S,QPSK
189=12746,V,2222,56,DVB-S,QPSK
190=18669,H,22500,34,DVB-S,QPSK

View File

@@ -1,35 +0,0 @@
; file generated on saturday, 22nd of august 2015, 19:35:09 [GMT]
; by online transponder .ini generator @ http://satellites-xml.eu
; please let us know if you find any inconsistencies in this file
[SATTYPE]
1=0435
2=Astra 2G (43.5E)
[DVB]
0=26
1=10964,H,22000,56,DVB-S,QPSK
2=10994,H,22000,56,DVB-S,QPSK
3=11023,H,23000,23,S2,8PSK
4=11053,H,23000,34,S2,8PSK
5=11068,V,23000,23,S2,8PSK
6=11082,H,22000,56,DVB-S,QPSK
7=11097,V,23000,23,S2,8PSK
8=11112,H,22000,56,DVB-S,QPSK
9=11126,V,22000,56,DVB-S,QPSK
10=11141,H,22000,56,DVB-S,QPSK
11=11171,H,22000,56,DVB-S,QPSK
12=11224,V,27500,23,DVB-S,QPSK
13=11224,H,27500,23,DVB-S,QPSK
14=11264,V,27500,23,DVB-S,QPSK
15=11264,H,27500,23,DVB-S,QPSK
16=11464,H,22000,56,DVB-S,QPSK
17=11479,V,22000,56,DVB-S,QPSK
18=11509,V,22000,56,DVB-S,QPSK
19=11523,H,22000,56,DVB-S,QPSK
20=11538,V,23000,23,S2,8PSK
21=11553,H,22000,56,DVB-S,QPSK
22=11568,V,22000,56,DVB-S,QPSK
23=11582,H,22000,56,DVB-S,QPSK
24=11597,V,22000,56,DVB-S,QPSK
25=11671,H,22000,56,DVB-S,QPSK
26=11686,V,22000,56,DVB-S,QPSK

View File

@@ -1,23 +0,0 @@
; file generated on saturday, 22nd of august 2015, 19:35:09 [GMT]
; by online transponder .ini generator @ http://satellites-xml.eu
; please let us know if you find any inconsistencies in this file
[SATTYPE]
1=0450
2=Intelsat 12 (45.0E)
[DVB]
0=14
1=11451,H,3254,78,DVB-S,QPSK
2=11468,V,27689,56,DVB-S,8PSK
3=11493,V,2960,78,DVB-S,QPSK
4=11506,V,1808,34,DVB-S,QPSK
5=11509,V,10000,23,S2,8PSK
6=11517,V,2960,78,DVB-S,QPSK
7=11523,V,5787,34,DVB-S,QPSK
8=11550,V,28800,35,S2,8PSK
9=11591,V,27689,56,DVB-S,8PSK
10=11632,V,27689,56,DVB-S,8PSK
11=11673,V,27689,56,DVB-S,8PSK
12=12518,H,14236,34,S2,8PSK
13=12568,V,8335,23,S2,8PSK
14=12580,H,6600,34,DVB-S,QPSK

View File

@@ -1,49 +0,0 @@
; file generated on saturday, 22nd of august 2015, 19:35:09 [GMT]
; by online transponder .ini generator @ http://satellites-xml.eu
; please let us know if you find any inconsistencies in this file
[SATTYPE]
1=0460
2=AzerSpace 1/Africasat 1a (46.0E)
[DVB]
0=40
1=3730,V,30000,34,S2,8PSK
2=3753,V,30000,23,S2,8PSK
3=3833,V,1077,23,S2,8PSK
4=3953,V,1180,34,S2,8PSK
5=4016,V,1200,34,S2,8PSK
6=4021,V,1180,34,S2,8PSK
7=4024,V,1190,34,S2,8PSK
8=4026,V,1200,34,S2,8PSK
9=4028,V,1166,34,S2,8PSK
10=4105,H,1320,56,S2,QPSK
11=4145,H,6666,23,DVB-S,QPSK
12=10961,V,7500,23,S2,8PSK
13=10968,V,5000,23,S2,8PSK
14=10973,H,2221,56,DVB-S,QPSK
15=10979,V,7500,56,S2,8PSK
16=10987,V,7500,56,S2,8PSK
17=10988,H,2400,56,S2,8PSK
18=10991,H,1536,56,DVB-S,QPSK
19=10999,V,3570,56,DVB-S,QPSK
20=11002,V,2222,56,DVB-S,QPSK
21=11005,V,2222,56,DVB-S,QPSK
22=11008,V,2222,56,DVB-S,QPSK
23=11011,V,2222,56,DVB-S,QPSK
24=11014,V,2222,56,DVB-S,QPSK
25=11015,H,30000,56,DVB-S,QPSK
26=11024,V,12700,56,DVB-S,QPSK
27=11038,H,3333,56,S2,8PSK
28=11039,V,3700,78,DVB-S,QPSK
29=11047,V,10000,34,DVB-S,QPSK
30=11058,H,7500,56,DVB-S,QPSK
31=11061,V,3333,34,DVB-S,QPSK
32=11067,H,7500,56,S2,8PSK
33=11073,H,3333,78,DVB-S,QPSK
34=11077,V,2500,56,S2,8PSK
35=11095,H,27500,56,DVB-S,QPSK
36=11110,V,2222,56,DVB-S,QPSK
37=11134,H,27500,56,DVB-S,QPSK
38=11135,V,28800,56,S2,8PSK
39=11175,V,28800,56,S2,8PSK
40=11175,H,27500,56,DVB-S,QPSK

View File

@@ -1,31 +0,0 @@
; file generated on saturday, 22nd of august 2015, 19:35:09 [GMT]
; by online transponder .ini generator @ http://satellites-xml.eu
; please let us know if you find any inconsistencies in this file
[SATTYPE]
1=0475
2=Intelsat 10 (47.5E)
[DVB]
0=22
1=11475,V,2700,34,DVB-S,QPSK
2=11531,V,2755,34,DVB-S,QPSK
3=11548,V,2000,56,S2,QPSK
4=11606,V,2200,56,S2,8PSK
5=11639,V,1900,78,DVB-S,QPSK
6=11642,V,1480,34,S2,8PSK
7=11644,V,1450,56,DVB-S,QPSK
8=11647,V,3200,34,DVB-S,QPSK
9=11654,V,1450,56,DVB-S,QPSK
10=11665,V,2000,34,DVB-S,QPSK
11=11670,V,2123,34,DVB-S,QPSK
12=11675,V,1900,78,DVB-S,QPSK
13=12517,H,6660,78,DVB-S,QPSK
14=12532,V,14395,34,S2,8PSK
15=12548,H,6111,Auto,DVB-S,QPSK
16=12564,H,3750,56,S2,QPSK
17=12574,H,6111,34,DVB-S,QPSK
18=12602,V,10112,12,S2,QPSK
19=12673,H,7200,34,DVB-S,QPSK
20=12691,H,14400,34,S2,8PSK
21=12712,H,13200,34,DVB-S,QPSK
22=12721,V,10000,Auto,DVB-S,QPSK

View File

@@ -1,10 +0,0 @@
; file generated on saturday, 22nd of august 2015, 19:35:09 [GMT]
; by online transponder .ini generator @ http://satellites-xml.eu
; please let us know if you find any inconsistencies in this file
[SATTYPE]
1=0480
2=Afghansat 1 (48.0E)
[DVB]
0=1
1=11293,V,27500,56,DVB-S,QPSK

View File

@@ -1,30 +0,0 @@
; file generated on saturday, 22nd of august 2015, 19:35:09 [GMT]
; by online transponder .ini generator @ http://satellites-xml.eu
; please let us know if you find any inconsistencies in this file
[SATTYPE]
1=0490
2=Yamal 202 (49.0E)
[DVB]
0=21
1=3635,H,3230,34,DVB-S,QPSK
2=3640,H,3215,34,DVB-S,QPSK
3=3644,H,3230,34,DVB-S,QPSK
4=3660,H,3333,34,DVB-S,QPSK
5=3714,H,8888,34,DVB-S,QPSK
6=3735,V,3219,34,DVB-S,QPSK
7=3743,H,34075,34,DVB-S,QPSK
8=3752,V,3230,34,DVB-S,QPSK
9=3781,H,1900,34,DVB-S,QPSK
10=3793,H,1800,34,DVB-S,QPSK
11=3826,H,2960,34,DVB-S,QPSK
12=3832,V,1500,34,DVB-S,QPSK
13=3866,H,3310,Auto,DVB-S,QPSK
14=3908,H,1356,12,DVB-S,QPSK
15=3936,H,3230,34,DVB-S,QPSK
16=3941,H,4000,34,DVB-S,QPSK
17=3950,H,3500,34,S2,8PSK
18=3961,H,8570,34,DVB-S,QPSK
19=3970,H,4275,34,DVB-S,QPSK
20=3976,H,4285,34,DVB-S,QPSK
21=4078,H,14400,89,S2,QPSK

View File

@@ -1,11 +0,0 @@
; file generated on saturday, 22nd of august 2015, 19:35:09 [GMT]
; by online transponder .ini generator @ http://satellites-xml.eu
; please let us know if you find any inconsistencies in this file
[SATTYPE]
1=0505
2=NSS 5 (50.5E)
[DVB]
0=2
1=4172,V,13330,34,DVB-S,QPSK
2=12710,V,26670,34,DVB-S,QPSK

View File

@@ -1,28 +0,0 @@
; file generated on saturday, 22nd of august 2015, 19:35:09 [GMT]
; by online transponder .ini generator @ http://satellites-xml.eu
; please let us know if you find any inconsistencies in this file
[SATTYPE]
1=0510
2=Express AM6 (51.0E)
[DVB]
0=19
1=3675,V,33483,78,DVB-S,QPSK
2=3708,H,4280,78,DVB-S,QPSK
3=10974,H,8150,34,DVB-S,QPSK
4=10990,V,3111,34,DVB-S,QPSK
5=10995,H,3255,34,DVB-S,QPSK
6=11001,H,4160,56,S2,QPSK
7=11044,V,44950,34,DVB-S,QPSK
8=11471,H,2400,34,DVB-S,QPSK
9=11474,H,4666,34,DVB-S,QPSK
10=11504,H,2200,56,DVB-S,QPSK
11=11506,H,1481,34,DVB-S,QPSK
12=11520,H,4800,56,DVB-S,QPSK
13=12511,V,2170,34,DVB-S,QPSK
14=12528,H,2100,34,S2,8PSK
15=12545,H,3000,23,DVB-S,QPSK
16=12572,H,1320,78,DVB-S,QPSK
17=12594,V,2050,34,DVB-S,QPSK
18=12594,H,2050,34,DVB-S,QPSK
19=12631,V,3000,34,DVB-S,QPSK

View File

@@ -1,11 +0,0 @@
; file generated on saturday, 22nd of august 2015, 19:35:09 [GMT]
; by online transponder .ini generator @ http://satellites-xml.eu
; please let us know if you find any inconsistencies in this file
[SATTYPE]
1=0520
2=Turkmen<EFBFBD>lem52E/MonacoSat (52.0E)
[DVB]
0=2
1=12265,V,27500,23,S2,QPSK
2=12303,V,27500,23,S2,QPSK

View File

@@ -1,24 +0,0 @@
; file generated on saturday, 22nd of august 2015, 19:35:09 [GMT]
; by online transponder .ini generator @ http://satellites-xml.eu
; please let us know if you find any inconsistencies in this file
[SATTYPE]
1=0525
2=Y1A (52.5E)
[DVB]
0=15
1=11747,H,27500,89,S2,QPSK
2=11766,V,27500,56,DVB-S,QPSK
3=11785,H,27500,56,DVB-S,QPSK
4=11823,H,27500,89,S2,QPSK
5=11862,H,27500,56,DVB-S,QPSK
6=11881,V,27500,56,DVB-S,QPSK
7=11900,H,27500,56,DVB-S,QPSK
8=11938,H,27500,56,DVB-S,QPSK
9=11958,V,27500,78,DVB-S,QPSK
10=11977,H,27500,89,S2,QPSK
11=11996,V,27500,56,DVB-S,QPSK
12=12015,H,27500,56,DVB-S,QPSK
13=12034,V,27500,23,S2,8PSK
14=12073,V,27500,78,DVB-S,QPSK
15=12092,H,27500,89,S2,QPSK

View File

@@ -1,28 +0,0 @@
; file generated on saturday, 22nd of august 2015, 19:35:09 [GMT]
; by online transponder .ini generator @ http://satellites-xml.eu
; please let us know if you find any inconsistencies in this file
[SATTYPE]
1=0530
2=Express AM6 (53.0E)
[DVB]
0=19
1=3675,V,33483,78,DVB-S,QPSK
2=3708,H,4280,78,DVB-S,QPSK
3=10974,H,8150,34,DVB-S,QPSK
4=10990,V,3111,34,DVB-S,QPSK
5=10995,H,3255,34,DVB-S,QPSK
6=11001,H,4160,56,S2,QPSK
7=11044,V,44950,34,DVB-S,QPSK
8=11471,H,2400,34,DVB-S,QPSK
9=11474,H,4666,34,DVB-S,QPSK
10=11504,H,2200,56,DVB-S,QPSK
11=11506,H,1481,34,DVB-S,QPSK
12=11520,H,4800,56,DVB-S,QPSK
13=12511,V,2170,34,DVB-S,QPSK
14=12528,H,2100,34,S2,8PSK
15=12545,H,3000,23,DVB-S,QPSK
16=12572,H,1320,78,DVB-S,QPSK
17=12594,H,2050,34,DVB-S,QPSK
18=12594,V,2050,34,DVB-S,QPSK
19=12631,V,3000,34,DVB-S,QPSK

View File

@@ -1,37 +0,0 @@
; file generated on saturday, 22nd of august 2015, 19:35:09 [GMT]
; by online transponder .ini generator @ http://satellites-xml.eu
; please let us know if you find any inconsistencies in this file
[SATTYPE]
1=0549
2=G-Sat 8/Yamal 402 (54.9E)
[DVB]
0=28
1=10845,V,32727,Auto,S2,QPSK
2=10962,V,5926,34,DVB-S,QPSK
3=10968,V,2951,Auto,DVB-S,QPSK
4=10976,H,2200,35,S2,8PSK
5=11008,V,3600,34,S2,QPSK
6=11045,V,40000,23,DVB-S,QPSK
7=11156,V,22000,12,S2,QPSK
8=11186,V,6642,34,S2,8PSK
9=11215,H,13000,12,S2,QPSK
10=11225,V,30000,89,S2,8PSK
11=11232,H,17000,34,S2,QPSK
12=11265,V,30000,34,DVB-S,QPSK
13=11305,V,10000,34,S2,QPSK
14=11345,V,30000,34,S2,8PSK
15=11425,V,30000,12,S2,QPSK
16=11486,V,8000,12,S2,QPSK
17=11531,H,3015,34,DVB-S,QPSK
18=11554,V,3800,56,DVB-S,QPSK
19=11686,H,3333,23,DVB-S,QPSK
20=12522,V,27500,34,S2,8PSK
21=12531,H,2500,56,S2,QPSK
22=12604,V,16080,56,DVB-S,QPSK
23=12630,H,3333,34,DVB-S,QPSK
24=12674,V,14940,34,S2,8PSK
25=12685,H,30000,34,S2,QPSK
26=12694,V,15282,34,S2,8PSK
27=12720,H,30000,34,S2,QPSK
28=12732,V,9557,23,S2,8PSK

View File

@@ -1,31 +0,0 @@
; file generated on saturday, 22nd of august 2015, 19:35:09 [GMT]
; by online transponder .ini generator @ http://satellites-xml.eu
; please let us know if you find any inconsistencies in this file
[SATTYPE]
1=0560
2=Express AT1 (56.0E)
[DVB]
0=22
1=11727,H,27500,34,S2,8PSK
2=11881,H,27500,34,S2,8PSK
3=11919,H,27500,34,S2,8PSK
4=11958,H,27500,34,S2,8PSK
5=11996,H,27500,34,S2,8PSK
6=12034,H,27500,34,S2,8PSK
7=12073,H,27500,34,S2,8PSK
8=12111,H,27500,34,S2,8PSK
9=12130,V,27500,34,S2,8PSK
10=12149,H,27500,34,DVB-S,QPSK
11=12169,V,27500,56,S2,8PSK
12=12188,H,27500,34,DVB-S,QPSK
13=12226,H,27500,34,DVB-S,QPSK
14=12245,V,27500,56,S2,8PSK
15=12265,H,27500,34,S2,8PSK
16=12284,V,27500,34,DVB-S,QPSK
17=12303,H,27500,34,S2,8PSK
18=12322,V,27500,56,S2,8PSK
19=12341,H,27500,34,S2,8PSK
20=12399,V,27500,56,S2,8PSK
21=12437,V,27500,56,DVB-S,QPSK
22=12476,V,27500,56,S2,8PSK

View File

@@ -1,67 +0,0 @@
; file generated on saturday, 22nd of august 2015, 19:35:09 [GMT]
; by online transponder .ini generator @ http://satellites-xml.eu
; please let us know if you find any inconsistencies in this file
[SATTYPE]
1=0570
2=NSS 12 (57.0E)
[DVB]
0=58
1=3632,V,2625,23,DVB-S,QPSK
2=3636,V,1762,23,DVB-S,QPSK
3=3661,H,8882,34,DVB-S,QPSK
4=3800,V,20000,35,S2,QPSK
5=3912,V,2222,23,DVB-S,QPSK
6=4026,H,2963,34,DVB-S,QPSK
7=4031,H,3689,34,DVB-S,QPSK
8=4055,V,26000,34,DVB-S,QPSK
9=4061,H,3500,12,DVB-S,QPSK
10=4065,H,3500,12,DVB-S,QPSK
11=4069,V,3500,12,DVB-S,QPSK
12=4071,H,3500,12,DVB-S,QPSK
13=4074,V,3500,12,DVB-S,QPSK
14=4079,H,2000,78,DVB-S,QPSK
15=4082,H,2000,12,DVB-S,QPSK
16=4147,V,9246,56,S2,QPSK
17=11007,H,4883,12,DVB-S,QPSK
18=11039,V,3100,34,DVB-S,QPSK
19=11042,H,2600,34,DVB-S,QPSK
20=11051,H,1230,34,DVB-S,QPSK
21=11105,H,45000,45,S2,QPSK
22=11129,V,2200,34,DVB-S,QPSK
23=11134,V,2200,34,S2,QPSK
24=11140,V,2200,56,S2,8PSK
25=11181,V,2400,56,S2,8PSK
26=11184,V,1211,34,S2,QPSK
27=11186,V,2290,34,DVB-S,QPSK
28=11189,V,1775,34,S2,QPSK
29=11191,V,1452,34,S2,QPSK
30=11460,H,3500,23,DVB-S,QPSK
31=11461,H,3500,23,DVB-S,QPSK
32=11464,H,3100,34,DVB-S,QPSK
33=11469,H,3100,34,DVB-S,QPSK
34=11473,H,3100,34,DVB-S,QPSK
35=11499,H,4090,23,DVB-S,QPSK
36=11503,H,2880,12,DVB-S,QPSK
37=11509,H,3333,23,DVB-S,QPSK
38=11510,H,3330,Auto,DVB-S,QPSK
39=11520,H,2222,56,S2,8PSK
40=11554,H,3300,34,S2,QPSK
41=11598,H,4200,78,DVB-S,QPSK
42=11604,H,4200,78,DVB-S,QPSK
43=11605,H,45000,45,S2,QPSK
44=11606,V,1852,56,S2,8PSK
45=11645,V,3333,34,DVB-S,QPSK
46=12292,V,2500,34,DVB-S,QPSK
47=12306,V,2000,34,DVB-S,QPSK
48=12313,V,2123,56,DVB-S,QPSK
49=12316,V,2123,34,DVB-S,QPSK
50=12413,V,1600,34,DVB-S,QPSK
51=12429,V,3500,34,S2,8PSK
52=12554,V,1800,34,DVB-S,QPSK
53=12556,V,1600,34,DVB-S,QPSK
54=12559,V,1600,34,DVB-S,QPSK
55=12571,V,2500,34,DVB-S,QPSK
56=12579,V,4000,34,DVB-S,QPSK
57=12621,V,2000,34,DVB-S,QPSK
58=12625,V,2200,34,DVB-S,QPSK

View File

@@ -1,48 +0,0 @@
; file generated on saturday, 22nd of august 2015, 19:35:09 [GMT]
; by online transponder .ini generator @ http://satellites-xml.eu
; please let us know if you find any inconsistencies in this file
[SATTYPE]
1=0600
2=Intelsat 904 (60.0E)
[DVB]
0=39
1=3676,H,3617,34,DVB-S,QPSK
2=3698,V,1666,56,S2,QPSK
3=3718,H,13333,78,DVB-S,QPSK
4=3730,H,2815,34,DVB-S,QPSK
5=3740,H,10750,56,DVB-S,QPSK
6=3744,V,18315,56,S2,QPSK
7=3756,V,2315,34,DVB-S,QPSK
8=3759,V,2315,34,DVB-S,QPSK
9=3765,V,5000,34,DVB-S,QPSK
10=3768,V,2067,34,S2,8PSK
11=3775,V,9361,12,S2,8PSK
12=3964,V,5000,34,DVB-S,QPSK
13=4168,V,14240,34,S2,8PSK
14=4185,V,2895,34,DVB-S,QPSK
15=4194,H,1594,Auto,DVB-S,QPSK
16=4194,V,6111,34,DVB-S,QPSK
17=10957,V,3700,34,DVB-S,QPSK
18=10962,V,3730,34,DVB-S,QPSK
19=10964,H,3327,34,DVB-S,QPSK
20=10967,V,2573,78,DVB-S,QPSK
21=10973,V,3330,34,DVB-S,QPSK
22=10977,V,3225,34,DVB-S,QPSK
23=11020,V,3700,34,DVB-S,QPSK
24=11460,V,3730,34,DVB-S,QPSK
25=11464,V,1000,78,DVB-S,QPSK
26=11473,V,1324,56,S2,8PSK
27=11475,V,1324,56,S2,8PSK
28=11477,V,1324,56,S2,8PSK
29=11481,V,2645,34,S2,8PSK
30=11484,V,2645,78,DVB-S,QPSK
31=11490,V,5788,34,DVB-S,QPSK
32=11497,V,4284,78,DVB-S,QPSK
33=11502,V,4284,78,DVB-S,QPSK
34=11555,H,30000,34,S2,8PSK
35=11567,V,10000,78,DVB-S,QPSK
36=11595,H,29270,56,DVB-S,QPSK
37=11622,V,8527,34,S2,8PSK
38=11635,H,30000,34,S2,8PSK
39=11675,H,30000,34,S2,8PSK

View File

@@ -1,70 +0,0 @@
; file generated on saturday, 22nd of august 2015, 19:35:09 [GMT]
; by online transponder .ini generator @ http://satellites-xml.eu
; please let us know if you find any inconsistencies in this file
[SATTYPE]
1=0620
2=Intelsat 902 (62.0E)
[DVB]
0=61
1=3715,H,6111,34,DVB-S,QPSK
2=3727,V,34286,89,S2,8PSK
3=3763,V,34286,89,S2,8PSK
4=3807,V,34286,89,S2,8PSK
5=3814,H,4213,35,S2,QPSK
6=3843,V,34286,89,S2,8PSK
7=3853,H,1445,Auto,DVB-S,QPSK
8=3857,H,2465,Auto,DVB-S,QPSK
9=3860,H,3100,34,DVB-S,QPSK
10=3967,H,9326,Auto,DVB-S,QPSK
11=3992,H,26000,56,DVB-S,QPSK
12=4047,V,4444,12,DVB-S,QPSK
13=4055,V,34286,89,S2,8PSK
14=4107,H,12780,78,DVB-S,QPSK
15=10952,V,2700,78,DVB-S,QPSK
16=10961,V,3000,78,DVB-S,QPSK
17=10967,V,3000,78,DVB-S,QPSK
18=10975,V,3200,34,S2,8PSK
19=10978,V,1591,56,S2,8PSK
20=10982,V,4800,34,S2,8PSK
21=10986,V,1600,34,S2,8PSK
22=10989,V,3200,34,S2,8PSK
23=10992,V,1600,34,S2,8PSK
24=10996,V,4800,34,S2,8PSK
25=10998,H,3333,34,DVB-S,QPSK
26=11003,V,4800,34,S2,8PSK
27=11008,V,3200,34,S2,8PSK
28=11011,V,1600,34,S2,8PSK
29=11015,V,4800,34,S2,8PSK
30=11019,V,1600,34,S2,8PSK
31=11022,V,3200,34,S2,8PSK
32=11025,V,1600,34,S2,8PSK
33=11029,V,4820,34,S2,8PSK
34=11036,H,3000,34,DVB-S,QPSK
35=11043,H,2300,78,DVB-S,QPSK
36=11058,V,6111,34,DVB-S,QPSK
37=11063,H,3100,34,DVB-S,QPSK
38=11074,H,2300,78,DVB-S,QPSK
39=11082,H,3333,34,DVB-S,QPSK
40=11085,H,2700,78,DVB-S,QPSK
41=11088,H,2800,78,DVB-S,QPSK
42=11091,H,3400,34,DVB-S,QPSK
43=11122,H,2600,34,S2,8PSK
44=11165,H,2300,78,DVB-S,QPSK
45=11168,H,2500,78,DVB-S,QPSK
46=11172,H,2190,78,DVB-S,QPSK
47=11467,H,12500,34,S2,8PSK
48=11509,H,7500,34,S2,8PSK
49=11513,V,2300,34,S2,8PSK
50=11518,H,7500,34,S2,8PSK
51=11522,V,2200,78,DVB-S,QPSK
52=11555,V,30000,23,S2,8PSK
53=11555,H,28900,34,S2,8PSK
54=11587,V,5632,34,DVB-S,QPSK
55=11595,H,31003,78,DVB-S,QPSK
56=11625,V,1550,78,DVB-S,QPSK
57=11662,H,7500,56,S2,QPSK
58=11674,H,2200,78,DVB-S,QPSK
59=11680,H,10000,34,S2,8PSK
60=11683,V,15000,56,S2,8PSK
61=11688,H,7500,34,S2,8PSK

View File

@@ -1,28 +0,0 @@
; file generated on saturday, 22nd of august 2015, 19:35:09 [GMT]
; by online transponder .ini generator @ http://satellites-xml.eu
; please let us know if you find any inconsistencies in this file
[SATTYPE]
1=0642
2=Intelsat 906 (64.2E)
[DVB]
0=19
1=3644,V,8545,23,DVB-S,QPSK
2=3654,V,5632,34,DVB-S,QPSK
3=3721,V,4882,23,DVB-S,QPSK
4=3760,H,2790,78,DVB-S,QPSK
5=3765,V,1413,34,S2,QPSK
6=3884,H,4900,12,DVB-S,QPSK
7=3893,H,3072,12,DVB-S,QPSK
8=3900,H,3800,12,DVB-S,QPSK
9=4039,H,2034,23,DVB-S,QPSK
10=4044,H,2848,Auto,DVB-S,QPSK
11=4066,H,2848,23,DVB-S,QPSK
12=4094,H,3680,23,DVB-S,QPSK
13=4185,V,2532,34,DVB-S,QPSK
14=10990,V,53000,34,S2,QPSK
15=11127,V,4000,34,DVB-S,QPSK
16=11134,V,4000,34,DVB-S,QPSK
17=11140,V,4000,34,DVB-S,QPSK
18=11146,V,4000,34,DVB-S,QPSK
19=11152,V,4000,34,DVB-S,QPSK

View File

@@ -1,15 +0,0 @@
; file generated on saturday, 22nd of august 2015, 19:35:09 [GMT]
; by online transponder .ini generator @ http://satellites-xml.eu
; please let us know if you find any inconsistencies in this file
[SATTYPE]
1=0650
2=Amos 4 (65.0E)
[DVB]
0=6
1=10736,V,45000,23,S2,QPSK
2=10790,V,45000,23,S2,QPSK
3=10861,V,45000,12,S2,QPSK
4=10915,V,45000,12,S2,QPSK
5=11236,V,45000,12,S2,QPSK
6=11290,V,45000,12,S2,QPSK

View File

@@ -1,39 +0,0 @@
; file generated on saturday, 22nd of august 2015, 19:35:09 [GMT]
; by online transponder .ini generator @ http://satellites-xml.eu
; please let us know if you find any inconsistencies in this file
[SATTYPE]
1=0660
2=Intelsat 17 (66.0E)
[DVB]
0=30
1=3845,H,30000,34,S2,8PSK
2=3845,V,27692,78,DVB-S,QPSK
3=3876,H,14300,34,S2,8PSK
4=3885,V,30000,34,S2,8PSK
5=3894,H,13840,56,S2,8PSK
6=3914,H,11200,34,S2,8PSK
7=3925,V,30000,34,S2,8PSK
8=3966,H,14400,23,S2,8PSK
9=3968,V,8800,23,S2,8PSK
10=3984,H,14400,23,S2,8PSK
11=4006,H,14400,23,S2,8PSK
12=4015,V,30000,34,S2,8PSK
13=4024,H,14400,23,S2,8PSK
14=4121,H,7200,34,S2,QPSK
15=10962,H,3100,Auto,DVB-S,QPSK
16=11011,H,2811,34,DVB-S,QPSK
17=11498,H,2400,Auto,DVB-S,QPSK
18=11505,H,13271,34,DVB-S,QPSK
19=11515,H,1735,Auto,DVB-S,QPSK
20=11519,H,3255,34,DVB-S,QPSK
21=11527,H,3094,Auto,DVB-S,QPSK
22=11556,H,20129,12,S2,QPSK
23=12602,H,2000,56,S2,QPSK
24=12605,H,1025,78,DVB-S,QPSK
25=12613,H,3965,78,DVB-S,QPSK
26=12648,H,3900,78,DVB-S,QPSK
27=12652,H,3900,78,DVB-S,QPSK
28=12687,H,3400,78,DVB-S,QPSK
29=12703,H,3400,78,DVB-S,QPSK
30=12708,H,3400,78,DVB-S,QPSK

View File

@@ -1,110 +0,0 @@
; file generated on saturday, 22nd of august 2015, 19:35:09 [GMT]
; by online transponder .ini generator @ http://satellites-xml.eu
; please let us know if you find any inconsistencies in this file
[SATTYPE]
1=0685
2=Intelsat 20 (68.5E)
[DVB]
0=101
1=3708,V,7900,34,S2,8PSK
2=3712,H,14454,34,S2,QPSK
3=3723,V,9600,34,S2,8PSK
4=3732,V,7200,34,S2,8PSK
5=3739,H,26590,12,DVB-S,QPSK
6=3742,V,7000,34,S2,8PSK
7=3752,V,9300,34,S2,8PSK
8=3765,V,2950,56,DVB-S,QPSK
9=3774,V,2944,34,DVB-S,QPSK
10=3777,V,2940,34,DVB-S,QPSK
11=3782,V,2965,34,DVB-S,QPSK
12=3790,H,7200,34,S2,8PSK
13=3790,V,1681,34,S2,QPSK
14=3796,V,7300,34,S2,8PSK
15=3802,H,10000,34,DVB-S,QPSK
16=3802,V,1954,34,DVB-S,QPSK
17=3810,H,3312,23,DVB-S,QPSK
18=3828,V,7200,23,S2,8PSK
19=3836,V,7200,23,S2,8PSK
20=3838,H,16296,34,DVB-S,QPSK
21=3845,V,6111,34,DVB-S,QPSK
22=3854,V,7500,34,DVB-S,QPSK
23=3863,V,6111,34,DVB-S,QPSK
24=3867,V,9875,34,S2,8PSK
25=3873,V,7200,34,DVB-S,QPSK
26=3887,V,2960,34,DVB-S,QPSK
27=3891,V,1954,56,DVB-S,QPSK
28=3900,H,22222,56,DVB-S,QPSK
29=3900,V,10370,34,DVB-S,QPSK
30=3913,V,6510,34,DVB-S,QPSK
31=3919,H,1600,56,S2,QPSK
32=3922,H,3200,56,S2,QPSK
33=3922,V,7000,56,S2,QPSK
34=3930,H,9600,56,S2,QPSK
35=3940,V,7200,34,S2,QPSK
36=3974,H,19500,34,DVB-S,QPSK
37=3974,V,19850,34,DVB-S,QPSK
38=3994,H,4000,23,DVB-S,QPSK
39=3996,V,6666,34,DVB-S,QPSK
40=4000,H,6500,34,DVB-S,QPSK
41=4003,V,7200,34,S2,8PSK
42=4006,H,2990,34,DVB-S,QPSK
43=4013,H,7200,34,S2,8PSK
44=4013,V,6111,34,DVB-S,QPSK
45=4034,H,20500,23,DVB-S,QPSK
46=4036,V,21600,56,S2,QPSK
47=4054,V,4400,34,DVB-S,QPSK
48=4059,V,3529,34,DVB-S,QPSK
49=4064,H,19850,78,DVB-S,QPSK
50=4064,V,4400,34,DVB-S,QPSK
51=4070,V,4340,34,DVB-S,QPSK
52=4076,V,3600,34,S2,8PSK
53=4085,V,7020,34,DVB-S,QPSK
54=4090,H,14368,34,S2,8PSK
55=4092,V,2963,34,DVB-S,QPSK
56=4103,H,5720,34,DVB-S,QPSK
57=4103,V,7800,34,S2,8PSK
58=4117,H,3333,23,DVB-S,QPSK
59=4118,V,8800,Auto,S2,8PSK
60=4130,H,6400,34,S2,8PSK
61=4130,V,10369,34,DVB-S,QPSK
62=4150,H,15000,23,S2,8PSK
63=4155,V,22500,56,S2,8PSK
64=4163,H,7200,34,S2,QPSK
65=4184,V,21600,56,S2,8PSK
66=10970,V,30000,56,DVB-S,QPSK
67=10970,H,30000,56,DVB-S,QPSK
68=11010,V,30000,56,DVB-S,QPSK
69=11010,H,30000,56,DVB-S,QPSK
70=11014,V,3750,34,S2,8PSK
71=11050,V,30000,23,S2,8PSK
72=11050,H,30000,56,DVB-S,QPSK
73=11090,V,30000,56,DVB-S,QPSK
74=11090,H,30000,56,DVB-S,QPSK
75=11092,H,1024,34,DVB-S,QPSK
76=11130,V,30000,56,DVB-S,QPSK
77=11130,H,30000,56,DVB-S,QPSK
78=11170,V,28800,56,S2,8PSK
79=11170,H,30000,56,DVB-S,QPSK
80=11474,H,30000,56,DVB-S,QPSK
81=11477,V,2170,34,DVB-S,QPSK
82=11514,V,28750,12,S2,QPSK
83=11514,H,30000,23,S2,8PSK
84=11554,V,30000,23,S2,8PSK
85=11554,H,30000,23,S2,8PSK
86=11594,V,27500,56,DVB-S,QPSK
87=11594,H,30000,56,DVB-S,QPSK
88=11634,V,30000,56,DVB-S,QPSK
89=11634,H,30000,23,S2,8PSK
90=11674,H,30000,56,DVB-S,QPSK
91=12522,V,27500,34,DVB-S,QPSK
92=12562,H,26657,23,DVB-S,QPSK
93=12567,V,3100,34,DVB-S,QPSK
94=12574,V,9700,12,DVB-S,QPSK
95=12602,V,26657,23,DVB-S,QPSK
96=12638,V,4690,34,DVB-S,QPSK
97=12657,V,4883,34,DVB-S,QPSK
98=12682,V,30000,23,DVB-S,QPSK
99=12682,H,26657,23,DVB-S,QPSK
100=12722,V,26657,12,DVB-S,QPSK
101=12722,H,26657,23,DVB-S,QPSK

View File

@@ -1,20 +0,0 @@
; file generated on saturday, 22nd of august 2015, 19:35:09 [GMT]
; by online transponder .ini generator @ http://satellites-xml.eu
; please let us know if you find any inconsistencies in this file
[SATTYPE]
1=0705
2=Eutelsat 70B (70.5E)
[DVB]
0=11
1=11092,V,1028,34,DVB-S,QPSK
2=11211,H,5110,12,DVB-S,QPSK
3=11213,V,16667,56,S2,8PSK
4=11255,V,4832,Auto,S2,QPSK
5=11294,H,44900,23,S2,QPSK
6=11356,V,44900,34,S2,QPSK
7=11477,V,2170,12,S2,QPSK
8=11490,V,2150,23,S2,QPSK
9=11520,V,3332,12,S2,QPSK
10=11555,H,3034,12,S2,QPSK
11=11565,H,11401,Auto,S2,QPSK

View File

@@ -1,14 +0,0 @@
; file generated on saturday, 22nd of august 2015, 19:35:09 [GMT]
; by online transponder .ini generator @ http://satellites-xml.eu
; please let us know if you find any inconsistencies in this file
[SATTYPE]
1=0721
2=Intelsat 22 (72.1E)
[DVB]
0=5
1=3724,H,16073,34,S2,8PSK
2=3735,H,2325,23,S2,8PSK
3=3754,H,7500,34,DVB-S,QPSK
4=4067,V,6111,34,DVB-S,QPSK
5=12541,H,2300,34,DVB-S,QPSK

View File

@@ -1,47 +0,0 @@
; file generated on saturday, 22nd of august 2015, 19:35:09 [GMT]
; by online transponder .ini generator @ http://satellites-xml.eu
; please let us know if you find any inconsistencies in this file
[SATTYPE]
1=0740
2=Insat 3C/4CR (74.0E)
[DVB]
0=38
1=3740,V,2500,34,DVB-S,QPSK
2=3745,V,2500,34,DVB-S,QPSK
3=3752,V,2500,34,DVB-S,QPSK
4=3756,V,2500,34,DVB-S,QPSK
5=3776,V,3800,34,DVB-S,QPSK
6=3780,H,6250,34,DVB-S,QPSK
7=3781,V,2000,34,DVB-S,QPSK
8=3788,V,3800,34,DVB-S,QPSK
9=3796,V,3800,34,DVB-S,QPSK
10=3801,V,3800,34,DVB-S,QPSK
11=3868,H,2250,34,DVB-S,QPSK
12=3871,H,2250,34,DVB-S,QPSK
13=3874,H,1923,34,DVB-S,QPSK
14=3879,H,2200,34,DVB-S,QPSK
15=3884,H,2250,34,DVB-S,QPSK
16=3889,H,2250,34,DVB-S,QPSK
17=3895,H,2000,34,DVB-S,QPSK
18=3898,H,1500,34,DVB-S,QPSK
19=3901,H,1500,34,DVB-S,QPSK
20=4165,H,26000,12,DVB-S,QPSK
21=11513,H,3000,23,DVB-S,QPSK
22=11520,H,1700,34,DVB-S,QPSK
23=11523,H,1700,34,DVB-S,QPSK
24=11526,H,1700,34,DVB-S,QPSK
25=11578,H,5000,78,DVB-S,QPSK
26=11587,V,4000,78,DVB-S,QPSK
27=11592,V,2000,34,DVB-S,QPSK
28=11597,H,2000,34,DVB-S,QPSK
29=11599,V,1800,34,DVB-S,QPSK
30=11603,V,2000,34,DVB-S,QPSK
31=11607,V,2000,34,DVB-S,QPSK
32=11656,V,3333,34,DVB-S,QPSK
33=11667,V,3000,34,DVB-S,QPSK
34=11672,V,2500,34,DVB-S,QPSK
35=11680,H,1400,34,DVB-S,QPSK
36=11680,V,2965,34,DVB-S,QPSK
37=11683,H,1600,34,DVB-S,QPSK
38=11685,V,2900,78,DVB-S,QPSK

View File

@@ -1,44 +0,0 @@
; file generated on saturday, 22nd of august 2015, 19:35:09 [GMT]
; by online transponder .ini generator @ http://satellites-xml.eu
; please let us know if you find any inconsistencies in this file
[SATTYPE]
1=0750
2=ABS 2 (75.0E)
[DVB]
0=35
1=3545,H,1956,34,S2,QPSK
2=3590,V,1850,34,DVB-S,QPSK
3=3618,V,29000,56,S2,QPSK
4=3766,V,3000,34,DVB-S,QPSK
5=3770,V,2142,23,S2,8PSK
6=3772,V,2400,23,S2,QPSK
7=3779,V,7495,34,DVB-S,QPSK
8=3781,V,35342,23,S2,QPSK
9=3791,V,3703,23,DVB-S,QPSK
10=3846,V,2300,34,DVB-S,QPSK
11=3942,V,30000,23,S2,QPSK
12=3978,V,29000,56,S2,QPSK
13=4123,V,2800,56,S2,8PSK
14=10985,H,35007,34,S2,8PSK
15=11045,H,44922,56,DVB-S,QPSK
16=11105,H,43200,56,DVB-S,QPSK
17=11473,V,22500,34,S2,8PSK
18=11491,V,4650,23,S2,8PSK
19=11505,V,3400,78,DVB-S,QPSK
20=11531,V,22000,56,DVB-S,QPSK
21=11559,V,22000,56,DVB-S,QPSK
22=11605,V,43200,78,DVB-S,QPSK
23=11665,V,44922,56,DVB-S,QPSK
24=11733,V,43000,56,DVB-S,QPSK
25=11734,H,44000,23,DVB-S,QPSK
26=11790,H,44000,23,DVB-S,QPSK
27=11793,V,43200,56,DVB-S,QPSK
28=11853,V,45000,23,S2,8PSK
29=11913,V,45000,23,S2,8PSK
30=11973,V,45000,23,S2,8PSK
31=12033,V,45000,23,S2,8PSK
32=12093,V,45000,23,S2,8PSK
33=12153,V,45000,23,S2,8PSK
34=12153,H,41900,45,S2,QPSK
35=12524,H,30000,12,DVB-S,QPSK

View File

@@ -1,85 +0,0 @@
; file generated on saturday, 22nd of august 2015, 19:35:09 [GMT]
; by online transponder .ini generator @ http://satellites-xml.eu
; please let us know if you find any inconsistencies in this file
[SATTYPE]
1=0765
2=Apstar 7 (76.5E)
[DVB]
0=76
1=3629,H,1489,34,S2,QPSK
2=3638,H,1600,35,S2,8PSK
3=3685,V,3333,34,DVB-S,QPSK
4=3690,H,13000,34,S2,8PSK
5=3705,V,8888,23,S2,8PSK
6=3720,H,29620,34,S2,8PSK
7=3747,H,2500,34,DVB-S,QPSK
8=3753,H,2400,34,DVB-S,QPSK
9=3757,H,4440,34,S2,QPSK
10=3769,H,13333,56,DVB-S,QPSK
11=3780,V,30000,34,S2,8PSK
12=3787,H,4600,23,DVB-S,QPSK
13=3793,H,4443,34,DVB-S,QPSK
14=3805,H,4800,34,S2,8PSK
15=3812,H,2200,34,S2,8PSK
16=3815,H,3333,34,DVB-S,QPSK
17=3824,H,2400,34,DVB-S,QPSK
18=3832,V,6111,34,DVB-S,QPSK
19=3835,H,3256,34,DVB-S,QPSK
20=3840,H,3000,34,DVB-S,QPSK
21=3847,H,5357,78,DVB-S,QPSK
22=3847,V,7857,56,S2,QPSK
23=3852,H,3000,34,DVB-S,QPSK
24=3857,H,3200,Auto,S2,8PSK
25=3880,H,30000,34,S2,8PSK
26=3914,V,3255,34,DVB-S,QPSK
27=3920,H,28340,56,DVB-S,QPSK
28=3932,V,1480,34,DVB-S,QPSK
29=3951,V,1480,34,DVB-S,QPSK
30=3960,H,30000,34,S2,8PSK
31=3985,H,3700,34,DVB-S,QPSK
32=3990,H,4300,34,S2,QPSK
33=3998,H,3200,34,DVB-S,QPSK
34=4003,H,4340,34,DVB-S,QPSK
35=4009,H,4300,34,DVB-S,QPSK
36=4016,H,4340,34,DVB-S,QPSK
37=4019,V,2222,23,S2,QPSK
38=4022,V,2961,12,DVB-S,QPSK
39=4026,H,4800,34,DVB-S,QPSK
40=4034,H,4300,34,DVB-S,QPSK
41=4038,H,1600,23,S2,8PSK
42=4041,H,1600,23,S2,QPSK
43=4044,H,1600,23,S2,QPSK
44=4048,V,2450,23,S2,8PSK
45=4050,H,4300,34,DVB-S,QPSK
46=4056,H,3600,35,S2,8PSK
47=4059,V,7857,56,S2,QPSK
48=4063,H,1250,34,DVB-S,QPSK
49=4067,H,2500,89,S2,QPSK
50=4079,H,1600,34,S2,QPSK
51=4082,H,2857,23,S2,8PSK
52=4088,V,7750,56,S2,8PSK
53=4104,H,5000,34,S2,QPSK
54=4110,H,4600,34,DVB-S,QPSK
55=4117,H,4285,34,DVB-S,QPSK
56=4125,H,4441,34,DVB-S,QPSK
57=4129,V,11395,34,DVB-S,QPSK
58=4131,H,3600,34,DVB-S,QPSK
59=4135,H,3333,34,DVB-S,QPSK
60=4151,H,14670,34,S2,8PSK
61=4188,V,3200,34,DVB-S,QPSK
62=10973,V,24500,23,S2,QPSK
63=11010,V,30000,12,DVB-S,QPSK
64=11052,V,30000,23,DVB-S,QPSK
65=11105,V,45000,23,DVB-S,QPSK
66=11167,V,45000,23,DVB-S,QPSK
67=11532,H,3732,56,S2,8PSK
68=11536,H,3732,56,S2,8PSK
69=11541,H,3450,34,S2,8PSK
70=11547,H,2500,34,S2,QPSK
71=11568,H,3330,34,S2,8PSK
72=11596,H,3732,56,S2,8PSK
73=12531,V,15000,34,S2,QPSK
74=12604,V,30000,56,S2,QPSK
75=12638,V,15000,34,S2,8PSK
76=12719,V,45000,56,S2,QPSK

View File

@@ -1,112 +0,0 @@
; file generated on saturday, 22nd of august 2015, 19:35:09 [GMT]
; by online transponder .ini generator @ http://satellites-xml.eu
; please let us know if you find any inconsistencies in this file
[SATTYPE]
1=0785
2=Thaicom 5/6 (78.5E)
[DVB]
0=103
1=3408,V,2916,34,DVB-S,QPSK
2=3414,V,2916,34,DVB-S,QPSK
3=3418,V,3750,34,S2,QPSK
4=3422,V,2222,34,DVB-S,QPSK
5=3425,V,2592,12,DVB-S,QPSK
6=3433,V,5000,34,DVB-S,QPSK
7=3438,V,2915,34,DVB-S,QPSK
8=3440,H,26666,34,DVB-S,QPSK
9=3441,V,1556,34,DVB-S,QPSK
10=3444,V,1630,34,DVB-S,QPSK
11=3450,V,2500,34,DVB-S,QPSK
12=3454,V,3333,34,DVB-S,QPSK
13=3457,V,2857,34,DVB-S,QPSK
14=3462,V,2857,34,DVB-S,QPSK
15=3480,H,30000,56,DVB-S,QPSK
16=3515,V,2917,34,DVB-S,QPSK
17=3520,H,28125,34,DVB-S,QPSK
18=3545,V,30000,56,DVB-S,QPSK
19=3551,H,13333,34,DVB-S,QPSK
20=3563,H,5555,35,S2,8PSK
21=3574,H,6510,34,DVB-S,QPSK
22=3585,V,30000,56,DVB-S,QPSK
23=3600,H,26667,34,DVB-S,QPSK
24=3625,V,30000,34,S2,8PSK
25=3640,H,28066,34,DVB-S,QPSK
26=3665,H,3704,34,DVB-S,QPSK
27=3683,H,7500,34,S2,8PSK
28=3690,H,2417,78,DVB-S,QPSK
29=3696,H,4167,35,S2,8PSK
30=3703,V,3333,78,DVB-S,QPSK
31=3709,H,13333,23,S2,8PSK
32=3711,V,1458,78,DVB-S,QPSK
33=3715,V,1481,34,DVB-S,QPSK
34=3718,V,1600,34,DVB-S,QPSK
35=3719,H,2500,23,S2,8PSK
36=3731,H,12500,78,DVB-S,QPSK
37=3745,V,4688,34,DVB-S,QPSK
38=3749,V,4688,34,DVB-S,QPSK
39=3757,V,4688,34,DVB-S,QPSK
40=3758,H,28066,34,DVB-S,QPSK
41=3760,H,30000,56,DVB-S,QPSK
42=3784,V,4262,34,DVB-S,QPSK
43=3792,V,4262,34,DVB-S,QPSK
44=3797,V,4262,34,DVB-S,QPSK
45=3800,H,30000,56,DVB-S,QPSK
46=3803,V,4551,34,DVB-S,QPSK
47=3809,V,4550,34,DVB-S,QPSK
48=3826,H,4700,34,DVB-S,QPSK
49=3834,H,8000,56,S2,8PSK
50=3840,V,30000,56,DVB-S,QPSK
51=3841,H,2900,34,DVB-S,QPSK
52=3847,H,4700,34,DVB-S,QPSK
53=3851,H,2900,34,DVB-S,QPSK
54=3880,H,30000,34,DVB-S,QPSK
55=3910,V,14650,45,S2,QPSK
56=3920,H,30000,34,DVB-S,QPSK
57=3930,V,15000,56,S2,QPSK
58=3949,V,2550,78,DVB-S,QPSK
59=3975,V,2500,35,S2,8PSK
60=3990,V,12000,23,S2,8PSK
61=4000,V,4815,34,DVB-S,QPSK
62=4000,H,30000,23,S2,8PSK
63=4005,V,4815,34,DVB-S,QPSK
64=4017,V,1800,34,DVB-S,QPSK
65=4040,H,30000,23,S2,8PSK
66=4053,V,8333,34,DVB-S,QPSK
67=4080,H,30000,35,S2,8PSK
68=4091,V,2000,34,DVB-S,QPSK
69=4096,V,5295,34,DVB-S,QPSK
70=4120,V,30000,910,S2,QPSK
71=4120,H,30000,56,DVB-S,QPSK
72=4144,H,2530,34,DVB-S,QPSK
73=4148,H,4688,34,DVB-S,QPSK
74=4154,H,3125,34,DVB-S,QPSK
75=4157,H,2530,34,DVB-S,QPSK
76=4160,V,30000,56,DVB-S,QPSK
77=4160,H,2530,34,DVB-S,QPSK
78=4163,H,2530,34,DVB-S,QPSK
79=4167,H,2530,34,DVB-S,QPSK
80=4170,H,2530,34,DVB-S,QPSK
81=4173,H,2530,34,DVB-S,QPSK
82=4177,H,2530,34,DVB-S,QPSK
83=12272,H,30000,23,DVB-S,QPSK
84=12313,H,30000,23,DVB-S,QPSK
85=12313,V,30000,34,DVB-S,QPSK
86=12355,H,30000,56,DVB-S,QPSK
87=12355,V,30000,23,S2,8PSK
88=12396,H,30000,35,S2,8PSK
89=12405,V,45000,34,S2,8PSK
90=12438,H,30000,23,DVB-S,QPSK
91=12467,V,45000,34,DVB-S,QPSK
92=12479,H,30000,35,S2,8PSK
93=12521,H,30000,35,S2,8PSK
94=12521,V,30000,34,S2,8PSK
95=12562,H,25776,23,DVB-S,QPSK
96=12562,V,30000,34,S2,8PSK
97=12604,H,30000,56,DVB-S,8PSK
98=12604,V,30000,34,DVB-S,QPSK
99=12645,V,30000,23,S2,8PSK
100=12657,H,45000,34,S2,8PSK
101=12687,V,30000,23,DVB-S,QPSK
102=12720,H,45000,34,S2,8PSK
103=12728,V,30000,23,DVB-S,QPSK

View File

@@ -1,74 +0,0 @@
; file generated on saturday, 22nd of august 2015, 19:35:09 [GMT]
; by online transponder .ini generator @ http://satellites-xml.eu
; please let us know if you find any inconsistencies in this file
[SATTYPE]
1=0830
2=G-Sat 10/Insat 4A (83.0E)
[DVB]
0=65
1=3725,H,26666,34,DVB-S,QPSK
2=3756,H,13333,34,DVB-S,QPSK
3=3756,V,3200,Auto,DVB-S,QPSK
4=3767,H,3000,34,S2,QPSK
5=3774,V,4250,Auto,DVB-S,QPSK
6=3777,H,10900,34,DVB-S,QPSK
7=3805,H,28500,78,DVB-S,QPSK
8=3828,H,3200,34,DVB-S,QPSK
9=3832,H,2100,34,DVB-S,QPSK
10=3836,H,1800,34,DVB-S,QPSK
11=3841,H,6920,78,DVB-S,QPSK
12=3847,H,3333,34,DVB-S,QPSK
13=3860,H,6920,34,DVB-S,QPSK
14=3868,H,3000,34,DVB-S,QPSK
15=3874,H,3400,34,S2,8PSK
16=3880,H,4600,34,DVB-S,QPSK
17=3884,H,1500,34,DVB-S,QPSK
18=3888,H,1071,34,DVB-S,QPSK
19=3892,H,3300,34,DVB-S,QPSK
20=3898,H,6800,34,DVB-S,QPSK
21=3909,H,4000,34,S2,8PSK
22=3921,H,13000,78,DVB-S,QPSK
23=3936,H,10100,78,DVB-S,QPSK
24=3949,H,3673,56,S2,8PSK
25=3958,H,9500,78,DVB-S,QPSK
26=3968,H,2000,34,DVB-S,QPSK
27=3976,H,3200,34,DVB-S,QPSK
28=3979,H,1451,34,DVB-S,QPSK
29=3983,H,1451,34,DVB-S,QPSK
30=3990,H,2140,34,DVB-S,QPSK
31=4004,H,22220,56,DVB-S,QPSK
32=4020,H,2140,34,DVB-S,QPSK
33=4030,H,4440,34,DVB-S,QPSK
34=4040,H,7500,78,DVB-S,QPSK
35=4054,H,13230,34,DVB-S,QPSK
36=4072,H,6500,34,DVB-S,QPSK
37=4076,H,1500,34,DVB-S,QPSK
38=4080,H,2000,34,DVB-S,QPSK
39=4083,H,2100,34,DVB-S,QPSK
40=4087,H,3300,34,DVB-S,QPSK
41=4091,H,3000,34,DVB-S,QPSK
42=4096,H,2170,23,S2,8PSK
43=4100,H,4750,34,DVB-S,QPSK
44=4109,H,1800,34,DVB-S,QPSK
45=4115,H,7776,34,DVB-S,QPSK
46=4122,H,1800,34,DVB-S,QPSK
47=4133,H,11888,34,S2,8PSK
48=4142,H,1255,34,DVB-S,QPSK
49=4151,H,6500,34,DVB-S,QPSK
50=4161,H,6500,34,DVB-S,QPSK
51=4170,H,4650,34,DVB-S,QPSK
52=4175,H,2977,56,DVB-S,QPSK
53=4180,H,3233,34,DVB-S,QPSK
54=10970,H,32000,23,S2,8PSK
55=11010,H,27500,34,DVB-S,8PSK
56=11050,H,32000,23,S2,8PSK
57=11090,H,32000,23,S2,8PSK
58=11130,H,32000,23,S2,8PSK
59=11170,H,32000,23,DVB-S,8PSK
60=11470,H,32000,23,S2,8PSK
61=11510,H,32000,23,S2,8PSK
62=11550,H,32000,23,S2,8PSK
63=11590,H,32000,23,S2,8PSK
64=11630,H,32000,23,S2,8PSK
65=11670,H,32000,23,S2,8PSK

View File

@@ -1,38 +0,0 @@
; file generated on saturday, 22nd of august 2015, 19:35:09 [GMT]
; by online transponder .ini generator @ http://satellites-xml.eu
; please let us know if you find any inconsistencies in this file
[SATTYPE]
1=0851
2=Horizons 2/Intelsat 15 (85.1E)
[DVB]
0=29
1=10969,H,1800,34,S2,8PSK
2=10980,H,2220,34,DVB-S,QPSK
3=11466,H,2000,56,S2,8PSK
4=11468,H,2000,56,S2,8PSK
5=11470,H,1100,56,S2,8PSK
6=11479,H,2200,34,DVB-S,QPSK
7=11483,H,1800,56,DVB-S,QPSK
8=11559,H,2200,78,DVB-S,QPSK
9=11588,H,2500,34,DVB-S,QPSK
10=11594,H,2500,34,DVB-S,QPSK
11=11687,H,2000,89,S2,8PSK
12=11720,H,28800,34,DVB-S,QPSK
13=11760,H,28800,23,S2,8PSK
14=11800,H,28800,23,S2,8PSK
15=11840,H,28800,23,S2,8PSK
16=11872,H,15000,12,DVB-S,8PSK
17=11920,H,28800,23,S2,8PSK
18=11960,H,28800,35,S2,8PSK
19=12000,H,28000,23,DVB-S,QPSK
20=12040,H,28800,34,DVB-S,QPSK
21=12080,H,26700,35,S2,8PSK
22=12120,H,26700,35,S2,8PSK
23=12160,H,28800,35,S2,8PSK
24=12504,V,4217,34,DVB-S,QPSK
25=12510,V,3700,78,DVB-S,QPSK
26=12515,V,3353,34,S2,8PSK
27=12560,V,30000,56,DVB-S,QPSK
28=12600,V,30000,23,S2,8PSK
29=12640,V,30000,56,DVB-S,QPSK

View File

@@ -1,30 +0,0 @@
; file generated on saturday, 22nd of august 2015, 19:35:09 [GMT]
; by online transponder .ini generator @ http://satellites-xml.eu
; please let us know if you find any inconsistencies in this file
[SATTYPE]
1=0865
2=KazSat 2 (86.5E)
[DVB]
0=21
1=11495,V,8750,89,S2,8PSK
2=11504,V,6250,89,S2,8PSK
3=11632,V,1457,89,S2,QPSK
4=11642,V,1080,34,S2,8PSK
5=11643,V,1080,34,S2,8PSK
6=11645,V,1080,34,S2,8PSK
7=11646,V,1080,34,S2,8PSK
8=11647,V,1080,34,S2,8PSK
9=11649,V,1080,34,S2,8PSK
10=11650,V,1080,34,S2,8PSK
11=11651,V,1080,34,S2,8PSK
12=11653,V,1080,34,S2,8PSK
13=11654,V,1080,34,S2,8PSK
14=11656,V,2100,34,S2,8PSK
15=11658,V,1080,34,S2,8PSK
16=11660,V,2100,34,S2,8PSK
17=11663,V,5500,56,S2,8PSK
18=11672,V,5500,34,S2,8PSK
19=11678,V,5500,56,S2,8PSK
20=11683,V,5500,56,S2,8PSK
21=11689,V,5500,56,S2,8PSK

View File

@@ -1,13 +0,0 @@
; file generated on saturday, 22nd of august 2015, 19:35:09 [GMT]
; by online transponder .ini generator @ http://satellites-xml.eu
; please let us know if you find any inconsistencies in this file
[SATTYPE]
1=0875
2=ChinaSat 12 (87.5E)
[DVB]
0=4
1=3774,H,1800,34,S2,QPSK
2=4035,H,1200,34,DVB-S,QPSK
3=4067,H,1500,56,S2,QPSK
4=4140,V,28800,23,S2,8PSK

View File

@@ -1,34 +0,0 @@
; file generated on saturday, 22nd of august 2015, 19:35:09 [GMT]
; by online transponder .ini generator @ http://satellites-xml.eu
; please let us know if you find any inconsistencies in this file
[SATTYPE]
1=0880
2=ST 2 (88.0E)
[DVB]
0=25
1=3629,H,24700,34,S2,8PSK
2=3632,V,30000,34,S2,8PSK
3=3657,H,3000,34,DVB-S,QPSK
4=3671,H,9256,34,DVB-S,QPSK
5=11062,V,1000,89,S2,8PSK
6=11066,V,2000,56,DVB-S,QPSK
7=11164,H,44995,23,S2,8PSK
8=11164,V,44995,23,S2,8PSK
9=11483,V,44995,23,S2,8PSK
10=11483,H,44995,23,S2,8PSK
11=11546,H,44995,23,S2,8PSK
12=11546,V,44995,23,S2,8PSK
13=11609,V,43975,23,S2,8PSK
14=11609,H,44995,23,S2,8PSK
15=11633,H,30000,56,S2,QPSK
16=11669,H,30000,56,S2,QPSK
17=11672,V,44995,23,S2,8PSK
18=11672,H,44995,23,S2,8PSK
19=12516,H,10833,34,DVB-S,QPSK
20=12533,H,9620,34,S2,8PSK
21=12642,H,24000,34,DVB-S,QPSK
22=12702,H,20000,34,DVB-S,QPSK
23=12705,V,2200,56,DVB-S,QPSK
24=12722,H,2200,56,DVB-S,QPSK
25=12730,H,3202,34,DVB-S,QPSK

View File

@@ -1,59 +0,0 @@
; file generated on saturday, 22nd of august 2015, 19:35:09 [GMT]
; by online transponder .ini generator @ http://satellites-xml.eu
; please let us know if you find any inconsistencies in this file
[SATTYPE]
1=0900
2=Yamal 401 (90.0E)
[DVB]
0=50
1=3539,H,2500,34,DVB-S,QPSK
2=3553,H,20000,34,DVB-S,QPSK
3=3582,H,2850,34,DVB-S,QPSK
4=3588,H,4285,34,DVB-S,QPSK
5=3594,H,2850,34,DVB-S,QPSK
6=3600,H,5925,34,DVB-S,QPSK
7=3603,V,3300,34,DVB-S,QPSK
8=3605,H,2626,34,DVB-S,QPSK
9=3613,H,4285,34,DVB-S,QPSK
10=3617,V,1850,34,DVB-S,QPSK
11=3618,H,3038,34,DVB-S,QPSK
12=3623,H,4285,34,DVB-S,QPSK
13=3645,H,28000,34,DVB-S,QPSK
14=3675,H,17500,34,DVB-S,QPSK
15=3819,H,13333,34,S2,8PSK
16=3837,H,14815,34,DVB-S,QPSK
17=3858,H,1850,78,DVB-S,QPSK
18=3908,H,2850,34,DVB-S,QPSK
19=3920,H,3000,34,DVB-S,QPSK
20=3924,H,2850,34,DVB-S,QPSK
21=4026,H,14940,35,S2,8PSK
22=4046,H,15284,34,S2,8PSK
23=4106,V,14990,34,S2,8PSK
24=4124,H,14990,34,S2,8PSK
25=4126,V,15284,34,S2,8PSK
26=4144,H,15284,34,S2,8PSK
27=10972,H,11200,34,DVB-S,QPSK
28=11057,H,22222,34,S2,8PSK
29=11092,H,30000,34,S2,8PSK
30=11131,V,11160,23,S2,8PSK
31=11165,H,25000,23,S2,8PSK
32=11239,V,2737,34,S2,8PSK
33=11462,V,1400,78,DVB-S,QPSK
34=11492,H,6115,34,S2,QPSK
35=11504,H,2080,34,DVB-S,QPSK
36=11507,V,7000,56,DVB-S,QPSK
37=11512,H,6160,Auto,S2,QPSK
38=11524,V,2000,78,DVB-S,QPSK
39=11531,V,4280,34,DVB-S,QPSK
40=11558,H,20000,34,S2,QPSK
41=11565,V,1980,23,S2,8PSK
42=11573,V,5000,34,DVB-S,QPSK
43=11649,H,2170,34,DVB-S,QPSK
44=11654,H,6500,34,DVB-S,QPSK
45=11670,H,14400,56,S2,8PSK
46=11674,V,7800,56,S2,8PSK
47=12505,V,2020,Auto,S2,8PSK
48=12533,V,11760,34,S2,QPSK
49=12718,H,27500,56,S2,8PSK
50=12718,V,27500,34,DVB-S,QPSK

View File

@@ -1,84 +0,0 @@
; file generated on saturday, 22nd of august 2015, 19:35:09 [GMT]
; by online transponder .ini generator @ http://satellites-xml.eu
; please let us know if you find any inconsistencies in this file
[SATTYPE]
1=0915
2=Measat 3/3a/3b (91.5E)
[DVB]
0=75
1=3464,H,2963,23,DVB-S,QPSK
2=3469,V,7500,34,S2,8PSK
3=3472,H,6000,34,DVB-S,QPSK
4=3475,H,2963,23,DVB-S,QPSK
5=3480,V,2961,23,DVB-S,QPSK
6=3481,H,2963,23,DVB-S,QPSK
7=3485,V,2961,23,DVB-S,QPSK
8=3492,H,2963,23,DVB-S,QPSK
9=3606,V,3750,34,DVB-S,QPSK
10=3625,V,1600,34,DVB-S,QPSK
11=3638,H,6666,34,DVB-S,QPSK
12=3641,V,13333,23,S2,8PSK
13=3650,H,6666,34,DVB-S,QPSK
14=3705,H,4290,34,DVB-S,QPSK
15=3708,V,1400,34,S2,QPSK
16=3710,H,2860,34,DVB-S,QPSK
17=3717,H,7500,23,S2,8PSK
18=3718,V,1916,56,S2,QPSK
19=3720,V,2170,78,DVB-S,QPSK
20=3724,V,3030,23,S2,8PSK
21=3727,H,9833,23,S2,8PSK
22=3760,V,29700,56,S2,8PSK
23=3786,V,7200,56,S2,QPSK
24=3795,V,5064,34,S2,QPSK
25=3802,V,3333,34,DVB-S,QPSK
26=3805,V,3255,34,S2,QPSK
27=3814,V,6660,35,S2,8PSK
28=3840,H,30000,56,S2,8PSK
29=3840,V,29720,56,S2,8PSK
30=3880,V,29720,56,S2,8PSK
31=3904,H,2916,23,S2,8PSK
32=3918,H,18385,23,S2,8PSK
33=3920,V,29720,56,S2,8PSK
34=3960,H,29700,56,S2,8PSK
35=4000,H,29700,56,S2,8PSK
36=4040,H,28600,56,S2,8PSK
37=4120,V,29720,56,S2,8PSK
38=4120,H,30000,56,S2,8PSK
39=4147,H,7200,56,S2,QPSK
40=4153,V,2090,34,S2,QPSK
41=4164,H,20640,23,S2,8PSK
42=10852,V,30000,Auto,S2,QPSK
43=10932,V,30000,Auto,S2,QPSK
44=10982,V,30000,34,DVB-S,QPSK
45=11022,V,30000,34,S2,8PSK
46=11062,V,30000,34,DVB-S,QPSK
47=11142,V,30000,78,DVB-S,QPSK
48=11182,V,30000,78,DVB-S,QPSK
49=11482,V,30000,78,DVB-S,QPSK
50=11522,V,30000,78,DVB-S,QPSK
51=11562,V,30000,78,DVB-S,QPSK
52=11602,V,30000,78,DVB-S,QPSK
53=11642,V,30000,78,DVB-S,QPSK
54=11682,V,30000,78,DVB-S,QPSK
55=12276,V,30000,35,S2,8PSK
56=12316,H,30000,56,DVB-S,8PSK
57=12316,V,30000,35,S2,8PSK
58=12356,V,30000,35,S2,8PSK
59=12396,V,30000,35,S2,8PSK
60=12396,H,31000,23,S2,8PSK
61=12436,V,30000,35,S2,8PSK
62=12436,H,31000,23,S2,8PSK
63=12476,V,30000,35,S2,8PSK
64=12523,V,30000,78,DVB-S,QPSK
65=12523,H,30000,56,DVB-S,QPSK
66=12563,V,30000,56,S2,8PSK
67=12563,H,30000,56,S2,8PSK
68=12603,V,30000,56,S2,8PSK
69=12603,H,30000,56,S2,8PSK
70=12643,V,30000,78,DVB-S,QPSK
71=12643,H,30000,56,S2,8PSK
72=12683,V,30000,56,DVB-S,QPSK
73=12683,H,27500,56,DVB-S,QPSK
74=12723,V,30000,56,DVB-S,QPSK
75=12723,H,30000,56,S2,8PSK

View File

@@ -1,19 +0,0 @@
; file generated on saturday, 22nd of august 2015, 19:35:09 [GMT]
; by online transponder .ini generator @ http://satellites-xml.eu
; please let us know if you find any inconsistencies in this file
[SATTYPE]
1=0922
2=ChinaSat 9 (92.2E)
[DVB]
0=10
1=11880,H,28800,34,DVB-S,QPSK
2=11920,H,28800,34,DVB-S,QPSK
3=11940,V,28800,34,DVB-S,QPSK
4=11960,H,28800,34,DVB-S,QPSK
5=11980,V,28800,34,DVB-S,QPSK
6=12020,V,28800,34,DVB-S,QPSK
7=12060,V,28800,34,DVB-S,QPSK
8=12100,V,28800,34,DVB-S,QPSK
9=12140,V,28800,34,DVB-S,QPSK
10=12180,V,28800,34,DVB-S,QPSK

View File

@@ -1,77 +0,0 @@
; file generated on saturday, 22nd of august 2015, 19:35:09 [GMT]
; by online transponder .ini generator @ http://satellites-xml.eu
; please let us know if you find any inconsistencies in this file
[SATTYPE]
1=0935
2=Insat 3A/4B (93.5E)
[DVB]
0=68
1=3725,H,27500,34,DVB-S,QPSK
2=3732,V,6250,34,DVB-S,QPSK
3=3740,V,6250,34,DVB-S,QPSK
4=3750,V,6250,34,DVB-S,QPSK
5=3750,H,3000,34,DVB-S,QPSK
6=3756,H,3000,34,DVB-S,QPSK
7=3758,V,6250,34,DVB-S,QPSK
8=3762,H,2500,34,DVB-S,QPSK
9=3768,H,2500,34,DVB-S,QPSK
10=3772,V,6250,34,DVB-S,QPSK
11=3774,H,4250,34,DVB-S,QPSK
12=3780,V,6250,34,DVB-S,QPSK
13=3780,H,2500,34,DVB-S,QPSK
14=3790,H,2500,34,DVB-S,QPSK
15=3791,V,8600,34,DVB-S,QPSK
16=3797,H,4250,34,DVB-S,QPSK
17=3800,V,4250,34,DVB-S,QPSK
18=3802,H,4250,34,DVB-S,QPSK
19=3808,H,2500,34,DVB-S,QPSK
20=3812,V,6250,34,DVB-S,QPSK
21=3815,H,2500,34,DVB-S,QPSK
22=3821,V,6250,34,DVB-S,QPSK
23=3822,H,4250,34,DVB-S,QPSK
24=3831,V,8600,34,DVB-S,QPSK
25=3832,H,6250,34,DVB-S,QPSK
26=3840,H,6250,34,DVB-S,QPSK
27=3841,V,4250,34,DVB-S,QPSK
28=3848,H,4250,34,DVB-S,QPSK
29=3855,H,3800,34,DVB-S,QPSK
30=3860,H,2500,34,DVB-S,QPSK
31=3888,V,1400,34,DVB-S,QPSK
32=3891,V,2000,34,DVB-S,QPSK
33=3894,V,2000,34,DVB-S,QPSK
34=3894,H,1500,34,DVB-S,QPSK
35=3897,V,1500,34,DVB-S,QPSK
36=3907,V,3125,34,DVB-S,QPSK
37=3910,V,1500,34,DVB-S,QPSK
38=3913,V,1000,34,DVB-S,QPSK
39=3916,V,1300,34,DVB-S,QPSK
40=3919,V,2000,34,DVB-S,QPSK
41=3922,V,2000,34,DVB-S,QPSK
42=3925,H,27500,34,DVB-S,QPSK
43=3932,V,6250,34,DVB-S,QPSK
44=3940,V,6250,34,DVB-S,QPSK
45=3950,V,6250,34,DVB-S,QPSK
46=3958,V,6250,34,DVB-S,QPSK
47=4086,V,1400,34,DVB-S,QPSK
48=4092,V,6250,34,DVB-S,QPSK
49=4101,V,6250,34,DVB-S,QPSK
50=4109,V,4250,34,DVB-S,QPSK
51=4115,V,4250,34,DVB-S,QPSK
52=4120,V,4250,34,DVB-S,QPSK
53=4132,V,4000,34,DVB-S,QPSK
54=4136,V,2000,34,DVB-S,QPSK
55=4141,V,5150,34,DVB-S,QPSK
56=4148,V,3000,34,DVB-S,QPSK
57=4151,V,2100,34,DVB-S,QPSK
58=10990,V,28500,34,DVB-S,QPSK
59=11030,V,32000,34,S2,8PSK
60=11053,V,1800,34,DVB-S,QPSK
61=11070,V,28500,34,DVB-S,QPSK
62=11110,V,30000,35,S2,8PSK
63=11150,V,28500,34,DVB-S,QPSK
64=11197,V,3333,34,DVB-S,QPSK
65=11490,V,30000,35,S2,8PSK
66=11508,V,1400,78,DVB-S,QPSK
67=11528,V,1400,34,DVB-S,QPSK
68=11570,V,28500,34,DVB-S,QPSK

View File

@@ -1,47 +0,0 @@
; file generated on saturday, 22nd of august 2015, 19:35:09 [GMT]
; by online transponder .ini generator @ http://satellites-xml.eu
; please let us know if you find any inconsistencies in this file
[SATTYPE]
1=0950
2=NSS 6/SES 8 (95.0E)
[DVB]
0=38
1=10977,V,40000,78,DVB-S,QPSK
2=11004,V,2355,34,DVB-S,QPSK
3=11037,H,40700,34,DVB-S,QPSK
4=11038,V,45000,56,DVB-S,QPSK
5=11090,H,30000,56,S2,QPSK
6=11090,V,30000,34,DVB-S,QPSK
7=11147,V,2750,23,DVB-S,QPSK
8=11164,V,3300,34,DVB-S,QPSK
9=11172,H,30000,56,DVB-S,QPSK
10=11456,H,3125,34,DVB-S,QPSK
11=11460,H,3125,34,DVB-S,QPSK
12=11468,H,3000,34,DVB-S,QPSK
13=11475,H,6111,34,DVB-S,QPSK
14=11481,H,45000,34,DVB-S,QPSK
15=11483,H,3125,34,DVB-S,QPSK
16=11503,H,6111,34,DVB-S,QPSK
17=11542,V,43200,34,S2,8PSK
18=11542,H,45000,56,S2,8PSK
19=11604,V,3200,34,DVB-S,QPSK
20=11619,H,5000,34,S2,8PSK
21=11635,H,27500,34,DVB-S,QPSK
22=11651,V,3333,34,DVB-S,QPSK
23=11661,H,5632,34,DVB-S,QPSK
24=11670,V,5000,23,DVB-S,QPSK
25=11676,V,28800,34,S2,8PSK
26=11685,V,6600,34,DVB-S,QPSK
27=11990,H,43000,Auto,DVB-S,QPSK
28=12110,H,40700,34,DVB-S,QPSK
29=12170,H,40700,Auto,DVB-S,QPSK
30=12535,V,43200,34,DVB-S,QPSK
31=12595,H,43200,34,DVB-S,QPSK
32=12595,V,43200,34,DVB-S,QPSK
33=12647,H,30000,Auto,DVB-S,QPSK
34=12647,V,32700,56,DVB-S,QPSK
35=12688,H,3270,34,DVB-S,QPSK
36=12688,V,27500,56,DVB-S,QPSK
37=12729,H,26400,34,DVB-S,QPSK
38=12729,V,32700,56,DVB-S,QPSK

View File

@@ -1,28 +0,0 @@
; file generated on saturday, 22nd of august 2015, 19:35:09 [GMT]
; by online transponder .ini generator @ http://satellites-xml.eu
; please let us know if you find any inconsistencies in this file
[SATTYPE]
1=0965
2=Express AM33 (96.5E)
[DVB]
0=19
1=3675,V,33483,78,DVB-S,QPSK
2=3758,V,4340,34,DVB-S,QPSK
3=3808,V,3215,34,DVB-S,QPSK
4=3817,V,4270,34,DVB-S,QPSK
5=3838,V,3230,34,DVB-S,QPSK
6=3843,V,3220,34,DVB-S,QPSK
7=3875,V,33390,89,S2,8PSK
8=3925,V,4883,12,DVB-S,QPSK
9=4108,V,4275,34,DVB-S,QPSK
10=4114,V,4285,34,DVB-S,QPSK
11=4175,V,3294,34,DVB-S,QPSK
12=10980,H,3200,34,DVB-S,QPSK
13=11000,H,5700,34,DVB-S,QPSK
14=11006,H,4444,34,DVB-S,QPSK
15=11028,V,1666,78,DVB-S,QPSK
16=11053,V,1570,23,S2,8PSK
17=11055,V,1666,23,S2,8PSK
18=11116,V,34000,89,S2,8PSK
19=11117,H,4444,34,DVB-S,QPSK

View File

@@ -1,80 +0,0 @@
; file generated on saturday, 22nd of august 2015, 19:35:09 [GMT]
; by online transponder .ini generator @ http://satellites-xml.eu
; please let us know if you find any inconsistencies in this file
[SATTYPE]
1=1005
2=AsiaSat 5 (100.5E)
[DVB]
0=71
1=3660,V,27500,34,DVB-S,QPSK
2=3668,H,7120,34,DVB-S,QPSK
3=3674,H,1500,34,DVB-S,QPSK
4=3678,H,3600,35,S2,QPSK
5=3686,H,7120,34,S2,8PSK
6=3693,H,6111,34,DVB-S,QPSK
7=3700,V,30000,34,S2,8PSK
8=3707,H,7120,34,S2,8PSK
9=3717,H,4167,34,DVB-S,QPSK
10=3730,H,13800,34,S2,8PSK
11=3733,V,6111,34,DVB-S,QPSK
12=3744,V,7120,34,S2,8PSK
13=3754,V,7120,34,S2,8PSK
14=3760,H,27500,34,DVB-S,QPSK
15=3765,V,4640,34,S2,8PSK
16=3770,V,2644,34,S2,QPSK
17=3774,H,6111,34,DVB-S,QPSK
18=3776,V,6111,34,DVB-S,QPSK
19=3786,H,6000,78,DVB-S,QPSK
20=3794,H,4640,35,S2,8PSK
21=3799,H,3255,34,DVB-S,QPSK
22=3816,H,3624,23,S2,8PSK
23=3820,V,27500,34,DVB-S,QPSK
24=3840,H,26666,34,S2,8PSK
25=3854,H,7500,Auto,S2,QPSK
26=3860,V,30000,23,S2,8PSK
27=3877,H,7200,Auto,S2,8PSK
28=3884,H,7200,Auto,S2,QPSK
29=3886,V,7500,34,DVB-S,QPSK
30=3895,V,6111,34,DVB-S,QPSK
31=3908,H,6666,34,DVB-S,QPSK
32=3913,V,6111,34,DVB-S,QPSK
33=3915,H,7120,Auto,S2,QPSK
34=3924,H,7200,Auto,S2,QPSK
35=3928,V,7200,Auto,S2,QPSK
36=3935,H,7120,34,S2,8PSK
37=3937,V,4500,34,DVB-S,QPSK
38=3945,V,6200,34,DVB-S,QPSK
39=3953,V,7200,Auto,S2,QPSK
40=3960,H,30000,56,S2,8PSK
41=3980,V,29720,56,S2,8PSK
42=4000,H,28125,34,DVB-S,QPSK
43=4040,H,29720,56,S2,8PSK
44=4076,H,7200,Auto,S2,8PSK
45=4086,H,7200,34,S2,8PSK
46=4094,H,9874,Auto,S2,QPSK
47=4114,H,18400,23,S2,8PSK
48=4132,H,10587,23,S2,QPSK
49=4148,H,7100,Auto,S2,QPSK
50=4148,V,11852,34,DVB-S,QPSK
51=4155,H,6666,34,DVB-S,QPSK
52=4165,H,6673,Auto,S2,QPSK
53=4175,H,7200,34,S2,8PSK
54=12267,V,3000,34,DVB-S,QPSK
55=12288,V,1330,34,DVB-S,QPSK
56=12323,V,12000,34,DVB-S,QPSK
57=12377,V,2000,34,DVB-S,QPSK
58=12381,V,2000,34,DVB-S,QPSK
59=12386,V,2000,34,DVB-S,QPSK
60=12437,V,2590,34,DVB-S,QPSK
61=12515,H,6200,34,DVB-S,QPSK
62=12522,V,40700,34,DVB-S,QPSK
63=12542,H,6111,34,DVB-S,QPSK
64=12582,H,5632,34,DVB-S,QPSK
65=12582,V,40700,23,S2,8PSK
66=12591,H,5632,34,DVB-S,QPSK
67=12602,H,5632,34,DVB-S,QPSK
68=12620,H,6300,34,DVB-S,QPSK
69=12635,H,8880,34,DVB-S,QPSK
70=12642,V,40700,23,S2,8PSK
71=12702,V,40700,23,S2,8PSK

View File

@@ -1,13 +0,0 @@
; file generated on saturday, 22nd of august 2015, 19:35:09 [GMT]
; by online transponder .ini generator @ http://satellites-xml.eu
; please let us know if you find any inconsistencies in this file
[SATTYPE]
1=1030
2=Express AM3 (103.0E)
[DVB]
0=4
1=3610,V,2500,56,S2,QPSK
2=3675,V,31900,56,S2,8PSK
3=11606,V,34425,35,S2,8PSK
4=11669,V,34425,35,S2,8PSK

View File

@@ -1,57 +0,0 @@
; file generated on saturday, 22nd of august 2015, 19:35:09 [GMT]
; by online transponder .ini generator @ http://satellites-xml.eu
; please let us know if you find any inconsistencies in this file
[SATTYPE]
1=1055
2=AsiaSat 7/8 (105.5E)
[DVB]
0=48
1=3683,H,27500,Auto,S2,QPSK
2=3706,H,6000,34,DVB-S,QPSK
3=3712,V,9000,35,S2,8PSK
4=3715,H,8167,34,DVB-S,QPSK
5=3725,V,4833,45,S2,QPSK
6=3729,H,13650,34,DVB-S,QPSK
7=3732,V,6500,34,DVB-S,QPSK
8=3739,V,2815,34,DVB-S,QPSK
9=3742,V,1500,34,DVB-S,QPSK
10=3745,V,2626,34,DVB-S,QPSK
11=3755,V,4418,78,DVB-S,QPSK
12=3760,H,26000,78,DVB-S,QPSK
13=3780,V,28100,34,DVB-S,QPSK
14=3820,V,27500,34,DVB-S,QPSK
15=3840,H,29720,56,S2,8PSK
16=3860,V,28100,56,S2,8PSK
17=3880,H,27500,34,DVB-S,QPSK
18=3890,V,11838,35,S2,8PSK
19=3898,V,2240,35,S2,8PSK
20=3906,V,2913,34,DVB-S,QPSK
21=3915,V,7260,56,DVB-S,QPSK
22=3940,V,28100,56,S2,8PSK
23=3960,H,27500,34,DVB-S,QPSK
24=3980,V,28100,34,DVB-S,QPSK
25=4000,H,26850,78,DVB-S,QPSK
26=4020,V,27250,34,DVB-S,QPSK
27=4040,H,26500,12,DVB-S,QPSK
28=4060,V,26666,34,DVB-S,QPSK
29=4065,H,4296,34,DVB-S,QPSK
30=4078,H,3185,78,DVB-S,QPSK
31=4082,H,3185,56,DVB-S,QPSK
32=4087,H,3185,34,DVB-S,QPSK
33=4091,H,2894,34,DVB-S,QPSK
34=4095,H,2894,34,DVB-S,QPSK
35=4100,V,29720,56,S2,8PSK
36=4120,H,27500,78,DVB-S,QPSK
37=4140,V,27500,34,DVB-S,QPSK
38=4146,H,5317,34,DVB-S,QPSK
39=4155,H,9833,35,S2,8PSK
40=4165,H,5040,34,DVB-S,QPSK
41=4172,H,2480,34,DVB-S,QPSK
42=4176,H,2444,34,DVB-S,QPSK
43=4180,V,26666,34,DVB-S,QPSK
44=12468,H,4195,34,DVB-S,QPSK
45=12534,H,3300,34,S2,8PSK
46=12579,H,4000,34,S2,8PSK
47=12596,V,30000,56,DVB-S,QPSK
48=12720,V,30000,Auto,DVB-S,QPSK

View File

@@ -1,99 +0,0 @@
; file generated on saturday, 22nd of august 2015, 19:35:09 [GMT]
; by online transponder .ini generator @ http://satellites-xml.eu
; please let us know if you find any inconsistencies in this file
[SATTYPE]
1=1082
2=NSS 11/SES 7/Telkom 1 (108.2E)
[DVB]
0=90
1=2535,H,22500,78,DVB-S,QPSK
2=2535,V,22500,34,S2,8PSK
3=2565,H,22500,78,DVB-S,QPSK
4=2565,V,22500,78,DVB-S,QPSK
5=2595,H,20000,78,DVB-S,QPSK
6=2595,V,22500,78,DVB-S,QPSK
7=2625,H,22500,78,DVB-S,QPSK
8=2625,V,22500,34,S2,QPSK
9=2655,H,22500,78,DVB-S,QPSK
10=2655,V,22500,Auto,S2,8PSK
11=3483,V,3000,34,DVB-S,QPSK
12=3515,V,23111,23,S2,QPSK
13=3552,H,3100,34,DVB-S,QPSK
14=3580,H,30000,34,S2,8PSK
15=3600,V,30000,34,S2,8PSK
16=3620,H,30000,34,S2,8PSK
17=3640,V,30000,34,S2,8PSK
18=3707,H,6000,34,S2,8PSK
19=3722,H,3330,34,DVB-S,QPSK
20=3727,V,7000,34,DVB-S,QPSK
21=3732,H,4160,34,DVB-S,QPSK
22=3735,H,1200,34,DVB-S,QPSK
23=3745,H,3000,34,DVB-S,QPSK
24=3776,H,4280,34,DVB-S,QPSK
25=3787,H,6750,34,DVB-S,QPSK
26=3793,H,3000,34,DVB-S,QPSK
27=3797,H,3905,34,DVB-S,QPSK
28=3802,H,3000,78,DVB-S,QPSK
29=3812,H,3000,34,DVB-S,QPSK
30=3817,H,3000,34,DVB-S,QPSK
31=3830,H,3000,34,DVB-S,QPSK
32=3880,H,3000,34,S2,8PSK
33=3890,H,6000,34,DVB-S,QPSK
34=3895,H,2500,34,DVB-S,QPSK
35=3913,H,2400,34,DVB-S,QPSK
36=3916,H,3330,34,DVB-S,QPSK
37=3920,H,3000,34,DVB-S,QPSK
38=3947,H,1500,34,DVB-S,QPSK
39=3960,H,3000,34,DVB-S,QPSK
40=3971,H,2100,34,DVB-S,QPSK
41=3981,V,1235,34,DVB-S,QPSK
42=3990,H,6000,34,DVB-S,QPSK
43=3998,H,3000,34,DVB-S,QPSK
44=4004,H,6000,34,DVB-S,QPSK
45=4014,H,6000,34,DVB-S,QPSK
46=4029,H,5122,34,DVB-S,QPSK
47=4036,H,3100,34,DVB-S,QPSK
48=4040,H,3000,34,DVB-S,QPSK
49=4079,H,3100,34,DVB-S,QPSK
50=4086,H,6000,34,DVB-S,QPSK
51=4092,H,3570,34,DVB-S,QPSK
52=4097,H,3125,34,DVB-S,QPSK
53=4130,V,2100,34,DVB-S,QPSK
54=4159,H,3000,34,DVB-S,QPSK
55=4163,V,1840,34,DVB-S,QPSK
56=11480,V,28800,23,S2,8PSK
57=11481,H,18750,34,S2,8PSK
58=11483,H,26600,34,S2,8PSK
59=11510,H,20000,34,S2,8PSK
60=11520,V,30000,34,S2,8PSK
61=11520,H,30000,34,S2,8PSK
62=11560,V,30000,34,S2,8PSK
63=11560,H,30000,34,S2,8PSK
64=11568,V,20000,34,S2,8PSK
65=11568,H,20000,34,S2,8PSK
66=11598,V,20000,34,S2,8PSK
67=11598,H,20000,23,S2,8PSK
68=11600,V,30000,34,S2,8PSK
69=11600,H,30000,34,S2,8PSK
70=11627,H,20000,34,S2,8PSK
71=11640,V,30000,34,S2,8PSK
72=11640,H,24000,34,S2,8PSK
73=11656,H,18750,34,DVB-S,QPSK
74=11680,V,30000,34,S2,8PSK
75=11685,H,18750,34,DVB-S,QPSK
76=12328,H,5000,34,DVB-S,QPSK
77=12401,V,2400,34,S2,8PSK
78=12406,V,3330,56,DVB-S,QPSK
79=12421,V,2962,34,DVB-S,QPSK
80=12427,V,4440,34,DVB-S,QPSK
81=12431,H,30000,56,DVB-S,QPSK
82=12434,H,2000,34,DVB-S,QPSK
83=12439,H,1900,12,DVB-S,QPSK
84=12444,H,1900,34,DVB-S,QPSK
85=12447,H,3000,34,DVB-S,QPSK
86=12471,H,30000,56,DVB-S,QPSK
87=12486,H,2000,34,DVB-S,QPSK
88=12651,V,26667,34,DVB-S,QPSK
89=12711,H,30000,23,S2,8PSK
90=12731,V,30000,56,DVB-S,QPSK

View File

@@ -1,33 +0,0 @@
; file generated on saturday, 22nd of august 2015, 19:35:09 [GMT]
; by online transponder .ini generator @ http://satellites-xml.eu
; please let us know if you find any inconsistencies in this file
[SATTYPE]
1=1100
2=BSAT 3A/3C/JCSAT 110R/N-Sat 110 (110.0E)
[DVB]
0=24
1=11727,V,28860,23,DVB-S,8PSK
2=11766,V,28860,23,DVB-S,8PSK
3=11804,V,28860,23,DVB-S,8PSK
4=11843,V,28860,23,DVB-S,8PSK
5=11881,V,28860,23,DVB-S,8PSK
6=11919,V,28860,23,DVB-S,8PSK
7=11958,V,28860,23,DVB-S,8PSK
8=11996,V,28860,23,DVB-S,8PSK
9=12034,V,28860,23,DVB-S,QPSK
10=12073,V,28860,23,DVB-S,8PSK
11=12111,V,28860,23,DVB-S,8PSK
12=12149,V,28860,23,DVB-S,8PSK
13=12291,V,28860,23,DVB-S,QPSK
14=12331,V,28860,23,DVB-S,QPSK
15=12371,V,28860,23,DVB-S,QPSK
16=12411,V,28860,23,DVB-S,QPSK
17=12451,V,28860,23,DVB-S,QPSK
18=12491,V,28860,23,DVB-S,QPSK
19=12531,V,28860,23,DVB-S,QPSK
20=12571,V,28860,23,DVB-S,QPSK
21=12611,V,28860,23,DVB-S,QPSK
22=12651,V,28860,23,DVB-S,QPSK
23=12691,V,28860,23,DVB-S,QPSK
24=12731,V,28860,23,DVB-S,QPSK

View File

@@ -1,14 +0,0 @@
; file generated on saturday, 22nd of august 2015, 19:35:09 [GMT]
; by online transponder .ini generator @ http://satellites-xml.eu
; please let us know if you find any inconsistencies in this file
[SATTYPE]
1=1105
2=ChinaSat 10 (110.5E)
[DVB]
0=5
1=3650,V,6200,56,S2,8PSK
2=3660,V,6200,56,S2,8PSK
3=3728,V,4340,34,DVB-S,QPSK
4=3984,V,3617,34,DVB-S,QPSK
5=4134,V,4340,34,DVB-S,QPSK

View File

@@ -1,81 +0,0 @@
; file generated on saturday, 22nd of august 2015, 19:35:09 [GMT]
; by online transponder .ini generator @ http://satellites-xml.eu
; please let us know if you find any inconsistencies in this file
[SATTYPE]
1=1130
2=Koreasat 5/Palapa D (113.0E)
[DVB]
0=72
1=3420,H,5000,Auto,S2,QPSK
2=3433,H,4383,56,DVB-S,8PSK
3=3437,H,1800,34,S2,8PSK
4=3460,H,29900,34,S2,QPSK
5=3574,V,6363,78,DVB-S,QPSK
6=3600,V,31000,23,S2,8PSK
7=3628,H,17985,23,DVB-S,QPSK
8=3709,H,10000,35,S2,QPSK
9=3720,H,30000,34,S2,QPSK
10=3744,H,3125,78,DVB-S,QPSK
11=3747,H,6250,34,DVB-S,QPSK
12=3756,H,6250,34,S2,8PSK
13=3762,H,3500,34,DVB-S,QPSK
14=3767,H,4000,45,S2,QPSK
15=3770,V,3000,34,DVB-S,QPSK
16=3774,H,6520,34,DVB-S,QPSK
17=3780,V,29900,34,S2,8PSK
18=3786,H,5632,34,DVB-S,QPSK
19=3792,H,3000,34,DVB-S,8PSK
20=3818,V,27500,34,S2,8PSK
21=3832,H,12592,34,DVB-S,QPSK
22=3852,V,2000,56,DVB-S,QPSK
23=3863,V,4333,34,DVB-S,QPSK
24=3880,H,30000,34,S2,QPSK
25=3917,H,3000,34,DVB-S,QPSK
26=3925,H,2590,34,DVB-S,QPSK
27=3932,V,15800,56,DVB-S,QPSK
28=3934,H,6500,34,DVB-S,QPSK
29=3946,V,7400,56,DVB-S,QPSK
30=3952,V,3000,34,DVB-S,QPSK
31=3957,V,3000,34,DVB-S,QPSK
32=3960,H,30000,34,S2,8PSK
33=3980,V,31000,23,S2,8PSK
34=3984,H,2244,34,S2,8PSK
35=3987,H,2250,34,DVB-S,QPSK
36=3992,H,2250,34,DVB-S,QPSK
37=4006,V,6400,34,DVB-S,QPSK
38=4016,V,3000,34,S2,8PSK
39=4025,H,2124,34,DVB-S,QPSK
40=4035,V,6000,34,DVB-S,QPSK
41=4044,H,2124,34,DVB-S,QPSK
42=4044,V,2833,34,DVB-S,QPSK
43=4048,H,2124,34,DVB-S,QPSK
44=4051,V,1600,56,S2,8PSK
45=4052,H,3333,78,DVB-S,QPSK
46=4055,H,3000,34,DVB-S,QPSK
47=4074,V,3000,34,DVB-S,QPSK
48=4080,H,28125,34,DVB-S,QPSK
49=4100,V,30000,34,S2,8PSK
50=4110,H,11669,34,S2,8PSK
51=4124,H,5632,34,DVB-S,QPSK
52=4136,H,3000,34,DVB-S,QPSK
53=4140,V,30000,78,DVB-S,QPSK
54=4165,H,20000,34,DVB-S,QPSK
55=4171,V,15000,Auto,S2,QPSK
56=4184,V,6700,34,DVB-S,QPSK
57=12347,H,3180,23,S2,8PSK
58=12390,V,25600,56,DVB-S,QPSK
59=12430,V,25600,56,DVB-S,QPSK
60=12436,H,3564,56,DVB-S,QPSK
61=12452,H,2500,56,S2,8PSK
62=12470,V,25600,56,DVB-S,QPSK
63=12530,H,26000,56,DVB-S,QPSK
64=12560,H,2300,23,S2,8PSK
65=12590,H,29900,34,S2,8PSK
66=12590,V,28000,34,DVB-S,QPSK
67=12618,V,3900,12,DVB-S,QPSK
68=12645,V,2893,34,DVB-S,QPSK
69=12665,H,4320,34,S2,8PSK
70=12670,V,28000,34,DVB-S,QPSK
71=12673,H,30000,34,S2,8PSK
72=12710,H,29900,34,S2,8PSK

View File

@@ -1,53 +0,0 @@
; file generated on saturday, 22nd of august 2015, 19:35:09 [GMT]
; by online transponder .ini generator @ http://satellites-xml.eu
; please let us know if you find any inconsistencies in this file
[SATTYPE]
1=1155
2=ChinaSat 6B (115.5E)
[DVB]
0=44
1=3600,V,27500,78,DVB-S,QPSK
2=3640,V,27500,78,DVB-S,QPSK
3=3680,V,27500,78,DVB-S,QPSK
4=3709,H,10920,34,DVB-S,QPSK
5=3740,V,27500,34,DVB-S,QPSK
6=3750,H,10490,34,DVB-S,QPSK
7=3769,H,13400,78,DVB-S,QPSK
8=3780,V,27500,34,DVB-S,QPSK
9=3796,H,6930,12,DVB-S,QPSK
10=3807,V,6000,34,DVB-S,QPSK
11=3808,H,8800,34,DVB-S,QPSK
12=3815,V,4420,34,DVB-S,QPSK
13=3825,V,6780,34,DVB-S,QPSK
14=3834,V,5400,34,DVB-S,QPSK
15=3840,H,27500,34,DVB-S,QPSK
16=3846,V,5950,34,DVB-S,QPSK
17=3854,V,4420,34,DVB-S,QPSK
18=3861,V,4800,34,DVB-S,QPSK
19=3871,V,9080,34,DVB-S,QPSK
20=3880,H,27500,34,DVB-S,QPSK
21=3885,V,4340,34,DVB-S,QPSK
22=3892,V,4420,34,DVB-S,QPSK
23=3903,V,9300,34,DVB-S,QPSK
24=3913,V,6400,34,DVB-S,QPSK
25=3920,H,27500,34,DVB-S,QPSK
26=3929,V,8840,34,DVB-S,QPSK
27=3940,V,5948,34,DVB-S,QPSK
28=3950,H,11406,56,DVB-S,QPSK
29=3951,V,9520,34,DVB-S,QPSK
30=3960,H,3570,34,DVB-S,QPSK
31=3971,H,10000,34,DVB-S,QPSK
32=3980,V,27500,34,DVB-S,QPSK
33=4000,H,27500,34,DVB-S,QPSK
34=4020,V,27500,34,DVB-S,QPSK
35=4040,H,27500,34,DVB-S,QPSK
36=4060,V,27500,34,DVB-S,QPSK
37=4080,H,27500,34,DVB-S,QPSK
38=4116,H,21374,34,DVB-S,QPSK
39=4140,V,27500,34,DVB-S,QPSK
40=4147,H,6150,34,DVB-S,QPSK
41=4158,H,8680,34,DVB-S,QPSK
42=4171,H,9200,34,DVB-S,QPSK
43=4175,V,18000,12,DVB-S,QPSK
44=4192,V,6000,34,DVB-S,QPSK

View File

@@ -1,42 +0,0 @@
; file generated on saturday, 22nd of august 2015, 19:35:09 [GMT]
; by online transponder .ini generator @ http://satellites-xml.eu
; please let us know if you find any inconsistencies in this file
[SATTYPE]
1=1160
2=ABS 7/Koreasat 6 (116.0E)
[DVB]
0=33
1=11747,H,21300,56,S2,8PSK
2=11785,H,21300,78,DVB-S,QPSK
3=11823,H,21300,56,S2,8PSK
4=11862,H,21300,56,S2,8PSK
5=11900,H,21300,23,S2,8PSK
6=11938,H,21300,56,S2,8PSK
7=12290,H,27489,34,S2,8PSK
8=12330,H,27489,34,S2,8PSK
9=12350,V,26700,78,DVB-S,QPSK
10=12370,H,27489,34,S2,8PSK
11=12390,V,26700,78,DVB-S,QPSK
12=12410,H,29500,34,S2,8PSK
13=12430,V,26700,78,DVB-S,QPSK
14=12450,H,27489,34,S2,8PSK
15=12467,V,12300,34,S2,QPSK
16=12490,H,27489,34,S2,8PSK
17=12497,V,4331,34,S2,8PSK
18=12501,V,3515,34,DVB-S,QPSK
19=12506,V,3515,34,DVB-S,QPSK
20=12511,V,3515,34,DVB-S,QPSK
21=12517,V,3515,34,DVB-S,QPSK
22=12523,V,7900,56,S2,8PSK
23=12530,H,27489,34,S2,8PSK
24=12570,H,27489,34,S2,8PSK
25=12610,H,27489,34,S2,8PSK
26=12650,H,27489,34,S2,8PSK
27=12670,V,26700,78,DVB-S,QPSK
28=12687,H,2050,34,DVB-S,QPSK
29=12690,H,27489,34,S2,8PSK
30=12695,V,3515,34,DVB-S,QPSK
31=12706,V,6000,34,DVB-S,QPSK
32=12724,V,5330,34,S2,8PSK
33=12730,H,27489,34,S2,8PSK

View File

@@ -1,11 +0,0 @@
; file generated on saturday, 22nd of august 2015, 19:35:09 [GMT]
; by online transponder .ini generator @ http://satellites-xml.eu
; please let us know if you find any inconsistencies in this file
[SATTYPE]
1=1180
2=Telkom 2 (118.0E)
[DVB]
0=2
1=3776,H,2132,34,DVB-S,QPSK
2=4110,H,2900,12,S2,QPSK

Some files were not shown because too many files have changed in this diff Show More