GStreamer

GStreamer
Developer(s)GStreamer Team
Initial release11 January 2001; 23 years ago (2001-01-11)[1]
Stable release
1.24.9[2] Edit this on Wikidata / 31 October 2024
Repository
Written inC[3]
Operating systemBSDs, OpenSolaris, Linux, Android, macOS, iOS, Windows, OS/400
TypeMultimedia framework
LicenseLGPL-2.1-or-later[4]
Websitegstreamer.freedesktop.org

GStreamer is a pipeline-based multimedia framework that links together a wide variety of media processing systems to complete complex workflows. For instance, GStreamer can be used to build a system that reads files in one format, processes them, and exports them in another. The formats and processes can be changed in a plug and play fashion.

GStreamer supports a wide variety of media-handling components, including simple audio playback, audio and video playback, recording, streaming and editing. The pipeline design serves as a base to create many types of multimedia applications such as video editors, transcoders, streaming media broadcasters and media players.

It is designed to work on a variety of operating systems, e.g. the BSDs, OpenSolaris, Linux, Android, macOS, iOS, Windows, OS/400.

GStreamer is free and open-source software subject to the terms of the LGPL-2.1-or-later[4] and is being hosted at freedesktop.org.

Distribution and adoption

The GNOME desktop environment, a heavy user of GStreamer, has included GStreamer since GNOME version 2.2 and encourages GNOME and GTK applications to use it. Other projects also use or support it, such as the Phonon media framework and the Songbird media player. It is also used in the WebKit browser engine.[5]

GStreamer also operates in embedded devices like the Jolla Phone, the Palm Pre,[6] Tizen and the Nokia 770, N800, N810, N900 and N9 Internet Tablets running the Maemo operating system.

In addition to source code releases, the GStreamer project provides binary builds for Android, iOS, OSX and Windows.[7]

The LIGO Laboratory make use of GStreamer to simulate and analyze gravitational wave data. The GStreamer interface is called GstLAL. [8]

Software architecture

Overview
GStreamer core with three different types of plugins
GStreamer is a Pipeline.

GStreamer is written in the C programming language with the type system based on GObject and the GLib 2.0 object model.

Language bindings

A library written in one programming language may be used in another language if bindings are written; GStreamer has a range of bindings for various languages such as Go, Python, Rust, Vala, C++, Perl, GNU Guile, C# and Ruby.

Overview

GStreamer processes media by connecting a number of processing elements into a pipeline. Each element is provided by a plug-in. Elements can be grouped into bins, which can be further aggregated, thus forming a hierarchical graph. This is an example of a filter graph.

Elements communicate by means of pads. A source pad on one element can be connected to a sink pad on another. When the pipeline is in the playing state, data buffers flow from the source pad to the sink pad. Pads negotiate the kind of data that will be sent using capabilities.

The diagram to the right could exemplify playing an MP3 file using GStreamer. The file source reads an MP3 file from a computer's hard-drive and sends it to the MP3 decoder. The decoder decodes the file data and converts it into PCM samples which then pass to the sound-driver. The sound-driver sends the PCM sound samples to the computer's speakers.

Plug-ins

GStreamer uses a plug-in architecture which makes the most of GStreamer's functionality implemented as shared libraries.[9] GStreamer's base functionality contains functions for registering and loading plug-ins and for providing the fundamentals of all classes in the form of base classes. Plug-in libraries get dynamically loaded to support a wide spectrum of codecs, container formats, input/output drivers and effects.

Plug-ins can be installed semi-automatically when they are first needed. For that purpose distributions can register a backend that resolves feature-descriptions to package-names.

Since version 0.9, the plug-ins come grouped into three sets (named after the film The Good, the Bad and the Ugly).[10]

Plug-in set name Description
Good This package contains the GStreamer plug-ins from the "good" set, a set of high quality plug-ins under the LGPL license.[11]
Bad GStreamer Bad Plug-ins comprises a set of plug-ins not up-to-par compared to the rest. They might closely approach good-quality plug-ins, but they lack something: perhaps a good code review, some documentation, a set of tests, a real live maintainer, or some actual wide use.[12]
Ugly This package contains plug-ins from the "ugly" set, a set of good-quality plug-ins that might pose distribution problems.[13]

Individual distributions may further sub-classify these plug-ins: for example Ubuntu groups the "bad" and "ugly" sets into the "Universe" or the "Multiverse" components.

In addition, there is a GStreamer FFmpeg plug-in (called gst-libav for historic reasons[14]) that extends the number of supported media formats.

Video acceleration

Through special plugins provided by Texas Instruments, GStreamer makes use of hardware acceleration provided by e.g. Texas Instruments DaVinci.

There are various SIP blocks that can do the computations to decode certain video codecs, such as PureVideo, UVD, QuickSync Video, TI Ducati and more. Such needs to be supported by the device driver, which in turn provides one or multiple interfaces, like VDPAU, VAAPI, Distributed Codec Engine or DXVA to end-user software like MPlayer to access this hardware and offload computation to it.

Media formats

The Good, Bad and Ugly GStreamer plugins mentioned earlier provide, alongside processing elements/filters of all kinds, support for a wide variety of file formats, protocols and multimedia codecs. In addition to those, support for more than a hundred compression formats (including MPEG-1, MPEG-2, MPEG-4, H.261, H.263, H.264, RealVideo, MP3, WMV, etc.[20]) is transparently provided through the gst-libav plug-in.

History and development

Early days

Erik Walthinsen founded the GStreamer project in 1999. Many of its core design ideas came from a research project at the Oregon Graduate Institute.[21] Wim Taymans joined the project soon thereafter and greatly expanded on many aspects of the system. Many other software developers have contributed since then.

The first major release was 0.1.0 which was announced on 11 January 2001.[1] Not long after, GStreamer picked up its first commercial backer. Towards the end of January 2001, they hired Erik Walthinsen to develop methods for embedding GStreamer in smaller (cell phone-class) devices. Another RidgeRun employee, Brock A. Frazier, designed the GStreamer logo. RidgeRun later struggled financially and had to lay off its staff, including Erik Walthinsen. GStreamer progress was mostly unaffected.

The project released a series of major releases with 0.2.0 coming out in July 2001, 0.4.0 in September 2002, and 0.8.0 in March 2004. During that period the project also changed its versioning strategy and while the first releases were simply new versions, later on the middle number started signifying release series. This meant the project did release a string of 0.6.x and 0.8.x releases which was meant to stay binary compatible within those release series. Erik Walthinsen more or less left GStreamer development behind during this time, focusing on other ventures.

All release series, the project face difficulties. Every series is not very popular in the Linux community mostly because of stability issues and a serious lack of features compared to competing projects like Xine, MPlayer, and VLC. The project also suffers a lack of leadership as Wim Taymans, the project lead since Erik Walthinsen had left, had largely stopped participating.

The 0.10 series

In 2004, a new company was founded, Fluendo, which wanted to use GStreamer to write a streaming server Flumotion and also provide multimedia solutions for GStreamer. During this time, Fluendo hired most of the core developers including Wim Taymans and attracted the support of companies such as Nokia and Intel to bring GStreamer to a professional level and drive community adoption.

With Wim Taymans back at the helm, the core of GStreamer was redesigned and became what is the current 0.10.x series, which had its first release (0.10.0) in December 2005.[22] It has maintained API and ABI compatibility since.

With a new stable core in place, GStreamer gained in popularity in 2006, being used by media players including Totem, Rhythmbox and Banshee with many more to follow. It was also adopted by corporations such as Nokia, Motorola, Texas Instruments, Freescale, Tandberg, and Intel.

In 2007, most of the core GStreamer developers left Fluendo, including GStreamer maintainer Wim Taymans who went on to co-found Collabora Multimedia together with other GStreamer veterans, while others joined Sun Microsystems, Oblong Industries, and Songbird.

Between June 2012 and August 2014, GStreamer 0.10 was also distributed by Collabora and Fluendo as a multiplatform SDK,[23] on the third-party gstreamer.com website (rather than gstreamer.freedesktop.org for the upstream community project). The goal was to provide application developers with a SDK that would be functionally identical on Windows, Mac OS X, iOS, and Android. The SDK initiative aimed to facilitate the commercial adoption of the GStreamer project, as it provided a standardized entry point to developing multimedia applications with GStreamer, without needing to build the entire platform by oneself. Users of the SDK also benefited from documentation Archived 2012-06-16 at the Wayback Machine, tutorials and instructions specific to that SDK.

The 1.x series

GStreamer 1.0 was released on September 24, 2012.[24] The 1.x series is parallel installable to GStreamer 0.10 to ease the transition, and provides many architectural advantages over the 0.10 series.[25] Generally speaking, GStreamer 1.0 brought significant improvements for:

  • Embedded processors support, lower power consumption, offloading work to specialized hardware units (such as DSPs)
  • Hardware accelerated video decoding/encoding using GPUs
  • Zero-copy memory management (avoiding unnecessary roundtrips between the CPU and GPU) for better performance and lower power consumption
  • Dynamic pipelines
  • API and code cleanups

Beyond the technical improvements, the 1.x series is also defined by a new release versioning scheme. As the GStreamer roadmap explains,[26] all 1.x.y versions carry a -1.0 API version suffix and have a stable API/ABI. The API/ABI can only be broken by a new major release series (i.e.: 2.x); however, there are currently no plans for a 2.0 release series. Until then, the new version numbering scheme can be used to predict the intended use of each release. The roadmap cites some examples:

  • 1.0.0, 1.0.1, 1.0.2, 1.0.3... stable release and follow-up bug-fix releases
  • 1.1.0, 1.1.1, 1.1.2, 1.1.3... pre-releases, development version leading up to 1.2.0
  • 1.2.0, 1.2.1, 1.2.2, 1.2.3... stable release and follow-up bug-fix releases
  • 1.3.0...
  • 1.4.0...
  • etc.

In March 2013, the GStreamer project maintainers issued a statement[27] to clarify that the 0.10 series is no longer maintained. The statement reasserted the GStreamer project's willingness to help application and plugin developers migrate to the new technology, and hinted that those for whom switching to the 1.x series was still considered impossible could seek assistance from various consulting companies.

1.2 added support for DASH adaptive streaming, JPEG 2000 images, VP9 and Daala video, and decoding-only support for WebP.

Version 1.14 was released on March 19, 2018,[28] adding support for WebRTC, AV1, Nvidia NVDEC, and Secure Reliable Transport, among other changes.

Version 1.22 was released on January 23, 2023, [29] adding improved support for AV1, in addition to support for HLS, DASH and Microsoft Smooth Streaming for adaptive bitrate streaming.

See also

References

  1. ^ a b "GStreamer "Slipstream" 0.1.0 released". 11 January 2001. Archived from the original on 11 November 2012. Retrieved 3 November 2010.
  2. ^ "GStreamer 1.24.9 stable bug-fix release". 31 October 2024. Retrieved 31 October 2024.
  3. ^ "GStreamer", Ohloh Analysis Summary, Ohloh, archived from the original on 2014-06-26, retrieved 2016-11-06
  4. ^ a b "What are the exact licensing terms for GStreamer and its plugins?". freedesktop.org. Archived from the original on 2021-06-07. Retrieved 2021-06-07.
  5. ^ "Igalia Multimedia". Archived from the original on 2021-09-01. Retrieved 2021-09-01.
  6. ^ "webOS and GStreamer". webOShelp. Archived from the original on 22 March 2009. Retrieved 25 July 2009.
  7. ^ "GStreamer: Download". gstreamer.freedesktop.org. Archived from the original on 2015-05-10. Retrieved 15 May 2015.
  8. ^ "GstLAL Project Page". Wiki.ligo.org. Archived from the original on 23 April 2020. Retrieved 6 May 2019.
  9. ^ Overview of the modules, Gstreamer.freedesktop.org, archived from the original on 25 January 2012, retrieved 8 February 2012
  10. ^ GStreamer 0.9 development series - Hung by a Thread, Gstreamer.freedesktop.org, archived from the original on 27 January 2013, retrieved 24 February 2013
  11. ^ "GStreamer Good Plug-ins". Archived from the original on 2019-02-07. Retrieved 2019-02-05.
  12. ^ "GStreamer Bad Plug-ins". Archived from the original on 2019-02-07. Retrieved 2019-02-05.
  13. ^ "GStreamer Ugly Plug-ins". Archived from the original on 2019-02-07. Retrieved 2019-02-05.
  14. ^ "subprojects/gst-libav/README.md · 47ac79d7b8cc078f4890d0ce21f47e1c1af2c736 · GStreamer / gstreamer · GitLab". GitLab. Retrieved 2022-07-12.
  15. ^ "GStreamer OpenMAX IL wrapper plugin". gstreamer.freedesktop.org. Archived from the original on 2017-07-10. Retrieved 2017-07-21.
  16. ^ "Gstreamer 1.0 for raspbian". GRaspberrypi.org. Archived from the original on 2017-07-10. Retrieved 2017-07-21.
  17. ^ "GStreamer Plug-ins for TI hardware". Processors.wiki.ti.com. Archived from the original on 2017-06-28. Retrieved 2017-07-21.
  18. ^ "Fluendo Codec Pack Release 11 bring VDPAU and VAAPI support". 2010-03-25. Archived from the original on 2014-06-24.
  19. ^ Debian Webmaster. "Debian - Details of package gstreamer0.10-crystalhd in wheezy". Packages.debian.org. Archived from the original on 2017-06-29. Retrieved 2017-07-21.
  20. ^ "subprojects/gst-libav/ext/libav/gstavcodecmap.c · 47ac79d7b8cc078f4890d0ce21f47e1c1af2c736 · GStreamer / gstreamer · GitLab". GitLab. Retrieved 2022-07-12.
  21. ^ Edge, Jake (26 October 2010). "GStreamer: Past, present, and future". LWN.net. Retrieved 15 May 2022.
  22. ^ "GStreamer 0.10.0 stable release - Announcement of the first release in 0.10 stable series". gstreamer.freedesktop.org. Archived from the original on 2017-07-07. Retrieved 2017-07-21.
  23. ^ "GStreamer documentation". Docs.gstreamer.com. Archived from the original on 2016-10-28. Retrieved 2017-07-21.
  24. ^ "GStreamer 1.0 released". gstreamer.freedesktop.org. Archived from the original on 2017-07-07. Retrieved 2017-07-21.
  25. ^ "GStreamer 1.0 and 0.10". Lwn.net. Archived from the original on 2017-06-13. Retrieved 2017-07-21.
  26. ^ "ReleasePlanning2013 - gstreamer Wiki". Archived from the original on 2013-08-15. Retrieved 2013-09-16.
  27. ^ "GStreamer 0.10 no longer maintained". Lists.freedesktop.org. 11 March 2013. Archived from the original on 2017-07-10. Retrieved 2017-07-21.
  28. ^ "GStreamer 1.14 release notes". Archived from the original on 2018-03-20. Retrieved 2018-09-08.
  29. ^ "GStreamer 1.22 release notes". gstreamer.freedesktop.org. Retrieved 2023-05-18.

Read other articles:

Komando Distrik Militer 1311/MorowaliLambang Korem 132/TadulakoNegara IndonesiaAliansiKorem 132/TDLCabangTNI Angkatan DaratTipe unitKodimPeranSatuan TeritorialBagian dariKodam XIII/MerdekaMakodimBungku Tengah, MorowaliPelindungTentara Nasional IndonesiaBaret H I J A U  Komando Distrik Militer 1311/Morowali merupakan satuan teritorial yang berada dibawah Komando Korem 132/Tadulako. Kodim 1311/Morowali diresmikan pada tahun 2014 melalui Peraturan KSAD Nomor 57 Tahun 2014 tentang ...

Artikel ini perlu diwikifikasi agar memenuhi standar kualitas Wikipedia. Anda dapat memberikan bantuan berupa penambahan pranala dalam, atau dengan merapikan tata letak dari artikel ini. Untuk keterangan lebih lanjut, klik [tampil] di bagian kanan. Mengganti markah HTML dengan markah wiki bila dimungkinkan. Tambahkan pranala wiki. Bila dirasa perlu, buatlah pautan ke artikel wiki lainnya dengan cara menambahkan [[ dan ]] pada kata yang bersangkutan (lihat WP:LINK untuk keterangan lebih lanjut...

Este artículo o sección necesita ser wikificado, por favor, edítalo para que cumpla con las convenciones de estilo.Este aviso fue puesto el 18 de agosto de 2017. Córdoba C.F.Datos generalesNombre Córdoba Club de Fútbol (Unión Futbolística Cordobesa, S. A. D.)Apodo(s) Cordobesistas, Blanquiverdes, Califas[1]​Fundación 6 de agosto de 1954 (69 años) como Club Deportivo San Álvaro[2]​Propietario(s) Infinity CapitalPresidente Abdulla Al-Zain[3]​Pdte. de honor Rafa...

محاكي الماعز المطور استوديوهات كوفي ستين الناشر ستيم الموزع ستيم،  ومتجر همبل  [لغات أخرى]‏[1]،  ومتجر مايكروسوفت،  وجوجل بلاي،  وآب ستور،  وبلاي ستيشن ستور  محرك اللعبة أنريل إنجن النظام ويندوز بلاي ستيشن 4 إكس بوكس ون أندرويد آي تونز تاریخ الإصدا...

Lukisan Gwaneum Bulan Air Lukisan Buddhis Goryeo adalah jenis lukisan Korea dari zaman Dinasti Goryeo yang melukiskan tema-tema agama Buddha.[1] Rakyat Goryeo yang menganut Buddhisme mengekspresikan kepercayaan dan pandangan mereka secara mendalam ke bentuk karya seni seperti keramik hijau dan lukisan.[2] Bagi mereka lukisan Buddhis dibuat untuk memuji Buddha dan para Bodhisattva, selain sebagai sarana pembelajaran naskah Buddhisme secara visual. Lukisan Buddhis Goryeo disejaj...

Artikel ini sebatang kara, artinya tidak ada artikel lain yang memiliki pranala balik ke halaman ini.Bantulah menambah pranala ke artikel ini dari artikel yang berhubungan atau coba peralatan pencari pranala.Tag ini diberikan pada Desember 2022. KhaidirmanS.H., M.M.Kasipenkum SumselPetahanaMulai menjabat 2021PresidenJoko WidodoWakil PresidenMa'ruf Amin Informasi pribadiLahir6 Januari 1968 (umur 55)Kebangsaan IndonesiaPasangan serumahErma SuryaniAnak3Alma materUniversitas Muhammadiyah...

Former radio station in Gallatin, Tennessee WMROGallatin, TennesseeFrequency1560 kHzBrandingMagic 1560ProgrammingFormatDefunct (formerly Adult contemporary)OwnershipOwnerTimothy Scott Bailey (Classic Broadcasting, Inc.)HistoryFirst air dateApril 1, 1963Last air dateAugust 31, 2019Former call signsWSTH (1962, CP)WLVN (1962–1964)WWGM (1964–1993)[1]Technical informationFacility ID11749ClassDPower1,000 watts (day)3 watts (night)Transmitter coordinates36°24′03″N 86°27′03″...

У Вікіпедії є статті про інші географічні об’єкти з назвою Кембридж. Селище Кембриджангл. Cambridge Координати 44°38′40″ пн. ш. 72°52′39″ зх. д. / 44.64470000002777539° пн. ш. 72.87750000002777995° зх. д. / 44.64470000002777539; -72.87750000002777995Координати: 44°38′40″ пн. ш. 72°52′39″&#...

Sufi Muslim saint For the airport, see Hazrat Shahjalal International Airport. For Other uses, see Shah Jalal (disambiguation). Not to be confused with Shah Jalal Dakhini or Jalaluddin Tabrizi. Sheikh al-Mashāʾikh MakhdūmJalāl Mujarrad Kunyāʾīশাহ জালালShah Jalal's grave in the Shah Jalal Dargah, SylhetPersonalBorn(1271-05-25)25 May 1271Disputed, see belowDied15 March 1346(1346-03-15) (aged 74)Sylhet (now in Bangladesh)Resting placeShah Jalal DargahReligionIslamPare...

Коломийська цісарсько-королівська гімназіяНазва на честь: Казимир IV Ягеллончик Країна  Австро-Угорщина і  Польська Республіка[1]Розташування Коломия 48°31′ пн. ш. 25°01′ сх. д. / 48.517° пн. ш. 25.017° сх. д. / 48.517; 25.017Координати: 48°31�...

Suburb of Sydney, New South Wales, AustraliaHorsley ParkSydney, New South WalesSydney International Equestrian CentreMapPopulation1,837 (2016 census)[1]Postcode(s)2175Elevation78 m (256 ft)Location39 km (24 mi) west of Sydney CBDLGA(s)City of FairfieldState electorate(s)Badgerys CreekFederal division(s)McMahon Suburbs around Horsley Park: Kemps Creek Eastern Creek Prospect Mount Vernon Horsley Park Wetherill Park Mount Vernon Cecil Park Abbotsbury Horsley...

Manitou IslandsManitou IslandsLocation within OntarioGeographyCoordinates46°16′10″N 79°33′38″W / 46.2694°N 79.5606°W / 46.2694; -79.5606Adjacent toLake NipissingTotal islands5Major islandsGreat Manitou, Little Manitou, Calder, Rankin, NewmanAdministrationCanadaProvinceOntarioDistrictNipissingCensus divisionUnorg. North Nipissing The Manitou Islands are a series of small islands in Lake Nipissing, in Nipissing District, Ontario, Canada. The islands form a ci...

18th-century trading post in the Great Lakes region in North America This article includes a list of general references, but it lacks sufficient corresponding inline citations. Please help to improve this article by introducing more precise citations. (January 2013) (Learn how and when to remove this template message) Fort Oswego was an 18th-century trading post in the Great Lakes region in North America, which became the site of a battle between French and British forces in 1756 during the F...

Venezuelan football club Football clubAtlético El VigíaFull nameFundación Atlético El Vigía Fútbol ClubNickname(s)Los PlatanerosFoundedOctober 31, 1987 (36 years ago) (1987-10-31)GroundEstadio Ramón Gato Hernández El Vigía, VenezuelaCapacity12,785ChairmanNelson ContrerasManagerRamon HernandezLeaguePrimera División Venezolana2009–2010Copa Movilnet, 9th Home colours Away colours Atlético El Vigía Fútbol Club (usually called Atlético El Vigía) is a Venezuelan profe...

Montreal lawyer turned YouTuber (born 1979) David FreiheitPersonal informationBornDavid Freiheit (1979-05-23) May 23, 1979 (age 44)Occupation(s)YouTuber, commercial litigatorWebsitevivafrei.comYouTube informationAlso known asViva FreiChannels Viva Frei Viva Family Viva CLIPS! Years active2012–presentGenres Law Vlog Politics Subscribers570,000Total views151 million Creator Awards100,000 subscribers2019 Last updated: September 21, 2023 Rumble informationChannelsvivafreiYears ac...

Charlie GardinerTeljes névCharles Robert GardinerSzületési dátum1904. december 31.Születési helyEdinburgh, SkóciaHalálozási dátum1934. június 13. (29 évesen)Halálozási helyWinnipeg, KanadaHalál okaagyvérzésNemzetiség kanadaiBecenévChuckMagasság183 cmTestsúly80 kgCsapatadatokPosztKapusKorábbi csapataWinnipeg MaroonsChicago Black HawksDíjak, elismerésekVezina-trófea (1932, 1934)Jégkorong Hírességek Csarnoka (1945)A Wikimédia Commons tartalmaz Charlie Gardi...

Paghimo ni bot Lsjbot. 31°03′04″N 93°12′57″W / 31.0511°N 93.21578°W / 31.0511; -93.21578 Fort Johnson South Lungsod Nasod  Tinipong Bansa Estado Louisiana Kondado Vernon Parish Gitas-on 88 m (289 ft) Tiganos 31°03′04″N 93°12′57″W / 31.0511°N 93.21578°W / 31.0511; -93.21578 Population 9,038 gikan sa eswiki Timezone CST (UTC-6)  - summer (DST) CDT (UTC-5) Postal code 71459 GeoNames 7259776 Lungsod...

British pop punk band Kids Can't FlyLead singer Robin Black in 2011.Background informationOriginSouthampton, United KingdomGenresPop punk, ska-punkYears active2006–2014MembersRobin BlackDan ParkinsonDave MatthewsScott WilsonTom DowdChris BooroffPast membersDrew ComleyRyan StanikkAsh SpringleElliott LangfordBen MarionDave RamseyJay HavelockMark Lant Kids Can't Fly were a British pop punk band from Southampton, United Kingdom that formed in May 2006. The line up consists of lead singer and gu...

Jade Picon Henkilötiedot Syntynyt24. syyskuuta 2001 [1]Aiheesta muualla IMDb [ Muokkaa Wikidatassa ] Infobox OK Jade Picon Froes (s. 24. syyskuuta 2001lähde?) on brasilialainen näyttelijä, liikenainen, sosiaalisen mediaan vaikuttaja ja malli, joka nousi julkisuuteen sosiaalisen mediaan avulla.[2] Picon osallistui 2022 Brasilian Big Brother-sarjan tuotantokaudelle 22. Hän oli yksi valmiiksi tunnetuista osallistujista, jotka ohjelman tuotanto kutsui mukaan ohjelmaan. Hän ...

Từ bên trái, theo chiều kim đồng hồ: Các cuộc biểu tình ở Hồng Kông 2019–2020 đã biến thành bạo loạn lan rộng và bất tuân dân sự; Hạ viện Hoa Kỳ bỏ phiếu thông qua các bài báo để luận tội Donald Trump; chỉnh sửa gen CRISPR lần đầu tiên được sử dụng để điều trị thử nghiệm cho một số bệnh nhân mắc chứng rối loạn di truyền; Ngọn lửa thiêu rụi ngọn tháp và mái nhà của Nhà ...