-
Notifications
You must be signed in to change notification settings - Fork 4
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Handling non-standard file extensions #45
Comments
Addressed in #46 |
Testing on Monday by @jonniebeeb of the latest version (from @dsilhavy's development branch) suggests that this fix might not be working as expected. See attached log3 2023-08-14.txt. The version number from the log is as follows:
And we are seeing errors of the following sort:
|
@rjb1000 @jonniebeeb I was unable to reproduce this in my local setup: M8After starting the 5GMSd Aware Application I select the following entry from my {
provisioningSessionId: 8,
name: 'Local to nosuffix'
} M5The Service Access Information at M5 returns the following for provisioningSessionId 8: {
provisioningSessionId: 8,
provisioningSessionType: 'DOWNLINK',
streamingAccess: {
entryPoints: [
{
locator: baseURL+ ':3003/redirect/nosuffix',
contentType: 'application/dash+xml',
profiles: [
'urn:mpeg:dash:profile:isoff-live:2011'
]
}
]
}
}, In this case, the Requesting the resourceNow the client requests the MPD at router.get('/nosuffix', function (req, res, next) {
res.writeHead(302, {
'Content-Type': '',
'Location': 'http://192.168.2.1:3333/steering-content/bbb/alpha/fivegmag-nosuffix'
});
res.end();
}); We are creating a redirect to another location ResultPlayback starts as expected Next steps
|
For reference here's the {
"aspId": "MyASPId",
"appId": "IBCDemoApp",
"streams": {
"ed": {
"name": "M5: Elephant's Dream",
"ingestURL": "http://localhost:8080/ElephantsDream/",
"distributionConfigurations": [
{
"domainNameAlias": "as.5g.demo",
"entryPoint": {
"relativePath": "manifest.mpd",
"contentType": "application/dash+xml",
"profiles": ["urn:mpeg:dash:profile:isoff-live:2011"]
}
}
]
},
"ld": {
"name": "M5: Llama Drama",
"ingestURL": "http://localhost:8080/CaminandesLlamaDrama4K/",
"distributionConfigurations": [
{
"domainNameAlias": "as.5g.demo",
"entryPoint": {
"relativePath": "manifest.mpd",
"contentType": "application/dash+xml",
"profiles": ["urn:mpeg:dash:profile:isoff-live:2011"]
}
}
]
},
"vod": {
"name": "M5: All streams",
"ingestURL": "http://localhost:8080/",
"distributionConfigurations": [
{
"domainNameAlias": "as.5g.demo"
}
]
}
},
"vodMedia": [
{
"name": "M8: Elephant's Dream",
"stream": "vod",
"entryPoints": [
{
"relativePath": "ElephantsDream/manifest.mpd",
"contentType": "application/dash+xml",
"profiles": ["urn:mpeg:dash:profile:isoff-live:2011"]
}
]
},
{
"name": "M8: Llama Drama",
"stream": "vod",
"entryPoints": [
{
"relativePath": "CaminandesLlamaDrama4K/manifest.mpd",
"contentType": "application/dash+xml",
"profiles": ["urn:mpeg:dash:profile:isoff-live:2011"]
}
]
}
]
} Where |
Alternatively you could use this to reference the original Azure Media Player demos hosts: {
"aspId": "BBC-RD-5G",
"appId": "BBCRD5GTestbed",
"streams": {
"ed": {
"name": "M5: Elephant's Dream [AMS]",
"ingestURL": "http://amssamples.streaming.mediaservices.windows.net/b6822ec8-5c2b-4ae0-a851-fd46a78294e9/ElephantsDream.ism/",
"distributionConfigurations": [
{
"entryPoint": {
"relativePath": "manifest(format=mpd-time-csf)",
"contentType": "application/dash+xml",
"profiles": ["urn:mpeg:dash:profile:isoff-live:2011"]
}
},
{
"entryPoint": {
"relativePath": "manifest(format=m3u8-aapl-v3)",
"contentType": "application/vnd.apple.mpegurl"
}
}
]
},
"ld": {
"name": "M5: Llama Drama [AMS]",
"ingestURL": "http://amssamples.streaming.mediaservices.windows.net/634cd01c-6822-4630-8444-8dd6279f94c6/CaminandesLlamaDrama4K.ism/",
"distributionConfigurations": [
{
"entryPoint": {
"relativePath": "manifest(format=mpd-time-csf)",
"contentType": "application/dash+xml",
"profiles": ["urn:mpeg:dash:profile:isoff-live:2011"]
}
},
{
"entryPoint": {
"relativePath": "manifest(format=m3u8-aapl-v3)",
"contentType": "application/vnd.apple.mpegurl"
}
}
]
},
"vodamp": {
"name": "M5: AMP Demo Streams [AMS]",
"ingestURL": "http://amssamples.streaming.mediaservices.windows.net/",
"distributionConfigurations": [
{}
]
}
},
"vodMedia": [
{
"name": "M8: Elephant's Dream [AMS]",
"stream": "vodamp",
"entryPoints": [
{
"relativePath": "b6822ec8-5c2b-4ae0-a851-fd46a78294e9/ElephantsDream.ism/manifest(format=mpd-time-csf)",
"contentType": "application/dash+xml",
"profiles": ["urn:mpeg:dash:profile:isoff-live:2011"]
},
{
"relativePath": "b6822ec8-5c2b-4ae0-a851-fd46a78294e9/ElephantsDream.ism/manifest(format=m3u8-aapl-v3)",
"contentType": "application/vnd.apple.mpegurl"
}
]
},
{
"name": "M8: Llama Drama [AMS]",
"stream": "vodamp",
"entryPoints": [
{
"relativePath": "634cd01c-6822-4630-8444-8dd6279f94c6/CaminandesLlamaDrama4K.ism/manifest(format=mpd-time-csf)",
"contentType": "application/dash+xml",
"profiles": ["urn:mpeg:dash:profile:isoff-live:2011"]
},
{
"relativePath": "634cd01c-6822-4630-8444-8dd6279f94c6/CaminandesLlamaDrama4K.ism/manifest(format=m3u8-aapl-v3)",
"contentType": "application/vnd.apple.mpegurl"
}
]
}
]
} |
Done some more testing today and we've had the app successfully play back both versions (M8 entry point and M5 SAI entry point). We'd had a few minor issues with the M5 interface (always returned 404 due to a configuration issue), the DNS (DNS server wasn't running for our standalone demo) and some AS directory permissions. Having tidied those up we could debug, but were still seeing the same issue so I've done a full rebuild and redeploy of the AF, the App and its libraries and the Media Session Handler Service. Since the rebuild it's been working as expected, so it's possible that something somewhere had gotten out of sync. I'd like to test against our other AS/AF server to make sure the redeploy works there too. |
Thanks for testing @davidjwbbc . I leave this issue open until you did the final test. |
We suspect the libraries were either not recompiled or not redeployed to Maven, so an old library was being packaged up. I wonder if it's possible to spit out a library version number in the application logs to help with future debugging? |
Addressed in |
@rjb1000 @davidjwbbc : Forgot this in the call today. Can we close this issue? |
Yes, we can close, @dsilhavy. Thank you. |
Feature description
We are currently initializing the ExoPlayer with
MediaItem mediaItem = MediaItem.fromUri(videoUri);
. This has the downside that the URI needs to have a standard file extension, in order for the corresponding media source to be automatically created. In cases in which an MPD is missing.mpd
in the filename, this can cause an issue.In situations in which we know the content type because it is defined in the ServiceAccessInformation (for instance
application/dash+xml
for DASH) we can provide this information to the Exoplayer. As a consequence, a non-existent file extensions will not cause an error.See: https://exoplayer.dev/media-items.html
The text was updated successfully, but these errors were encountered: