How to add hosted content, such as inline images or videos when sending a message in Teams channel via UI? I know there is limited support for this via API, however I am interested in the UI upload.
Have tried uploading images/videos several times, but these always get converted to attachment objects, and not hosted content.
Related
i am currently working on a real-time chat app in Unity
and i found those platforms to work with,
Firebase : Can we send Videos efficiently ??
MatriX : https://www.ag-software.net/matrix-xmpp-sdk/
but i am not sure that we can send videos with MatriX ?
i wanted to know from your experience
what is the best way to make real-time chatting (support photos and videos sending) in Unity ?
thanks in advance
You need to find or create services where your clients can connect and:
upload files (photos, videos .etc) and get an public and downloadable URL.
send messages to other connected clients that apart from the string, also contain media metadata (.eg a list of file attachments which are actually URLs uploaded at service (1))
Now, if you cannot find a single service that supports those two then you could try to find two different ones.
here is an example of a chat console application in C#. It contains a web service and client library that is used by the console app. Instead of a console app, it could be used in a Unity app. It does not support file uploading but it can send messages between clients over web sockets.
If you were to create something yourself, instead of finding a 3rd party service, I would recommend node.js/express and socket.io for a server since its quite beginner friendly.
here is a C# client library that can listen to socket.io events from the server. It must be the same that is used in the console application I shared above.
I'm sending only text, but I don't know how to send image/url, videos and
integrate that in the chat application in iOS using XMPP.
Please help me.
Please note that you should
Provide what you have done so far.
Search for answers first.
Please check existing answers
question 1
question 2
question 3
question 4
There are two basic approaches to send media data
inband (message with attachment - refer to existing answers)
out-of-band (upload media file to server and send URL in message)
Sending inband data should only be used for small media data. I recommend to use the out-of-band approach.
Out-of-band solutions supported by XMPPFramework
XEP-0065
XEP-0096
Your own XMPP extension
You are the most flexible when you use your own extension, but a standard XMPP client will not understand this. If you implement your own clients the I recommend this approach as follows.
Send media message
Upload media file to server.
Send message with content attribute and out
Receive media message
Parse message received and detect content type and out-of-band file name
Download media file from server.
Delete media file from server.
Example for your own XMPP message extension
<message from=... to=... id=... type=chat>
<body></body>
<myapp xmlns=mycompany:myapp content=image>
<out_of_band_file>myuniquefilename.jpg</out_of_band_file>
</myapp>
</message>
This way you may define your own content types like image, video, audio.
I'm building an iOS app and Android app that will display a series of private videos. Someone will purchase the app for x amount and then have access to the videos through that app only.
I already know a couple of ways to do that part. But the real trick is hiding the video urls to traffic sniffers/etc. I don't want anyone to be able to detect the video urls, or at least the endpoint will reject a request without an auth token.
So I could build my own Node/Express server, incorporate wowza maybe with Amazon to store the files - but that is a lot of work.
So what is the simplest solution to stream my videos to mobile without people being able to load up the videos outside of the app?
It looks like you'll need to implement some sort of authentication system, so that even if they get the video url somehow, they will be unable to view it without the authentication key.
Your videos should be hosted in a directory on your server that is inaccessible from the web. Then use some sort of index page which takes a parameter for the video ID and does the authentication before serving up the video file contents.
A client of mine is a YouTube Partner and can upload/set posterframes in their videos that are being uploaded and managed via the API. However, they would like the ability to upload and set these images in the application that has been written for them to manage all of their video assets.
I'd like to be able to upload a poster image (or at worse provide a timecode to grab an approximate frame of video) to set the posterframe on upload and/or via updates after it's been uploaded.
Is this possible for Partners? or are Partners restricted to having to manually do this in the YouTube UI?
There's a new thumbnails.set() method that's part of the YouTube Data API v3. Anyone who has the ability to set a custom thumbnail via any other mechanism (i.e. manually via the YouTube website) can accomplish the same thing using that API call.
I am planning on integrating YouTube into my web app where users will be able to upload videos to YouTube. I will need to programmatically access the URLs for all uploaded videos, the user IDs of the users who uploaded the videos, and record them in my database.
How can I do this using YouTube Direct Lite?
Is it possible to...
have YouTube Direct Lite callback my app when the download has been completed?
save parameters along with the uploaded video?
You have two options. You can retrieve a feed of videos that have been submitted to your playlist using the Data API, just like YouTube Direct Lite does behind the scenes. The relevant API call is something like
https://gdata.youtube.com/feeds/api/videos?v=2&orderby=published&category=%7Bhttp%3A%2F%2Fgdata.youtube.com%2Fschemas%2F2007%2Fkeywords.cat%7DytdlPLAYLISTID
where PLAYLISTID is the id of the playlist you're using to solicit videos (omit the PL prefix).
You can periodically make this query from your own app to get a feed of videos that are being submitted.
Alternatively, you can use YouTube Direct instead of YouTube Direct Lite. YouTube Direct is a full Java App Engine web application, and has its own datastore that gets updated whenever a submission happens. You can use that data however you'd like. It's a lot more work to get up and running with YouTube Direct, though.