Video Codecs supported in UPnP AV - upnp

I'm may just be confused how this all works...in which case, please explain it to me. But, what video codecs are supported by the UPnP AV standard? Or is it on a per-device (client) basis? I want to create an app to send video data to a UPnP device (XBox, PS3, etc) but am not really sure what video codec I should target... it can be anything, I just want to know if there's a way of knowing that it will work on everything.
Edit: Ok, so I will clarify that I will be able to choose whatever video format I want, and once I do that will be all I plan on supporting, therefore I don't need transcoding. My main point was that I was hoping there was some "standard" format used that would be supported on ALL devices so that I could just pick that and be done with it... Obviously this is not the case... but is there any sort of unofficial codec that most devices support? Is there a list of devices and supported codecs anywhere?
Also, how does DLNA work into this...if I understand correctly it's sort of a subset of UPnP AV (but plus some other stuff...) And most UPnP devices I've seen are also DLNA compliant...so would just using whatever codecs DLNA supports be a way to have a common ground?

Doug is right, it depends on the client device.
You could build it so that your server transcodes files on the fly to make them available on the UPnP server, though. It would be easier just to choose a file format that is compatible with all of your devices (if the list is small enough for that to be possible).
For example, you cannot play H.264 encoded video in MKV format on Xbox 360 or PS3 right now. However, you can transcode the files to a format that IS supported. There are many of guides available online for transcoding these files for PS3/360 and what formats are supported by each device.
Here are a couple example guides:
Xbox 360 Conversion Guide
PS3 Conversion Guide

From what i understand it really depends on what codecs the device has installed - therefore it can be anything supported by your device.
I know for example that ps3 supports divx and xbox does not (unless you have windows 7 to transcode for you)

For DLAN device, some video format are must ,some are optional.
Home Devices
MUST : MPEG2
Optional :MPEG1, MPEG4, WMV9
Mobile/Handheld Devices
MUST : MPEG4 AVC (AAC LC Assoc Audio)
Optional :VC1, H.263, MPEG4 part 2, MPEG2, MPEG4 AVC (BSAC or other for Assoc. Audio)
Any other video codecs does not be mentioned here are optional , in my understanding.
check it here:

Related

do MobileVLCKit support Airplay option in iOS?

I have implemented VCL to play the live streaming video and Now I want to play it on apple TV by airplay option on my streaming screen..
Can you pls help me out.
Thanks
By question its not clear what you mean by implementing VLC. Apple provided framework to stream live video (AVPlayer). Which supports Picture-in-picture and airplay.
For making things more clear please elaborate, what exactly you are trying to do.
Support for AirPlay will be available in libvlc and VLCKit 4.0 next year. It will allow you play anything from any source on Apple TV and if needed, will convert the media on-the-fly. Thus, AirPlay support will match what's possible with Chromecast right now.
With VLCKit 3, there is no good way to do it. You could do Display Mirroring, but this would have a bad impact on performance and video quality. Audio-only output via AirPlay / RAOP will just work fine and quality is good. It even supports multichannel now.

Characteristics of the audio file played by RestComm Media Server

We are having some problems playing Wav files in RestComm: some of them play nicely but others sound very weird.
8KHz
16bit
https://www.dropbox.com/s/34mmlbopdoc3uox/record_welcome16b.wav?dl=0
Is there any place where we can consult the supported specifications of the file?
Please try with A/U Law, Sample rate of 8000Hz, bit rate of 8, Mono channels.

AVFoundation H.265 hardware encoding

The WWDC 2014 session 'Direct Access to Video Encoding and Decoding' covers H.264 encoding using kCMVideoCodecType_H264, but looking at the CMFormatDescription docs, there doesn't appear to be an equivalent for H.265.
Is it possible to encode to H.265 in a hardware-accelerated manner using AVFoundation?
Short answer, no.
More detailed answer, according to the documentation, the only codecs support by Apple on iPhone are H264. On OSX you can also use Apple ProRes, but all the sources I've found are consistent in saying it's a really limited set of codecs. In the settings for AVAssetWriterInput (where you specify the output settings, there is only support documented for H264 and JPEG).
https://developer.apple.com/library/ios/documentation/AVFoundation/Reference/AVFoundation_Constants/index.html#//apple_ref/doc/constant_group/Video_Settings
No.
Because there is no mobile GPU that support hardware h265 codec until now(2016.12)for iOS platform, iPhone 7 also has no hardware HEVC codec. FaceTime use software based h265 codec.
for Android platform, the first Snapdragon that support HEVC codec is Snapdragon 810, which appear at 2014.
The first desktop GPU (NVIDIA GTX-980) that support hardware h265 codec appear at 2014.9.
Updating this question to give an answer now it's a few years later and things have moved forward.
CMFormatDescription can now be used with constant kCMVideoCodecType_HEVC, available since iOS 9.0.
Apple did a session at WWDC 2017 entitled 'Working with HEIF and HEVC' https://developer.apple.com/videos/play/wwdc2017/511/
Updating this question.
Apple has enabled HEVC hardware decoders with GPUs in iPhone 8 and later.

Play video on Cocoa application

I have tried to use AVPlayer to play a video with my Cocoa Application. However, it turns out that AVPlayer is capable of playing only a very restricted variety of video types. As an example, .avi files and .flv files will not get played by AVPlayer. I suppose that AVPlayer will play only those video types that Quicktime will play (i.e., quite a few!).
So I was looking for alternatives: I will need my software to play the largest variety possible of videos since I cannot know in advance which kind of videos will my users open.
I have Mac OSX 10.10 (Yosemite). What are the alternatives that are available to me?
Thank you very much indeed
You are correct in thinking AVPlayer only plays Quicktime compatible media.
Things I can think of, off the top of my head (which may / may not be suitable, but I don't know what other restrictions you have):
Offer to transcode the video using ffmpeg or similar.
See if "Perian" helps (I'm not sure AVPlayer machinery will see it). Perian is an older Quicktime (32bit) plugin that includes many more codecs. It's deprecated and more or less going away, so it's not a long term solution... if it works at all.

H264 frame viewer

Do you know any application that will display me all the headers/parameters of a single H264 frame? I don't need to decode it, I just want to see how it is built up.
Three ways come to my mind (if you are looking for something free, otherwise google "h264 analysis" for paid options):
Download the h.264 parser from (from this thread # doom9 forums)
Download the h.264 reference software
libh264bitstream provides h.264 bitstream reading/writing
This should get you started. By the way, the h.264 bitstream is described in Annex. B. in the ITU specs.
I've created a Web version - https://mradionov.github.io/h264-bitstream-viewer/
Based on h264bitstream and inspired by H264Naked. Done by compiling h264bitstream into WebAssembly and building a simple UI on top of it. Output information for NAL units is taken from H264Naked at the moment. Also supports files of any size, just will take some time initially to load the file, but navigation throughout the stream should be seamless.
I had the same question. I tried h264 analysis, but it only supports windows. So I made a similar tool with Qt to support different platforms.Download H264Naked. This tool is essentially a wrapper around libh264bitstream