tag:blogger.com,1999:blog-5948128795863963783.post4875063113131800291..comments2024-03-03T04:22:41.547-08:00Comments on Streaming Media and RTOS: MPEG-DASH Support in YoutubeRajeev Tiwarihttp://www.blogger.com/profile/13394144624076996731noreply@blogger.comBlogger10125tag:blogger.com,1999:blog-5948128795863963783.post-92122633100831839662017-11-30T20:37:16.239-08:002017-11-30T20:37:16.239-08:00This comment has been removed by the author.harada57https://www.blogger.com/profile/06015023155124017905noreply@blogger.comtag:blogger.com,1999:blog-5948128795863963783.post-90006386955402085782013-08-28T16:33:03.539-07:002013-08-28T16:33:03.539-07:00I am doing my Masters at Univ of Maryland Baltimor...I am doing my Masters at Univ of Maryland Baltimore County. Currently working as a Research Asst. When u get time, We're now connected on Linkedin. <br />Did you get chance to look at my previous post? I've added some more details. Anil Jangamhttps://www.blogger.com/profile/14603603041191604388noreply@blogger.comtag:blogger.com,1999:blog-5948128795863963783.post-57564915484965776712013-08-28T12:37:24.839-07:002013-08-28T12:37:24.839-07:00Good. ... Can I know what are you trying to do? wh...Good. ... Can I know what are you trying to do? which company you work for?Rajeev Tiwarihttps://www.blogger.com/profile/13394144624076996731noreply@blogger.comtag:blogger.com,1999:blog-5948128795863963783.post-42278937924057085272013-08-28T11:59:23.973-07:002013-08-28T11:59:23.973-07:00Alrite, after switching the UA value, I got the MP...Alrite, after switching the UA value, I got the MP4 container based videos. I guess it will be easy to process the videos now. <br /><br />The only problem at I see that at proxy, I have to wait till the video file (I mean the HTTP response message payload) is downloaded before I could process it (e.g. transcode). <br /><br />I am not sure if inline (or online) transcoding is possible and how. However so far this is good for my requirement I think. Will keep you posted. Anil Jangamhttps://www.blogger.com/profile/14603603041191604388noreply@blogger.comtag:blogger.com,1999:blog-5948128795863963783.post-25699236645716103422013-08-28T11:05:29.302-07:002013-08-28T11:05:29.302-07:00Request you to check your linkedin mail box; I'...Request you to check your linkedin mail box; I've a msg for you. <br /><br />Ok, I did not get it when you said 'transcoding to flv can not be done because the contents are based on MPEG-DASH'. Is it because they do not send the content as as container (as I observed) or there is some other reason? DASH is codec independent I guess, right?<br /><br />Yes, youtube is now sending the content in fragmented form like in HLS, and I can see - for longer videos - a fixed length of chunks of video, and audio in the Fiddler HTTP trace. <br /><br />I presume when you said to use iPhone or Android device, you mean to say to see the content as a container (or contained one) e.g. FLV or MP4 rather than the separate video and audio streams, which perhaps happens for the desktop devices. I will try that by changing the User-Agent header from my browser (I will try some User Agent Switcher, as I do not have the iPhone or Android device with me). <br /><br />AFA the parser is concerned, I have the Xuggler APIs compiled, and I've written some sample code to dump the media info. For example, see below. I'm printing two files (which are separate video and audio streams, and one FLV container file). <br /><br />If you see first two dumps, you will understand why I think there is a problem to transcode the video/audio stream as it does not show any specific container details. <br /><br />######################<br /><br />file /home/anilj1/javaWs/GetContainerInfo/testdata/audio_sample<br />Input format long name: QuickTime/MPEG-4/Motion JPEG 2000 format<br />Output format long name: null<br />Input format short name: mov,mp4,m4a,3gp,3g2,mj2<br />Output format short name: null<br />1 stream; <br />duration (ms): 20015; <br />start time (ms): 0; <br />file size (bytes): 176128; <br />bit rate: 70396; <br />stream 0: <br />type: CODEC_TYPE_AUDIO; <br />codec: CODEC_ID_AAC; <br />duration: 882688; <br />start time: 0; <br />language: und; <br />timebase: 1/44100; <br />coder tb: 1/44100; <br />sample rate: 44100; <br />channels: 1; <br />format: FMT_S16<br /><br />#####################################3<br />file /home/anilj1/javaWs/GetContainerInfo/testdata/video_sample<br />Input format long name: QuickTime/MPEG-4/Motion JPEG 2000 format<br />Output format long name: null<br />Input format short name: mov,mp4,m4a,3gp,3g2,mj2<br />Output format short name: null<br />1 stream; <br />duration (ms): 15015; <br />start time (ms): 0; <br />file size (bytes): 507904; <br />bit rate: 270611; <br />stream 0: <br />type: CODEC_TYPE_VIDEO; <br />codec: CODEC_ID_H264; <br />duration: 1351350; <br />start time: 0; <br />language: und; <br />timebase: 1/90000; <br />coder tb: 1001/60000; <br />width: 320; <br />height: 240; <br />format: YUV420P; <br />frame-rate: 29.97; <br /><br />#####################################3<br />file /home/anilj1/javaWs/GetContainerInfo/testdata/ashton_kutcher.flv<br />Input format long name: FLV format<br />Output format long name: null<br />Input format short name: flv<br />Output format short name: null<br />2 streams; <br />duration (ms): 14072; <br />start time (ms): 0; <br />file size (bytes): 1184122; <br />bit rate: 673179; <br />stream 0: <br />type: CODEC_TYPE_VIDEO; <br />codec: CODEC_ID_H264; <br />duration: unknown; <br />start time: 0; <br />language: unknown; <br />timebase: 1/1000; <br />coder tb: 500/29917; <br />width: 720; <br />height: 480; <br />format: YUV420P; <br />frame-rate: 29.92; <br /><br />stream 1: <br />type: CODEC_TYPE_AUDIO; <br />codec: CODEC_ID_AAC; <br />duration: unknown; <br />start time: 0; <br />language: unknown; <br />timebase: 1/1000; <br />coder tb: 1/44100; <br />sample rate: 44100; <br />channels: 2; <br />format: FMT_S16<br /><br />#####################################3<br />Anil Jangamhttps://www.blogger.com/profile/14603603041191604388noreply@blogger.comtag:blogger.com,1999:blog-5948128795863963783.post-71371308934875651832013-08-28T10:44:42.626-07:002013-08-28T10:44:42.626-07:00Anil,
Youtube recently changed their way of supply...Anil,<br />Youtube recently changed their way of supplying contents over Desktop and Mobile devices, most of the contents based on region you will are MPEG-DASH so they can not be transcoded to flv format. Since MPEG-DASH has video fragments of smaller duration's like in HLS protocol you see ts segments. You should try the same using I phone or Android at YouTube to get the info. Or try to modify your parser code which can parse the mime type more accurately.<br /><br />Let me know if this helpsRajeev Tiwarihttps://www.blogger.com/profile/13394144624076996731noreply@blogger.comtag:blogger.com,1999:blog-5948128795863963783.post-63911411768533230482013-08-27T17:24:02.739-07:002013-08-27T17:24:02.739-07:00Youtube as I can see from the traces I captured (u...Youtube as I can see from the traces I captured (using fiddler) sends audio and video separately in different HTTP message. While sending this, it sets the content-type header to "application/octet-stream". This makes it difficult to understand what container it is actually using e.g. I find the below. <br /><br />Video stream found: h264<br />Audio stream found: aac<br />Content type: application/octet-stream<br /><br />According to Youtube wikipedia, MP4 and FLV both contain h264 and aac. So not sure how I can transcode the video part. <br /><br />Additional challenge I think is even if I transcode the video part, whether it will suite the Flash player? This separation of the video and audio data is kind of tricky. <br /><br />Can you help a bit? Anil Jangamhttps://www.blogger.com/profile/14603603041191604388noreply@blogger.comtag:blogger.com,1999:blog-5948128795863963783.post-86592827790793453412013-08-25T21:23:00.646-07:002013-08-25T21:23:00.646-07:00Anil,
Youtube does support multiple formats for st...Anil,<br />Youtube does support multiple formats for streaming,they dont rely only on flv transcoding. if you follow their basics you will get to know about it. http://en.wikipedia.org/wiki/YouTube . YouTube has come up with their own DASH implementation until Standard become mature. <br /><br />DASH is specifically designed to remove monopoly from Device driven protocols like HLS,HDS,SS etc. DASH is supported on all devices. If you have any specific question send it across.Rajeev Tiwarihttps://www.blogger.com/profile/13394144624076996731noreply@blogger.comtag:blogger.com,1999:blog-5948128795863963783.post-38076332761265794512013-08-25T17:18:32.992-07:002013-08-25T17:18:32.992-07:00Hello Rajiv, Thanks for an excellent information o...Hello Rajiv, Thanks for an excellent information on Youtube streaming architecture. As I read about DASH, it is codec agnostic. So I presume one can theoretically stream data encoded with any video codec, correct?<br /><br />AFA Youtube is concerned, as it uses Flash player, do you think there will be any requirement of transcoding the content given the multitude of mobile devices out there in the market? Note that each device has different characteristics, and may not support the codec used by Youtube e.g. <br /><br />It will be really great if you can elaborate on this aspect. Thank you!Anil Jangamhttps://www.blogger.com/profile/14603603041191604388noreply@blogger.comtag:blogger.com,1999:blog-5948128795863963783.post-12596829937260613642013-01-09T21:29:03.344-08:002013-01-09T21:29:03.344-08:00Thats Awesome NewsThats Awesome NewsAnonymoushttps://www.blogger.com/profile/07762532946471794620noreply@blogger.com