Google I/O 2013 – Broadcast Yourself!: Using the YouTube Live APIs to Stream to the World

SATYAJEET SALGAR : 좋습니다 여러분 좋은 오후입니다

여기에 와서 온라인을 시청 해 주셔서 감사합니다 내 이름은 Satyajeet Salgar 다 나는 이브라힘과 함께있다 YouTube Live 플랫폼에 대해 이야기하고 있습니다 YouTube 라이브 API 플랫폼에 대해 조금 이야기 할 것입니다

제작자가하고 있습니다 이브라힘 (Ibrahim)은 API에 대한 세부 정보를 제공하고 너 데모 야 그리고 우리는 질문을 위해 약간의 시간을 절약 할 것입니다 그거 괜찮은가요? 우리는 또한 라이브로부터 질문을 취할 것입니다 Google 포럼 포럼에서 잠재 고객을 스트리밍 온라인을 참조하십시오

그래서 우리는 당신의 질문을 기다리고 있습니다 괜찮아 라이브 스트리밍 데모로 라이브 스트리밍 토크입니다 라이브 스트리밍되지만, 우리는 더 깊이 갈 수 있습니다 누군가 살아있는 우리가

그래서 가능합니다 YouTube 얼마나 많은 사람들이 YouTube를 보았습니까? 지난 달 비디오? 당신은 10 억 인구의 일부입니다 인터넷에 지금있는 사람들 그들은 매달 60 억 시간을 지켜보고 있습니다

플랫폼 전반에 걸쳐 따라서 전세계에서 우리의 의견 중 25 %가 모바일 장치에 있습니다 YouTube는 전 세계에서 가장 큰 검색 엔진이기도합니다 YouTube와 동영상은 YouTube와 참여를 유도하고 위대하게 창출하십시오 귀하의 청중을위한 경험 우리는 특히 라이브를 생각합니다

그래서 YouTube에서의 라이브에 대해 조금 이야기 할 것입니다 얼마나 많은 사람들이이 이미지를 인식합니까? 거의 모든 사람 그러니 10 월 14 일에 펠릭스 바움 가르트 너 (Felix Baumgartner)의 이름으로 오스트리아 신사가 들어 섰다 그 우주 캡슐은 우주로 24 마일 올라가서 내려다 보았다 뉴 멕시코를 넘어서서 뛰어 올랐다

점프는 약 10 분이었고 그는 자유 낙하했습니다 약 4 분 이것은 우리가 인터넷 트래픽을 본 것입니다 그 기간 네

언젠가는 저처럼 두 사람이 언론에 남았습니다 회의 그러나 이것이 최고였습니다 그리고 그 절정에, 82 백만명의 사람들이 조정되었습니다

그리고 5200 만 건의 재생이 있습니다 그것은 라이브 이벤트의 규모와 흥분의 종류입니다 YouTube에서 생성 할 수 있습니다 그건 그렇고, 재미있는 퀴즈 조각, 그 시점에서 – 그 4 분 – 모든 인터넷의 약 8 % 트래픽이 그 비디오였습니다 다행히도, 당신은 공간을 뛰어 넘어 창조 할 필요가 없습니다

멋진 라이브 엔터테인먼트 우리는 톤과 수 많은 파트너가 오늘은 유튜브에 왼쪽 상단에 왼쪽, 축구 강국 때마다 러시아 스파르타 크 모스크바에서 활약하며 라이브 트래픽 러시아 스파이크에서 라이브 스포츠는에 대한 엔터테인먼트를 구축하는 좋은 방법입니다 YouTube, 인도 크리켓 또는 메이저 리그 생중계하는 야구는 국제적으로 게임을 스트리밍합니다

NBA 발달 리그 아니면 누구나 쉽게 찾을 수있는 스포츠입니다 세계 어디서나 찾을 수 있습니다 예를 들어, 호주에서 서핑, 소년 고등학교 인도네시아 축구, 배드민턴, 현지 하키 인도 -이 모든 것 경험은 YouTube에 게시됩니다 잠재 고객이이를 찾고 채널이 YouTube에 잠재 고객을 구축합니다

그러나 스포츠에 대한 우리의 비전은 단순한 게임이 아닙니다 우리는 게임 주변에 수많은 라이브 자료가 있다고 생각합니다 너가 강당에 들어갈 때 터널 캠이야 그 후에 인터뷰인지 여부 이것들은 모두 라이브 스포츠 경험의 일부입니다

얼마나 많은 사람들이 유벤투스가 누구인지 압니까? 그다지 많은 사람들이 좋아, 몇 사람 그래서 유벤투스는 이탈리아 축구 클럽입니다

그들은 리그에서 우승했습니다 클럽이 함께 할 때 생방송입니다 온 마을이 승리를 축하했다 수만명의 사람들이 들어 봤고 그들의 글로벌 팬들도 참여할 수 있습니다 우리는이 톤과 톤의 차원에서 일어나는 것을 봅니다

음악은 또 다른 훌륭한 음악입니다 울트라 뮤직 마이애미 축제, 일본의 코 첼라, AKB48, 또는 그의 새 앨범을 데뷔 한 신사 (PSY)는 YouTube의 실시간 스트리밍 우리는 모든 종류의 아티스트가 YouTube에 온 것을보고 있습니다 잠재 고객에게 멋진 라이브 경험을 제공합니다 그리고 우리는 이것이 시작에 불과하다고 생각합니다 우리는 이것이 모든 종류의 독립 예술가

그리고 나는 예술가들이 음악가 그 이상을 의미한다고 말합니다 물론 우리는 게임이 게임의 큰 부분이 될 것이라고 생각합니다 YouTube에 생방송 우리는 이미 많은 것을 가지고 이것을 보게됩니다 플랫폼에서 나오는 e-sports 토너먼트

라이드 게임은 예를 들어, 리그 오브 레전드 (Legends of Legends) 토너먼트 우리는 톤수를 더보고 있습니다 Google은 최근 Call of Duty와의 API 통합을 수행했으며, Black Ops II : 실제로 스트림을 라이브 스트리밍 할 수 있습니다 멀티 플레이어 게임 플레이 자, 우리 모두는 누군가를 보는 것의 가치를 이해합니다

누가 정말 좋은 연극이지, 그렇지? 그러나 그것은 그 이상으로 확장됩니다 예를 들어, 몇 주 전, 의무 선반에 전화하자 놀고있는 누군가에게 비틀 거린다 그리고 몇 초 안에 꽤 명확 해졌습니다 이 사람은 실제로 좋지 않았다고

하지만 갑자기, 그녀는 일시 중지하고 실제로 채팅을 시작했습니다 청중이 말하는, 이봐, 고마워 나는 놀고있는 걸 보았습니다 나는 내가 그렇게 위대하지 않다는 것을 알고 있지만, 나는 훨씬 나아지고있다 그리고 이것이 제가 최근에 한 일입니다

이제 그녀를 지켜보고 있던 두 세명의 행동 그녀의 경험을 더 좋게 만들었습니다 그것은 그녀를위한 단순한 게임 그 이상의 것이되었습니다 이것이 라이브 스트리밍과 연결의 힘입니다 YouTube에서 매일 보는 시청자 그리고 그것은 모든 종류의 엔터테인먼트로 확장되며, 제품 출시 여부와 정확히 일치하는 회의 이것, 또는 매우 정교한 에이프릴 바보 장난

사람들은 YouTube April Fools의 장난을 인정합니다 오른쪽 상단? 몇 사람? 네, 12 시간 동안 진행된 실시간 스트림이었습니다 이 매우 용감한 앵커들이 실제로 제목을 읽고 기본적으로 수십만 개의 YouTube 동영상 아니면 레드 카펫 첫날 같은 무언가 우리가 뭘 더 잘할 수 있을까요? 상단의 멀티캠을 확인하십시오

다른 곳에서는 이것을 할 수 없습니다 그래서 우리는 단지 하나의 특정한 견해를 스트리밍하는 것이 아닙니다 그러나 우리는 청중들에게 그들은 가고 싶었다 우리는 장르 전반에 걸쳐이를 수행 할 수 있습니다 예를 들어 최근 PGA 라이브 타이거 우즈가 나왔다

그래서 타이거 우즈를 따라 가려면 토너먼트에서 실제로 그렇게 할 수 있습니다 물론 이것은 훨씬 더 많이 확장됩니다 또한 뉴스와 시사 문제도 다루고 있습니다 우리는 YouTube에 교황이 있었다 YouTube에서 대통령 토론회를 가졌습니다

미국 대통령 토론 오른쪽 상단에서 보신 것은 최초입니다 케냐의 대통령 토론 케냐에서는 교통량이 급증했습니다 그것이 무엇인지 궁금합니다 그리고 그것은이 사건으로 밝혀졌습니다

수많은 국제 뉴스 채널 YouTube에서 실시간 방송 그리고 물론, 우리는 많은 주제를 다루고 있습니다 이제 우리는 제작자가하는 모든 것에 정말 흥분하고 있습니다 커뮤니티가 YouTube에서하고 있습니다 그러나 이것을 가능하게하는 것은 무엇입니까? 우리가 정말로 흥분하는 것은 강력한 솔루션입니다

우리가 만든 것 YouTube 엔지니어링 팀이 마지막으로 열심히 노력했습니다 해결책을 구축하기 위해 2 년 나는 기분이 좋았다 시청자에게 최고의 스트림 품질을 제공합니다 우리는 적응 비트율과 같은 것을 제공합니다

따라서 이동하면서 대역폭이 변경되면 스트림 품질에 손실이 발생하지 않습니다 스트림에서 앞뒤로 건너 뛸 수 있도록했습니다 그리고 우리는 여러 장치를 통해 작업합니다 그래서 당신이 당신의 데스크탑에서나 당신의 전화, 그냥 작동합니다 비교할 수없는 규모와 품질

광고 작성자는 광고를 쉽게 삽입 할 수있는 기능을 제공하며, 우리에게 단 하나의 고품질 스트림을 보내려면 모두 클라우드에서 실시간으로 트랜스 코딩하고, 필요한 모든 장치와 해상도 우리는 당신에게 여러 카메라 각도를 제공합니다 광고 삽입을 허용합니다 우리는 당신이 슬레이트를하도록합니다 닫힌 캡션을 삽입하는 것이 정말 쉽습니다

훨씬 더 많은 것이 있습니다 우리는 지금 막 시작하고 있습니다 우리는이 플랫폼을 계속 구축 할 것입니다 우리의 제작자 커뮤니티와 개발자 우리는 라이브 API를 출시하여 파트너 및 개발자 믿어지지 않는 것들을 지어 라

모든 베타 파트너에게 감사드립니다 너는 방에있다 이 API를 성장시키는 데 도움을 주셨습니다 그리고 우리는이 일로 더 많은 것을 알고 있습니다 마지막으로, 우리가 정말로 흥분하는 사실은 우리는이 플랫폼을 제작자가보다 쉽게 ​​이용할 수 있도록 만들고 있습니다

어제 YouTube에서 YouTube를 통해 1,000 명의 가입자가 실시간으로 스트리밍 할 수 있습니다 우리는 이것이이 플랫폼을 더욱 가치있게 만들 것이라고 생각합니다 를 위해 개발하십시오 그리고 우리는 제작자가 커뮤니티는 당신이 어떻게 활용할 수 있는지도 알고 있습니다 개발자로서

이를 통해 Ibrahim에게 API에 대해 알려주시겠습니까? 이브라힘 울루 카야 : 물론입니다 그래서 저는 Ibrahim Ulukaya, 개발자입니다 YouTube의 프로그램 엔지니어 오늘은 API 자체에 대한 개요를 실제로 제공하겠습니다 그런 다음 설정을 제안하려고합니다

라이브 스트리밍을 위해 그리고 우리는 자바 샘플 코드를 조금씩 살펴 보겠습니다 결국에는 Android 데모가 실제로 표시됩니다 우리가 살기 시작한 이래로 우리는 그것을 보게 될 것입니다 시작하자

YouTube 라이브 스트리밍 API 실시간 스트리밍 API를 사용하면 실제로 일정을 잡을 수 있습니다 YouTube에서 실시간 이벤트를 업데이트하고 관리합니다 나만의 스트림을 인스턴스화하고이를 발생시킬 수 있습니다 이러한 이벤트 내부

YouTube 콘텐츠 파트너 인 경우 광고 지금은 개념에 대해 조금 이야기하고 싶습니다 오늘 제가 이야기하고 싶은 첫 번째 개념은 방송입니다 캘린더 일정처럼 방송을 생각해보십시오 뉴스 같은 쇼

일정 시간 동안 예정되어 있으며 이벤트 컨테이너처럼 YouTube / 라이브로 이동하면 이 사진 지금 일어나고있는 사건을 볼 수 있습니다 또는 미래의 일정을 계획하고 있습니다 두 번째 개념은 스트림입니다

스트림이란 YouTube에 전송하는 스트림입니다 이러한 이벤트의 시작점입니다 그래서 저는이 두 가지를 구별하고 싶습니다 방송은 사건입니다 – 특정 시간에 예정된 일정 스트림은 나만의 콘텐츠입니다

YouTube 진입 점 그래서 실제로 이것들을 다루고 있습니다 방송은 이벤트였습니다 이벤트 메타 데이터, 스트림이 실시간 귀하의 콘텐츠를 스트리밍 우리가 헤어질 수 있었던 이유는 유연성을 제공하여 여러 스트림을 보유 할 수 있습니다

해당 스트림에 대해 해당 스트림을 전환 할 수 없습니다 브로드 캐스트 이벤트 자체 그리고 만약 당신이 아마 당신의 스트림을 가지고 있다면, 당신은 그 스트림, 같은 스트림을 사용하고 싶을 수도 있습니다 처리 설정을 다른 이벤트로 보냅니다 그래서 우리는 융통성있게 만들어서이 둘을 분리했습니다

마지막으로 큐 포인트입니다 Cuepoint는 인스 트림 광고입니다 파트너 API를 기반으로합니다 YouTube 콘텐츠 파트너 인 경우 광고 삽입 그럼 어떻게 서로 놀 수 있죠? 내가 말했듯이, 방송은 사건입니다

그리고 당신이 당신의 시내를 원할 때 – 귀하의 콘텐츠가 이벤트에 나타나면 그냥 바인딩하는 것입니다 함께 광고를 삽입하려면 광고를 이벤트에 삽입하는 것 이 스트림을 브로드 캐스트, 스트림 이 방송에있을거야 이 이벤트 내부로 스트리밍됩니다

다른 스트림을 원하면 연결할 수 없습니다 항상 일대일 매핑이 있습니다 맞아, 이제 나는이 개념들에 대해 깊이 생각하고 싶다 그래서 브로드 캐스트는 메타 데이터입니다 제목, 설명, 예정 시간이 있습니다

비공개 또는 공개 이벤트로 만들 수 있습니다 새로운 플랫폼을 사용하면 실제로 녹음을 사용할 수 있습니다 따라서 사용자가 실시간 스트리밍을 보지 못하면 사용자가 갈 수도 있습니다 나중에 YouTube에서 동영상을 볼 수 있습니다 그리고 DVR 설정을 사용하도록 설정할 수 있습니다

동영상 내에서 앞뒤로 이동할 수 있습니다 이것은 이벤트 일정을 계획하고있었습니다 그리고 이벤트 라이브 사이클을 관리하는 것은 어떻습니까? 따라서 처음 이벤트를 만들면 시작됩니다 창조적 인 슬레이트로 그리고 그들을 묶어서 준비가되면 시작, 우리는 준비 상태에 있습니다

따라서 사용자는 곧 이벤트가 시작된다는 것을 알게됩니다 옵션 상태로 미리보기로 이동할 수 있습니다 그래서 이것은 실제로 좋은 상태입니다 이벤트가 진행되면 스트림을 모니터링 할 수 있습니다 우리는 거기에 갈 수있는 또 다른 모니터 URL을 보내고 공개되기 전에 스트림을 볼 수 있습니다

그리고 갈 준비가되면 마법이 일어납니다 그것은 스트리트 라이브갑니다 그리고 모든 좋은 일은 어느 시점에서 끝나야합니다 이걸 끝내고 싶으면 그냥 사이클을 완료하십시오 그 개울은 어쩌고? 스트림이 진입 점이었습니다

YouTube에서 스트리머와 이야기하는 곳입니다 그래서이 진입 점을 만듭니다 기억할 수 있도록 자신의 이름을 설정했습니다 그런 다음 지원하려는 가장 높은 비트 전송률을 설정합니다 지원하려는 가장 높은 해상도를 설정합니다

스트림에 대해 정말로 중요한 한 가지는 항목입니다 포인트를 만들면 실제로 RTMP URL 및 스트림 이름을 사용하면 어디에서 너는 이것들에 접근하기 위해 말할 것이다 스트림, 당신의 깃발을 보내십시오 그리고 최근의 것이 큐 포인트입니다 설명했듯이 인스 트림 광고였습니다

인스 트림 광고를 시작하고 오래있을 것입니다 그들이 어떻게 상호 작용하는지 기억합시다 다시 서로 스트림이 방송에 바인딩되어 스트림이이 이벤트에 발생합니다 한 번 광고를 삽입하려면 콘텐츠 파트너 인 경우 삽입물을 사용하고 있습니다

그래서 얼마나 많은 사람들이 라이브 스트리밍을 사용 했나요? 전에 어떤 채널에서? 좋아, 나는 약간을 본다 그리고 얼마나 많은 사람들이 인코딩과 디코딩을 사용할지, 아마도 실시간 스트리밍이 아닌가요? 승인 나는 몇 가지 더 많이 본다 그리고 아마도 지금 궁금해하실 것입니다 개념 및 API를 제공하지만 최고의 실시간 스트리밍은 어떨까요? YouTube 설정 지금 당장이 새로운 플랫폼으로 모든 표준 비트 전송률 지원, 모든 표준 해상도는 240p에서 최대 1080p입니다

이 제품의 가장 큰 특징은 이 모든 다른 비트 전송률을 보내십시오 YouTube에 대한 결의안 원하는 가장 높은 비트 전송률을 보내고 싶습니다 지원, 가장 높은 지원하려는 해상도 그리고 거기에서, 실시간으로, 우리는 그것을 모두에게 낮은 자질

그래서 대역폭을 절약하고 있습니다 처리 능력을 저장하고 있습니다 그리고 우리는 당신을 위해 전체 무거운 것을 할 것입니다 엔코더는 어떻습니까? 현재 RTMP 플래시 스트리밍을 지원하고 있습니다 그리고 당신은 H

264 비디오를 사용하고 싶습니다 구형 코덱의 경우 AAC를 지원하고 있습니다 앞에서 설명했던 것과 유사하게 코드 변환 된 낮은 비트 전송률, 다른 코드로 변환 콘테이너 및 다른 자질 그래서 사람들 iOS, Android 및 Google TV에서 제공되는 뿐만 아니라 스트림 따라서 당신은 당신이 어떻게 변할 것인지 생각할 필요가 없습니다 다른 설정으로 스트리밍하십시오

우리는 당신을 위해 이것을 할 것입니다 그래서 이것은 첫 번째 스트리밍이었습니다 설정 및 API 개요 그리고 당신이 실제로 가질 수있는 것처럼 – 이 플랫폼에 개발자가 있다는 것을 알고 있습니다 우리의 다른 견본과 이야기하십시오

오늘 내가 말할 모든 샘플, 그들은 열려있다 YouTube API 샘플에 따라 제공됩니다 그래서 한 가지를 놓치거나 둘, 흥분하지 마라 그들은 모두 오픈 소스입니다 거기에 가서 여전히 액세스 할 수 있습니다

그리고 오늘 저는 Java 샘플에 대해서 이야기 할 것입니다 그러나 우리는 파이썬에서 모든 클라이언트 라이브러리를 지원합니다 PHPnet에서 Objective-C로, 많은 사람들이 그리고 우리가 지원하는 다른 클라이언트 라이브러리를 볼 수 있습니다

그리고 그것은 완전히 RESTful 한 API입니다 클라이언트 라이브러리를 사용하지 않으려는 경우에도 REST API 만 사용할 수 있습니다 첫 번째 예를 들어 보겠습니다 방송을 만듭니다 오늘 저는 세 가지 일을하고 싶습니다

방송 제작을 시작한 다음 스트림을 만들고 함께 연결하십시오 그래서 나는 살아갈 준비가되어있는 어떤 것을 갖게 될 것입니다 브로드 캐스트 만들기를 시작합니다 메타 데이터를 입력 한 다음 상태를 설정합니다 그리고이 둘을 사용하여 브로드 캐스트 객체를 만듭니다

이제 YouTube에서이 방송 객체를 만들고 싶습니다 삽입 요청을 작성하고 실행합니다 그래서 나는 방송에서 시작하겠다 스 니펫, 메타 데이터 나는 그것을 설정하고 제목을 만들었습니다

나는 예정된 시간을 정했다 그리고 기억해야 할 한 가지는, 오늘은 필수 매개 변수 앞서 설명한 다른 매개 변수가 있지만 단지 최소한의 일을하는 것뿐입니다 그리고 두 번째는 지위였습니다 상태와 함께, 이것 때문에 예를 들어, 비공개로 설정했습니다

이전 버전을 사용하여 스 니펫과 상태를 설정 했으므로 브로드 캐스트 객체를 생성합니다 이제이 브로드 캐스트 객체를 YouTube에 삽입하려고합니다 그것은 YouTube에도 나타날 것입니다 그래서 그 삽입 요청을 만듭니다 그리고 클라이언트 라이브러리를 사용하여 라이브 방송을했습니다

요청을 삽입하고, 클래스를 삽입하십시오 그리고 만든 브로드 캐스트 객체를 래핑합니다 이 요청 앞부분 그리고 나는 그것을 실행했다 그리고 RESTful API라고 설명했습니다

모든 것이 클라이언트 라이브러리에 의해 성공적으로 수행되면 JSON이 전달되고 리턴 브로드 캐스트가 표시됩니다 방송은 실제로 YouTube 내부에 삽입되었습니다 그래서 그때부터, 내가 한 모든 일을 확인할 수 있습니다 성공 여부 따라서 방송을 만든 후 두 번째 단계는 스트림

그 시내는 – 나는 비슷한 나무를 할 것이다 메타 데이터부터 시작하겠습니다 내 섭취 설정을 지정합니다 그리고 스트림 객체를 생성합니다 마지막에는 YouTube에 삽입하겠습니다

그래서 스 니펫으로 시작합니다 메타 데이터이기 때문에 제목을 설정합니다 그런 다음 섭취 설정을 살펴 보겠습니다 처리 설정에서 내가 설명했듯이 지금 RTMP를 지원하십시오 이 예제를 위해 1080p로 설정했습니다

이것이 제가 지원하고자하는 최대 해상도입니다 지금 스트림 객체를 생성하고 스 니펫 및 방금 만든 섭취 설정 이제 YouTube에 삽입 할 차례입니다 그래서 다시 삽입 개체를 만듭니다 이번에는 라이브 스트림 삽입 객체입니다 그리고 나는 그 안에 물줄기를 담았다

일단 내가 그것을 실행하면, 나는 창조 된 시내가이다 돌려 보낸다 YouTube에서 기억해야 할 것이 있습니다 앞에서 설명했듯이, 이것은 여러분의 진입 점입니다 YouTube의 스트림 엔트리 포인트 따라서 일단이 스트림을 만들면 실제로 처리 주소, RTMP URL 가져 오기 및 스트림 명 따라서 동일한 API를 사용하여 실제로이를 해결합니다

처리 주소, 스트림 이름, 그래서 우리는 어디에서 알 수 있습니까? 스팀, 어디로 우리의 깃발을 보낼 수 있습니다 그래서 우리도 스트림을 만듭니다 지금까지 우리는 이벤트를 만들고 스트림을 만들었습니다 무언가가 빠졌어 나는 그것이 연결이라고 생각한다

그래서 우리는이 사건 안에서 시내가 일어나도록하고 싶습니다 따라서 우리는 바인드 요청을 생성 할 것입니다 내부에 브로드 캐스트 ID를 설정합니다 설정된 스트림 ID를 설정합니다 일단 실행하면 성공하면 방송

이제 바인딩이 성공했는지 여부를 확인할 수 있습니다 그래서 이것은 자바 샘플 이었지만, 나는 그것을 실행하고 싶다 컴퓨터에서 YouTube로 연결된다는 것을 알게됩니다 그래서 방금 전에 보여준 예제를 사용하고 있습니다 브로드 캐스트 예제

나는 그것을 실행할 것이다 OAuth 20 메소드를 사용하여이 작업을 수행합니다 스트림 만들기,이 예제, 내 스트림을 만듭니다 내 대신에 그래서 나는 접근을 허용 할 것이다

액세스가 허용되면 데모를 사용하기 시작합니다 따라서 "I / O"라는 제목의 스트림 브로드 캐스트 이벤트 '13 이벤트 "확인 그래서 나는 사건이 일어난 것을 봅니다 방금 게시되었습니다

나는 실제적인 시내를 창조 할 것이다 그래서 저는 스트림을 만들뿐입니다 이전에 설명했듯이 일단 스트림을 만들면 처리 주소가 있습니다 그리고 내 스트림 이름 – 내 고유 한 스트림 이름이 있습니다 그래서이 두 가지를 사용하여 데이터를 어디에 스트리밍할지 알 수 있습니다

그리고 마지막으로, 내가 설명했듯이, 이제 나는 그들을 하나로 묶는다 따라서 내가 만든 브로드 캐스트 ID와 내가 만든 스트림 ID는 내 사건이 알 수 있도록 그들을 묶어 라 방송 할 스트림 한 단계 아래로 가서 YouTube 웹 사이트로 이동하십시오 내 계정에서 라이브를 사용할 수 있으므로 내 계정에 있습니다

그래서 나는 여기서 라이브 이벤트를 볼 수 있습니다 방금 만든 이벤트, "I / O '13 이벤트" 그리고 클릭하자 이번 행사 그리고 내가 설명했듯이 그것이 사적이라는 것을 알았습니다

그것은 미리 예정되어 있습니다 섭취 설정으로 이동합니다 그리고 방금 만든 이벤트 인 "I / O Stream 이벤트 "가 여기에 있습니다 방금 설명한대로 1080p입니다 그래서 이것은 자바의 데모였습니다

그리고 저는 한 단계 더 나아가고 싶습니다 그리고 내가 시도 할 작은 스트리밍 앱을 만들었습니다 여기에서 시내로 어디 보자 그래서 나는 처음부터 – 내가 이걸 돌려 보자

승인 먼저 로그인부터 시작하겠습니다 Google Play 계정 관리자를 사용합니다 그래서 여기에서 내 계정이 있습니다 나는 내 계좌를 고를 것이다

이제는 이벤트를 승인 할 것입니다 그리고 나는 나의 이벤트를 만들 것이다 그래서 지금 무슨 일이 일어나고 나는 이벤트를 만들었습니다 나만의 독특한 증기를 만든 다음, 나는 그들을 함께 연결한다 그리고 내가 라이브 이벤트에 참석했을 때, 나는 단지 그것들을 나열합니다

보시다시피, 전에 만들었던 "I / O '13" 저기에있다 방금 만든 동영상 중 라이브 스트리밍입니다 여기 이벤트 그래서 나는 이것을보고있다 그리고 나는 지금 스트리밍을 시작할 것이다

스트리밍을 시작한 것처럼 보입니다 YouTube 웹 사이트에서 살펴 보겠습니다 그리고 내 라이브 스트림 이벤트 나는 실제로 스트리밍으로 가서 무엇이 보이는지 보게 될 것이다 지금 당장 일어나고있어

네 내 스트리밍이 여기서 시작되었습니다 내 API에서 스트리밍을 시작하기 위해 이미 클릭했습니다 API에서 그래서 나는 이미 클릭 했으므로 클릭 할 필요가 없었습니다

나는 시내를 시작하도록 요청했다 그리고 지금 당장은 서버가 트랜스 코딩하고 있습니다 그리고 몇 초 만에 우리는 살게 될 것입니다 그래서 그것을 보자 나는 나의 사건에 나의 계정 등을 맞댄 갈 것이다

이번에는 클릭 만하면됩니다 그리고 내 사건이 시작됩니다 몇 초만 기다려주세요 SATYAJEET SALGAR : 몇 초주세요 오늘 데모 신이 호의적 인 것처럼 보입니다

우리는 네트워크를 비난 할 수 있습니까? 이브라힘 울루 카야 : 죄송합니다 SATYAJEET SALGAR : 우리는 네트워크를 비난 할 수 있습니까? IBRAHIM ULUKAYA : 네, 물론, 왜 안됩니까? SATYAJEET SALGAR : 왜 안돼? 괜찮아 몇 초만주세요 관객 : [INAUDIBLE]? 이브라힘 울루 카야 : 아닙니다 질문은 내가 I / O '13에 스트리밍하거나 이번 행사

실제로, 내가 방금 한 것처럼, 나는 실제로 라이브를하는 것처럼 보입니다 스트리밍 이벤트 I / O '13은 Java Eclipse에서 사용한 것입니다 그래서 오늘은 Eclipse를 보여 줬습니다 그러나 원하는 언어를 자유롭게 사용할 수 있습니다

뭐 무슨 일이 일어나고 있어요 그리고 그래, 우리는 살아있다 SATYAJEET SALGAR : 그래, 우리가 간다

[박수 갈채] SATYAJEET SALGAR : 우리는 청중을 끌어들이 야합니다 IBRAHIM ULUKAYA : 오디오를 보내고 싶지 않았습니다 오늘 그것이 저의 데모에 관한 것입니다 나는 당신이 그것을 창조하는 것이 쉬웠다는 것을 당신이보기를 원했습니다 라이브 이벤트 및 라이브

그리고 이제부터는 질문을 시작할 수 있습니다 SATYAJEET SALGAR : 우리는 질문을 기쁘게 생각합니다 이브라힘 울루 카야 : 질문이 있으시면, 마이크로폰 그리고 우리가 취할 것 인 것처럼 생생한 질문을합니다 중재자 링크의 질문 SATYAJEET SALGAR : 운영자 링크에 관한 유일한 질문 "이브라힘은 왜 그렇게 대단하니?" 그리고 나 내가 그렇게 부탁했다고 생각해

그래, 제발 관객 : 그래서 아주 좋습니다 iOS에서는 아마도 HLS를 프로토콜로 사용하고있을 것입니다 HTTP 라이브 스트리밍, 맞나요? SATYAJEET SALGAR : 예 IBRAHIM ULUKAYA : 우리는 RTMP를 사용하고 있습니다

관객 : 이제 안드로이드에서 안드로이드는 훨씬 더 많은 것을 가지고 있습니다 실행의 고문 된 역사 멀티미디어 프로토콜 SATYAJEET SALGAR : 죄송합니다 네가 여기서 말한 것을 놓쳤다 관객 : 안드로이드에서

Android의 경우 HLS를 사용하고 있습니까? Chrome 브라우저가 표시되거나 다른 브라우저를 사용 중입니다 프로토콜을 Android로 스트리밍하려면 어떻게해야합니까? IBRAHIM ULUKAYA : 문제는 우리가 HLS 또는 다른 프로토콜 관객 : 안드로이드에서 IBRAHIM ULUKAYA : Android의 경우 실제로 사용하고 있습니다 지금 RTMP

SATYAJEET SALGAR : 당신은 재생 또는 제작자 측의 스트리밍 청중 : 재생 SATYAJEET SALGAR : 재생 재생, HLS 관객 : 안드로이드에 HLS? SATYAJEET SALGAR : 그렇게 믿습니다 재렉? 네

JAREK WILKIEWICZ : 예 내 생각에 그것은 안드로이드 버전까지입니다 그래서 우리는 [INAUDIBLE] 코드 변환을합니다 이브라힘 울루 카야 : 죄송합니다 SATYAJEET SALGAR : 오, 미안

JAREK WILKIEWICZ :이 플랫폼의 핵심 기능 중 하나는 다양한 형식으로 트랜스 코딩합니다 [알아들을 수 없는] SATYAJEET SALGAR : 예, 일어나요 오, 그런데 대답은, 대부분의 사람들은 그렇지 않았습니다 그것을 듣고, 우리는 다양한 포맷으로 코드 변환 했습니까? 대부분의 안드로이드 버전에서는 HLS입니다

일부에서는 다른 것입니다 네 고객 : API는 누구에게나 공개되어 있으며 일부는 공개되어 있습니까? 조직? SATYAJEET SALGAR : API는 누구에게나 열려 있습니다 관객 : 누구? SATYAJEET SALGAR : 공개되어 있고, 예, 공개되어 현재 열리고 있습니다 관객 : 네

따라서 누군가에게 모바일 앱을 만들어 로그인해야하는 경우 그들에게 [INAUDIBLE]을 허락하는 그들의 계좌? SATYAJEET SALGAR : 그렇습니다 그래서 누구나 개발할 수 있습니다 라이브 API를 사용합니다 우리가 지금 가지고있는 제약은 최소한 1,000 가입자가 귀하의 계정으로 스트리밍 할 수 있습니다 그것은 우리가 작업하고있는 것입니다

우리는 실시간 액세스를 확대하기 위해 노력하고 있습니다 그러나 지금 제약 조건은 자신의 계정 당신은 스트리밍을 통해 특정 수의 YouTube 계정으로 양호한 상태를 유지해야합니다 관객 : 좋아, 그럼 그게 내 다음 질문이야 그렇다면 API를 사용하기위한 한계는 무엇입니까? SATYAJEET SALGAR : 죄송합니다 관객 : API를 사용하기위한 한계는 무엇입니까? SATYAJEET SALGAR : 누구나 API를 사용할 수 있습니다

따라서 YouTube에 실시간 스트리밍 할 수있는 도구를 개발중인 경우 API는 공개입니다 개발자 키 이외에는 없습니다 IBRAHIM ULUKAYA : 아니오, API는 선적 서류 비치 우리가 제약을받는 유일한 것은 채널로 스트리밍됩니다 따라서 테스트 채널이 있거나 하나의 채널을 사용하여 API를 사용하면 항상 API를 사용할 수 있습니다

그러나 일단 라이브 스티 밍을 시작하면 결국, 귀하가 귀하의 제품과 귀하의 제품을 개발할 때 준비가되면 제품을 사용할 사람들은 실제로 라이브를 보낼 채널 안으로 들어간다 관객 : 오, 알겠습니다 그들은 채널이 필요합니다 그러나 실시간 스트림의 콘텐츠를 어떻게 화면에 나타 냅니까? SATYAJEET SALGAR : 그렇다면 우리는 어떻게 컨텐츠를 관리합니까? 관객 : 예를 들어, 공개하지 말고 어떻게 감지합니까? 어떻게 그걸 막아? SATYAJEET SALGAR : 아하, 당신은 스팸 걱정이있어 관객 : 네

SATYAJEET SALGAR : 그래서 우리는 이것은 우리가 해낸 것입니다 YouTube에서 많은 시간과 노력을 들였습니다

YouTube의 콘텐츠를 보호하는 모든 메커니즘 동영상 일반은 실시간 스트림에도 적용됩니다 그래서 사람들은 시내에 깃발을 꽂을 수 있으며, 그것은 내려갑니다 콘텐츠 ID라는 도구가 있습니다 저작권을 침해하는 콘텐츠 라이브 스트림에 대해서도 실행됩니다

다른 건 없니? 괜찮아 수줍어하는 청중입니다 우리의 이야기를 듣고 대단히 감사합니다 온라인으로 청취 해 주셔서 감사합니다 이브라힘 울루 카야 : 고마워요

SATYAJEET SALGAR : 이브라힘과 나는 여기서 놀고있다 와서 질문 해보십시오 IBRAHIM ULUKAYA : 다른 질문이 있으시면 하루 종일 샌드 박스 영역에있을뿐만 아니라 다른 영역에도 있어야합니다 YouTube 전문가 그래서 언제든지 와서 다른 질문을 할 수 있습니다

우리는 모든 것을 후속 조치 할 것입니다 감사 SATYAJEET SALGAR : 고마워

#4 – Reset password in Firebase Authentication in Android using Android Studio – Kotlin

얘들 아 CodeAndroid의 Vignesh 이 비디오에서는 "Firebase에서 잊어 버린 비밀번호를 재설정하는 방법" 이전 자습서에서는 사용자 생성 방법 자격증 명으로 로그인 암호 변경 이제 보게 될 것이다 이전 암호를 몰라도 암호를 다시 설정하는 방법 사용자가 자신의 암호를 모른다면 그럼 그는 로그인 할 수 없다

이때 비밀번호를 재설정하려고합니다 로그인 버튼 아래에 암호 분실 버튼 추가하기 버튼의 텍스트를 "비밀번호 분실"로 설정 나는 모든 텍스트를 대문자로하고 싶지 않다 그래서 textAllCaps를 false로 설정하십시오 우리는 화면의 전체 너비에 걸쳐 버튼 적용 범위를 원하지 않습니다 그래서 너비를 "wrap_content" 또한, 우리는 화면의 오른쪽에있는 버튼을 원한다

따라서 layout_gravity를 끝으로 설정하십시오 마지막으로 코드를 재정렬하고 ID를 다음과 같이 설정합니다 "btn_forgot_password" 또한 16dp로 martingTop을 추가하십시오 이 버튼을 클릭하면 대화 상자를 표시하고 싶습니다 그것을 사용하여 사용자의 이메일 주소를 얻고 재설정 된 비밀번호 메일을 보냅니다

단추에 대한 청취자를 클릭하도록 설정 이 대화 상자에는 레이아웃 파일이 필요합니다 따라서 "dialog_forgot_password"라는 새로운 레이아웃 파일을 만드는 것입니다 레이아웃 파일에는 하나의 EditText 만 있습니다 EditText로 루트 요소를 변경했습니다 중간에있는 EditText에서는보기를 원하지 않습니다

그래서 같은 줄에서 끝내기 높이를 "wrap_content"로 변경하고 id를 "et_username"으로 지정합니다 여백 시작 및 종료를 16dp로 추가 이제이 레이아웃 파일이 대화 상자로 표시됩니다 AlertDialogBuilder 객체를 생성하려면 빌더라는 값에 저장 대화 상자의 제목을 "비밀번호 찾기"로 설정하십시오

레이아웃 layoutInflater를 사용하여 레이아웃 파일 팽창시키기 보기라는 값에 저장 그런 다음 setView 메소드를 사용하여 대화 상자보기로보기를 설정합니다 대화 상자에는 두 개의 버튼이 필요합니다 양수 버튼과 음수 버튼 따라서 빌더에 대해 긍정적 인 버튼을 설정하고 텍스트를 '재설정'으로 전달하십시오 네거티브 버튼에 복사하여 텍스트를 닫기로 변경 양수 버튼을 클릭하면 EditText에서 값을 읽어야합니다 따라서 뷰 객체에서 findViewById를 호출하여 EditText의 객체를 생성합니다

여기 전자 메일 주소의 유효성을 검사해야합니다 그래서 forgotPassword라는 함수를 생성합니다 해당 메소드가 EditText를 매개 변수로 전달하는 경우 메소드 내에서 유효성 검사를 할 수 있도록 전자 메일 유효성 검사를 복사하고 여기에 붙여 넣습니다 우리는 검증을 위해 "username"을 사용할 필요가있다 오류의 경우 오류를 표시 할 필요가 없습니다

그래서 나는 그것들을 제거하고있다 사용자 이름이 유효하면 재설정 된 비밀번호 메일을 보내야합니다 Firebase 인증에서 "비밀번호 재설정 메일 보내기"부분을 볼 수 있습니다 그래서이 코드를 복사하여 여기에 붙여 넣습니다 emailAddress의 경우 이메일 주소를 전달해야합니다

사용자 이름에 입력 된 EditText 작업이 성공하면 "이메일 전송 됨"으로 표시됩니다 마지막으로 빌더 객체에서 show 메소드 호출 대화 상자가 사용자에게 표시됩니다 이제 응용 프로그램을 시작합니다 응용 프로그램의 DashboardActivity로 이동하는 것을 볼 수 있습니다 tho LoginActivity (으)로 이동하려면 응용 프로그램을 제거하고 다시 시작합니다

잊어 버린 암호 버튼을 볼 수 있습니다 버튼을 클릭하면 대화 상자가 나타납니다 이메일 주소를 알려 드리겠습니다 '재설정'버튼을 클릭하면 축배가 '이메일 전송 됨'으로 표시됩니다 이메일을 열어 보겠습니다

"비밀번호 재설정"에 대한 메일을 볼 수 있습니다 메일을 열고 비밀번호 재설정 링크를 클릭하십시오 내 새 암호를 "123456" 이제 자격 증명으로 로그인하려고합니다 우리가 우리의 어플리케이션에 로그인하는 것을 볼 수 있습니다 이렇게하면 사용자 비밀번호를 잊어 버렸을 때 재설정 할 수 있습니다

이 비디오 녀석을위한 전부입니다 이 비디오가 마음에 드시면 엄지 손가락을주세요 나를 후원하고 싶다면에서 후원자가되어 그렇게 할 수 있습니다 wwwpatreon

com/CodeAndroid 너가 좋아하길 바래 내 다음 비디오에서 뵙겠습니다 좋은 하루 되세요

The movi app || JSON Parsing in Android using Retrofit2 || android retrofit get json example

권장 라이브러리 추가 패키지 생성 (API, 어댑터, 모델) 모델 폴더 아래에 "무비 클래스"를 만듭니다 모든 변수 만들기 모델 폴더 아래에 "ResponseMovie Class"를 만듭니다

How To Install SSL Certificate On Your Localhost Using NGROK For FREE

이 비디오 자습서에서는 SSL 인증서를 설치하는 방법을 배우게됩니다 localhost 그래서 나와 함께있어 라

Heey 무슨 일이야 Source Hackers, 여기 Senay from codingpassiveincomecom 다른 사람들이 웹 개발자가되는 데 도움이되는 곳 그들이 스스로 할 것보다 훨씬 쉽고 빠릅니다 그렇다면 뭔가요 구독을 고려중인 관심 분야 – >> 최근에 나는 많은 의견을 가지고있다 로컬 호스트에 SSL을 설치하는 방법은 주로 페이스 북을 로그인에 구현하는 방법을 보여주는 자습서 지금 바로 Facebook에서 귀하가 할 수 있으려면 SSL 인증서가 필요합니다

테스트를 통해 문제가있는 곳을 보여 드리겠습니다 기본적으로 여기에 있습니다 이 자습서의 코드를 클릭하면 Facebook 및 리다이렉트 나는이 메시지를 받았다 불안한 로그인 주머니를 얻을 ​​수있다 액세스는 페이지를 HTTPS로 다시로드하는 것을 의미합니다

즉, localhost에 SSL 인증서가 있어야합니다 너무 많습니다 네가 어떻게이 일을 성취 할 수 있는지에 대해서는 여러 가지 방법이 있지만 너를 창조하기로 결정했다 기본적으로 2 단계로 진행되므로 2 분 안에 설정할 수 있습니다 내가 무엇에 관해 이야기하고 있는지 알려주도록하십시오

그래서 당신이해야 할 일은 ngrokcom에 접속하면 기본적으로이 웹 사이트 또는 앱에서 제공합니다 SSL URL을 사용할 수 있지만 기본적으로 귀하의 사이트로 연결됩니다 localhost 알았어 내가 다운로드하기 위해해야 ​​할 일은 그냥 가야한다는 것이다

여기에서 다운로드 할 수있는 옵션을 갖게되며 어떻게 당신이 당신의 로컬 호스트에 그것을 적용 할 수있는 단계 그래서 나에게 리눅스와 내 사용하고 있습니다 옵션이 이미 선택되어 있으므로 Linux 용 다운로드를 클릭하여 저장하십시오 내 원하는 위치와 그게 다예요 내가 이미 그렇게했고 이것은 내가 가지고있는 것입니다 리눅스에서 얻었으므로 터미널에서 실행해야합니다 to say / ngrok http 80 그리고 나서 포트 80을 말할 것입니다 그리고 지금은 몇 초 안에 이 같은 화면을 볼 수 있으며 기본적으로 여기에 ngrk의 현재 버전 실행 시간 버전 상태 등 등 기본적으로 아래에 당신이 가진 모든 요청을해야합니다 이 URL을 만들었지 만 우리에게 가장 중요한 것은 여기에있는 URL입니다

예를 들어 지금 내가 붙여 넣기를 복사하려고하면 입력을 볼 수있는 것처럼 열립니다 내 default xammp server 그리고 우리가 여기에 갈 때 당신은 무엇이 있는지 볼 수 있습니다 이것과 ngrok를 통해 일어나고 기본적으로 그리고 ngrok 당신은 많은 것을 위해 사용할 수 있습니다 다른 여러 가지 방법이 있지만 우리의 경우 바늘을 위해 이것은 당신이하려고하는 것이다 그래서 지금은이 URL을 사용할 것입니다 이전에 가지고있는 제 신청서로 가십시오

나는 도메인을 NGRK에서 도메인으로 변경할 것이다 나는 이것을 바꿀 것이다 여기 괜찮아 변경 사항 저장을 클릭하면 설정으로 다시 이동합니다 당신은 죄송합니다 페이스 북의 로그인 설정 괜찮아요 그리고 나서 알아 여기에이 리디렉션 URL을 변경해야합니다

이를 붙여넣고 Facebook을 말합니다 로그인하십시오 이미 자문 한 적이 있다면 자습서에서 나온 것입니다 이 localhost 대신에 코드를 저장하고 누른 다음에 저장합니다 새것으로 바꾸려면 괜찮아요

그리고 꽤 많이 들었습니다 그래서 지금 제가 여기서 새로 고침하고 Facebook에 로그인하면 문제가 있음을 알 수 있습니다 이제 나는 단지 내가 요구하고있는 허가를 받아 들일 수있다 코드와 다른 모든 것들이 그렇게 꽤 많이 작동해야합니다 그것은 매우 빠르고 매우 간단하지만 매우 효과적입니다

질문은 아래의 의견에서 물어 보시고이 비디오가 마음에 드시면 그것을 좋아하고 친구들과 공유하십시오

Android TV: Using the Leanback library

안녕하세요, Ankur Kotwal입니다 Google 개발자 어드버킷이죠 오늘 저는 여러분께 Android TV용 앱 만들기에 대해 말씀드리려 합니다 Android TV에서의 멋진 경험이란 캐주얼하고 시네마틱하고 간단합니다 TV 화면은 일반적으로 3미터 정도 떨어져서 시청하며 일반 Android 장치들 보다 훨씬 큽니다 TV에 효율적인 사용자 인터페이스를 만드는 것은 다른 접근 방식과 다른 툴을 필요로 합니다 당신의 편의를 위해 Leanback Support 라이브러리를 제공하고 있습니다 TV 용 앱을 만드는 데 필요한 API, 리소스, 위젯 등을 쓰실 수 있죠 이것 없이도 Android TV 앱을 만들 수는 있지만 굳이 그럴 필요가 있을까요? 대형 화면용 고품질 사용자 경험을 아주 쉽게 만들 수 있게 해 주거든요 프로젝트를 만들면서 폼 팩터로 TV를 선택했다면 Leanback Support 라이브러리가 프로젝트에 자동으로 추가됩니다 Android Studio를 사용하지 않는 경우라면 이런 종속성을 build

gradle 파일을 통해 신고할 수 있습니다 Android Support 라이브러리는 Android Repository 패키지에서 사용 가능합니다 이 패키지를 설치하지 않았다면 SDK 매니저를 통해 설치하실 수 있습니다 이제 우리의 샘플 앱을 살펴 보죠 먼저 TV 활동 신고를 매니페스트에 Leanback Launcher Intent Filter를 사용하여 신고합니다 이 인텐트 필터는 당신의 앱이 Android TV용 앱이라고 식별하게 해 줍니다 동시에 이 인텐트 필터를 설정함으로써 사용자가 TV에서 앱 아이콘을 선택했을 때 앱의 어느 활동이 실행되는지도 식별하게 해 줍니다 Leanback 라이브러리는 TV 활동을 위해 themeleanback이라는 표준 테마를 제공합니다 이것은 TV 앱을 위한 일관된 비주얼 스타일을 제공하며 Leanback 라이브러리 클래스를 사용하는 어느 TV 앱에서든 권장 사항입니다 Leanback Support 라이브러리는 모델 제시자 뷰 패턴에 기반하여 만들어졌으며 이는 모델 뷰 콘트롤러 패턴에서 파생된 패턴입니다 모델 오브젝트에는 엄격한 요구 사항이 있습니다 오브젝트 어댑터는 어느 유형의 모델도 정의할 수 있으며 그러므로 모델을 변경하지 않고도 당신의 기존 앱을 업데이트 할 수 있을 겁니다 또한 오브젝트 어댑터를 써서 당신의 미디어를 포함하는 로컬 또는 온라인으로 데이터 소스에 연결하는 것도 가능합니다 그리고 이런 아이템이 어떻게 보일지 프리젠터를 사용하여 정의할 수 있습니다 또, Leanback 라이브러리는 사전 제작된 프래그먼트를 제공하여 브라우징이나 미디어 카탈록 상호 작용에 쓸 수 있게 하며, 이것을 활용해서 당신만의 미디어 브라우징 앱을 만들 수도 있습니다 이것은 Leanback Support 라이브러리의 단 하나의 BrowseFragment 서브클래스로 이루어져 있습니다 BrowseFragment은 브라우징 분류 및 여러 행의 미디어 아이템을 위한 기본 레이아웃을 최소한의 노력만으로 만들 수 있게 해 줍니다 이 샘플 앱에서 보시듯이요 레이아웃에 이 클래스를 더해주는 것만으로 표준 네비게이션 디자인의 다중 창 레이아웃과 부드러운 변이 애니메이션을 만들었습니다 프레그먼트를 콘텐츠로 채우는 방법을 알아보죠 하나의 ArrayObjectAdapter로 ListRow 오브젝트 리스트를 정의했습니다 그리고 ListRow 프리젠터가 표시하는 데 사용됐습니다 카테고리는 자동으로 좌측에 세로로 표시됩니다 각 카테고리별 미디어는 가로로 스크롤되는 리스트로 표시됩니다 사용자가 카테고리의 세부 항목으로 파고 들면 카테고리 자체가 없어지고 헤더 아이템으로써 각 행으로 표시됩니다 각 ListRow 오브젝트는 하나의 헤더 아이템과 ArrayObjectAdapter로 구성됩니다 헤더 아이템은 이 행의 메타데이터를 설명합니다 이 경우엔 카테고리명이죠 ArrayObjectAdapter에는 각 카테고리별 미디어 아이템이 포함돼 있습니다 여기선 사용자 정의된 CardPresenter가 각 미디어 아이템을 표시하는 데 사용됐습니다 이것은 당신이 직접 제시해야 할 것이구요 ArrayObjectAdapter, ListRepresenter ListRow, 이 모든 클래스들은 Leanback Support 라이브러리에서 제공됩니다 당신이 구현해야 할 것은 미디어 아이템을 표시할 프리젠터 뿐이죠 ListRow 오브젝트를 만들 때 당신만의 커스텀 프리젠터로 각 아이템이 어떻게 보일지를 정의할 수 있습니다 이 예시에서는 CardPresenter가 각 미디어 아이템을 썸네일 이미지로 채워진 카드 형식으로 표시했습니다 CardPresenter는 프리젠터 클래스를 확장하는데 onCreateViewHolder와 unbindViewHolder를 오버라이드해서 뷰를 만들고 요청된 뷰에 오브젝트를 바인딩하는 방식입니다 하나 알아두셔야 할 것은 Android TV의 모든 인터액티브 뷰는 방향 패드로 찾을 수 있어야 한다는 겁니다 이걸 하려면 Focusable과 FocusableInTouchMode의 속성을 true로 설정해 줘야 합니다 이렇게 말이죠 사용자 입력과 상호 작용하기 위해 BrowseFragment에 onItemClick 리스너를 추가해야합니다 콜백 도중에 인텐트를 쏘아 DetailsActivity 아이템을 시작할 수 있으며, 혹은 프레그먼트 매니저로 BrowseFragment를 DetailsFragment로 교체할 수 있습니다 지원 라이브러리에 있는 DetailsFragment도 자세한 정보를 표시할 기본 레이아웃을 만들 수 있게 해 줍니다 이것 역시 최소한의 노력만으로 가능하게 해 주죠 다시, 하나의 ArrayObjectAdapter로 행 리스트를 정의할 수 있습니다 DetailsOverviewRow는 미디어 아이템의 세부 사항을 포함하는 행입니다 DetailsOverview 오브젝트 자체를 렌더링하기 위해서는 DetailsOverviewRow 프리젠터를 사용합니다 이 행은 이미지와 DescriptionView 그리고 일련의 작업들로 구성돼 있습니다 손쉽게 이미지를 미리보기하거나 오브젝트에 액션을 추가하려면 setImageBitmap 또는 addAction 메소드를 호출하세요 DescriptionView을 표시하려면 AbstractDetailsDescription 프리젠터 클래스를 사용할 수 있습니다 관련 동영상 등의 콘텐츠를 추가하는 것도 가능합니다 ArrayObjectAdapter에 행을 추가하고 프리젠터로 표시하게 해 주면 됩니다 여기에 추가 ListRow 오브젝트가 ArrayObjectAdapter 마지막에 관련 동영상 리스트와 함께 있습니다 여기서도 ListRow 프리젠터가 이 행을 표시하는 데 사용됩니다 Android TV 개발의 첫 단계는 대략 이렇습니다 요약하면, Leanback Support 라이브러리를 활용하면 고품질 경험을 만들기가 무척 쉬워진다는 겁니다 BrowseFragment 및 DetailsFragment는 Android TV 개발을 시작하는 데 무척 유용한 방법들입니다 이번 dev byte 에서 보여드린 코드는 여기 나열된 샘플의 일부입니다 Android TV 플랫폼에서는 추천 목록이나 백그라운드 매니저 등, 더 많은 기능들을 보실 수 있습니다 developerandroidcom/tv에 방문해 주세요 큰 화면에서 당신의 앱을 보게 되길 기대합니다

Using Wired Ethernet on the ESP8266

이것은 말 그대로 수천 개의 애호가 프로젝트에 ESP8266 홈이 있고 여기에 더 많은 것들이 있습니다 상업적인 것들

놀랍습니다 사람들은 HackADayio에서 270 개가 넘는 프로젝트에서 사용했습니다 혼자 그래서,이 작은 녀석은 단지 약간 일 수있는 것으로 생각해야 했었습니다

시리얼에서 와이파이로 연결되는 것 이상의 것이므로 AVR과 같은 것이 필요합니다 시간이 지남에 따라 사람들은 점점 더 많은 것을 알게되었습니다 결국 프로그램을 프로그래밍 할 수 있습니다 C를 사용하여 GPIO 및 일부 GPIO에 대한 액세스 권한을 얻으십시오 PWM, I2C, SPI 버스, 심지어 SDIO 버스와 같은 다른 주변 장치가 필요합니다

그것에 관한 모든 것이 그냥 정신 나간 그것은 잘 할 수있는이 멋진 부분입니다 사람들이 생각한 것입니다 거의 모든 것을해라 그것은 토크 이더넷을 제외하고는 오늘까지이다

그래서 이건 작은 녀석, 비록 내 타이틀에도 불구하고 이더넷 컨트롤러가 없다 DMA가있는 굉장한 I2S 버스 채널 3 TV를 방송하기 위해 어떻게 말한거야 해당 비디오에 궁금한 점이 있으면 여기를 클릭하십시오 어떤 비율, 그것 그렇다면 칩에서 40MHz로 이야기 할 수 있습니다

나는 그것을 실제로 디지털화 할 수있다 디지털화하고 거기에서 디지털화하십시오 내가 가져갈 수있어, 여기 라인 드라이버에 연결해서 이 이더넷 스위치까지이 이더넷 케이블까지 이더넷 자기 장치 그래서 비록 ESP는 wifi로만 연결되도록 설계되었으므로 이제 다른 인터페이스를 추가했습니다 그래서, 그것은 내 노트북에 여기에 푹

그리고 브라우저에서 고정 IP로 방문 할 수 있습니다 그 현재 101105에 앉아 있습니다

그리고이 웹 페이지를로드합니다 많아 다른 웹 소켓 페이지와 같습니다 궁금한 점이 있다면이 웹 소켓 인터페이스 이 비디오를 클릭하면됩니다 어떤 비율이든, 우리는 실제로 그것을 볼 수 있습니다

약 700Hz에서 ESP8266과 통신합니다 즉, 웹 페이지가 생성 중임을 의미합니다 새로운 요청은 ESP8266으로갑니다 ESP8266이 응답하고 웹 페이지로 돌아가며 그 모두는 700 헤르츠에서 일어날 수 있습니다 여기에는 모든 요청이 모두 포함되어 있습니다

TCP의 모든 것 다른 데모와 달리이 웹 페이지에는 새로운 기능이 추가되었습니다 이 기능을 "마지막 패킷"이라고합니다 나는이 웹 페이지를 여기 열어 볼 수있다 패킷 "이라고 부릅니다

호기심이 생기면 실제로 githubio 페이지에서 온라인으로이 페이지를 방문 할 수 있습니다 설명에서 우리는 테스트 패킷을로드 할 수 있으며 테스트 패킷을 가지고 놀 수 있습니다 너는 할 수있다 일부 비트를 높게 또는 낮게 설정하십시오 너는 그것을 깨뜨릴 수도있어 "나는 할 수 없다

그 패킷을 해독하십시오 "여기에서"다른 패킷 가져 오기 "를 클릭하면 실제로 라인의 마지막 패킷을 얻습니다 그래서이 인터페이스를 사용하여 디버깅을했습니다 이 원시 패킷을 어떻게 해석 할 것인지 알아 내려고했습니다 그들은 그냥 원시 맨체스터 야

인코딩 된 패킷 나는이 비디오에서 많은 세부 사항을 다루지는 않지만 더 많은 기술 정보에서 설명에 링크 된 해킹 일 기사를 체크 아웃 할 수 있습니다 그 이 모든 것이 어떻게 잘 어울리는 지에 대한 많은 상세 정보가 있습니다 이것보다 어떻게 작동하는지 보여주는 비디오 여기에서 제공되는 웹 페이지입니다

여기까지의 ESP 나는 이더넷을 통해 ESP를 다시 채우는 것과 같은 미친 짓을 할 수있다 그냥 netflashing하여 지금 당장은 어떤 종류의 실적을 살펴 보겠습니다 그것은 얻을 수있다

그래서 나는 0002 초 간격으로 핑 (ping)하러 갈 것입니다 하지만 보시다시피 그것은 놀랍게도 계속 유지되고 있으며 실제로 많은 패킷 처리량을 얻고 있습니다 사실 아직 패킷이 떨어지지 않았습니다 평균 핑 응답 시간은 0

85입니다 ms 그건 내 랩탑에서부터 ESP 로의 전환, 패킷의 디코딩, 프레임 CRC를 확인한 다음 그 패킷을 열어서 핑 패킷임을 인식하고 ping 패킷에 응답하고, ping 패킷에 응답하고, 다시 패키징하고, 프레임을 계산합니다 CRC, 그것을 인코딩하는 맨체스터, 비트 레지스터에서 이동 한 다음 다시 내 노트북으로 전환하십시오 그것들 모두는 1 초에 1 백 1 분의 1을 가지고 있습니다

따라서이 패킷이 응답 할 수있는 패킷이 아닙니다 1,200 개를 보내 봅시다 ping 바이트 자, 조금 느립니다 평균 3

8ms로 ​​떨어졌지만 계속 유지할 수 있으며 이러한 우스운 패키지에 응답 할 수 있습니다 이 진지한 프로젝트에서 사용하기를 원하는 것이 아닙니다 서커스에 가깝다 트릭, FTDI 칩 등을 사용하는 것 어떤 종류의 상업용으로도 사용하지 마십시오

생성물 당신도 정말로 이것을 사용해서는 안됩니다 그리고 그것은 다소 jankey입니다 그냥 완료되지 않았습니다 당신은 정말로 PHY와 MAC 및 그 밖의 모든 것을 사용해야합니다

그것은 재미 있고 이것은 애호가 프로젝트를 위해 완전히 작동합니다 그것은 충분히 단지 janky가 아니었다 그래서, 최대의 jank를 위해 나는 여기에 같은 종류의 도우미를 가지고있다 그것은 단지 노 데크 쿠 보드와 일부 LED 및 기타 물건으로 연결되어 있고, 일부 커패시터 및 저항기는 이더넷 케이블에 바로 연결됩니다

이 일을 막자 지금 당장 여기 내가 ESP가있는이 작은 브레드 보드이고 스위치에 연결되어있다 예, 연결됩니다 이것은 자기가없는 것입니다

그것은 단지 두 개의 레지스터 일뿐입니다 두 개의 커패시터가 ESP에 연결됩니다 또한 이더넷을 통해 통신 할 수 있습니다 지금, 패킷 손실이 현저히 나빠질 수 있습니다 평균 패킷 시간 단지 0

85ms인데, 우리는 60-70 % 범위의 패킷 손실에 대해 이야기하고 있습니다 그것은 단지 평범한 것입니다 무서운 여기에 흥미로운 일이 일어나고 있으며, 이것의 많은 부분은 전체 많은 고주파 노이즈가 라인에서 발생하고 실제로는 아무 것도 청소하지 않습니다 높은 주파수 노이즈를 흡수하여 패킷을 손상시킵니다

사실 그것은 너무 나빠서 돌아 왔어 이 작은 길이의 와이어를 여기에 연결하면됩니다 나는이 작은 것을 얻었다 여기 와이어의 길이, 그린 와이어, 그리고이 끔찍한 것 이걸 라인에 연결하면 프로세서에서 훨씬 더 좋아진다는 것을 알 수 있습니다

그 이유는 신호 – 고주파 노이즈 – 신호를 어지럽히고 실제로 처리 할 수 ​​있습니다 상대방의 문제가있는 곳으로 방금 방 출하십시오 그렇게해서 나는 그것에 대해 걱정할 필요가 없다 그래서, 나는 이런 종류의 사용을 강력히 권장하지 않는다 갈바닉 절연이 없기 때문에 위험합니다

당신은 당신의 모든 근거가 동일하다는 것을 압니다 그러나, 그것은 작동합니다 그리고, 그것은 단지 미친 짓이야 이 작은 ESP8266이 실제로 어떻게 이더넷에 연결되는지 이야기 할 수 있습니다 글쎄, 너희들이 좋아하길 바래

이 Hackaday 기사를 확인하고 uuh, 모든 소스 코드를 확인하십시오 github 나는이 프로젝트를 유지할 수있는 사람들을 찾을 수 있기를 바란다 그것을 다른 것들로 옮기고 흥미로운 다른 것을하십시오

감사!

How to Install Android 6.0 Marshmallow (Android-x86 ) on PC using VMware Workstation Tutorial [HD]

이 비디오 튜토리얼에서는 VMware Workstation / Player를 사용하여 PC에서 Android 6 Marshmallow (Android x86)를 하드 디스크에 설치하는 방법을 보여줍니다 Android-x86 웹 사이트 방문 및 Android 6

0 다운로드 Marshmallow ISO wwwandroid-x86org VMware Workstation / Player에서 VM 만들기 "기타"와 FreeBSD 64 비트 " Android-x86 60 ISO 파일을 찾습니다 PC에서 안드로이드 설치 시작 노 노드 세트 Android-x86 6

0이 성공적으로 설치되었습니다 재부팅 Android-x86 60-r1을 선택하십시오 언어 시간대 Android-x86 60 짧은 검토 Android-x86 6

0 검토 Android-x86 60 검토 Android-x86 60보기 터미널 에뮬레이터를 사용할 수 있습니다 이 비디오에서는 VMware Workstation을 사용하여 PC에 Android 60 Marshmallow (Android-x86)을 설치했습니다

지켜봐 줘서 고마워

Persist Date on DatePicker in Android using Android Studio – Kotlin

안녕하세요, CodeAndroid의 Vignesh 이 비디오에서는 datepicker에서 선택한 날짜를 유지하는 방법을 볼 것입니다 이것을 증명하기 위해 이미 프로젝트를 만들었습니다

레이아웃 파일에는 두 개의 버튼이 있습니다 btn_date 및 btn_time btn_date의 on-click, 나는 datepicker를 보여주고있다 btn_time의 on-click, 나는 timepicker를 보여주고있다 datepicker에서 오늘 다른 날짜를 선택하면 그러면 날짜가 여기에 올거야 하지만 문제는 버튼을 다시 클릭하면 오늘 날짜로 재설정됩니다

datepicker를 표시하기 위해 지금의 달력 객체를 사용하기 때문에 이 객체는 이제 onCreate ()에서 초기화됩니다 이것이이 가치가 전혀 변하지 않는 이유입니다 날짜를 23으로 선택하면 선택한 날짜 인 23을 유지하면서 날짜 표시기가 표시됩니다 그것을하는 방법을 볼 것이다 selectedDate 객체를 사용하는 대신이를 수행합니다 우리는 now 객체 자체를 사용할 필요가있다

그것이 날짜를 유지하는 가장 쉬운 방법입니다 나는 지금도 같은 시간에 객체를 사용하고있다 그래서 날짜와 시간은 같은 달력 객체를 사용할 것입니다 서버에 데이터를 보내야 할 때 now 객체를 사용하여 적절한 날짜를 생성 할 수 있습니다 애플리케이션을 실행 해 봅시다

너는 볼 수있다, 데이트는 13 시가 보이고 시간은 09:20에 나타난다 날짜를 21로 바꾸자 시간은 08:20 지금,이 btn_date를 클릭하면 기본적으로 21 feb를 선택해야합니다 너는 그것의 21 feb을 선택하는 것을 볼 수있다 similaryly, 시간은 08:20을 보이고 있습니다

기본적으로 08:20을 선택해야합니다 이처럼 우리는 datepicker와 timepicker에 데이터를 유지할 수 있습니다 그게 비디오 녀석들을위한 전부 야 나를지지하기를 원한다면 patreoncom/CodeAndroid에서 후원이되어 그렇게 할 수 있습니다

너가 좋아하길 바래 내 다음 비디오에서 뵙겠습니다 좋은 하루 되세요

Connect to SQL Server from Windows, MacOS, iOS, and Android using UniDAC

Windows, MacOS, iOS 및 Android 용 SQL Server에 대한 플랫폼 간 데이터베이스 응용 프로그램을 만드는 데모를 고려할 것입니다 이제 SQL Server를위한 교차 플랫폼 데이터베이스 응용 프로그램을 만들겠습니다

폼에 UniConnection 및 SQL Server 데이터 공급자 삭제 UniConnection에서 데이터 공급자 이름을 선택하십시오 서버, 데이터베이스, 사용자 이름 및 암호를 지정하십시오 이제 SQL Server에 대한 연결을 열 수 있습니다 쿼리의 경우 폼에 UniQuery 구성 요소를 놓고 두 번 클릭하고 SQL 쿼리를 입력합니다 이제 폼에 BindSourceDB 구성 요소를 놓고 UniQuery에 연결할 수 있습니다

그런 다음 컨트롤을 추가 할 수 있습니다 : 네비게이터, TEdit, TMemo 및 TImage 라이브 바인딩을 사용하여 추가 된 컨트롤을 UniQuery와 링크하십시오 Windows 대상 플랫폼에 대한 우리의 응용 프로그램을 실행하고 모든 것이 잘 작동하는지 확인하십시오 이제 MacOS 대상 플랫폼을 선택하고 응용 프로그램을 실행하십시오 알 수 있듯이, 우리의 응용 프로그램은 성공적으로 실행되었으며 MacOS의 MS SQL Server에 연결되었습니다

iOS에서 애플리케이션을 실행 해 봅시다 응용 프로그램은 iOS 장치에서도 성공적으로 실행됩니다 마지막으로 애플리케이션을 Android 기기에서 실행할 수 있는지 알아 보겠습니다 우리가 볼 수 있듯이, 우리의 응용 프로그램은 실행되고 가능한 모든 대상 플랫폼에서 연결을 설정합니다 SQL Server 용으로 크로스 플랫폼 데이터베이스 응용 프로그램을 만드는 것이 얼마나 쉬운 지 알 수 있습니다

데이터 액세스 구성 요소를 사용하여, 다른 많은 데이터베이스와 동일한 방식으로 자신 만의 크로스 플랫폼 데이터베이스 응용 프로그램을 만들 수 있습니다 관심을 가져 주셔서 감사합니다 자세한 정보는 당사 웹 사이트를 방문하십시오