GStreamer는 오픈 소스 라이브러리로서, 수많은 GNU / Linux 운영 체제는 물론 Android, OpenBSD, Mac OS X, Microsoft Windows 및 Symbian OS 용 멀티미디어 프레임 워크 역할을하는 복잡한 소프트웨어입니다.
>기능 요약
주요 기능으로는 포괄적 인 핵심 라이브러리, 인텔리전트 플러그인 아키텍처, 광범위한 멀티미디어 기술 범위 및 광범위한 개발 도구가 포함되어 있으므로 응용 프로그램에서 GStreamer에 대한 지원을 쉽게 추가 할 수 있습니다.
GNOME 데스크탑 환경의 Totem (비디오) 및 복잡한 비디오 및 오디오 편집기와 같은 오디오 및 비디오 재생 응용 프로그램에서 열리는 광범위한 오픈 소스 프로젝트의 주요 멀티미디어 백엔드입니다.
또한이 소프트웨어는 매우 가벼운 데이터 전달 기술과 클로킹을 통한 글로벌 스트림 간 (오디오 / 비디오) 동기화 덕분에 매우 높은 성능과 낮은 대기 시간을 제공합니다.
여러 코덱 팩으로 구성
프로젝트는 GNU / Linux 배포판의 기본 소프트웨어 저장소에서 한꺼번에 또는 개별적으로 쉽게 설치할 수있는 여러 가지 패키지 (코드 팩이라고도 함)로 구성됩니다. 그들은 다음과 같습니다 : GStreamer 플러그인 Base, GStreamer 플러그인 Good, GStreamer 플러그인 Bad, GStreamer 플러그인 Ugly.
GStreamer는 객체 지향 디자인 및 상속에 사용할 수있는 GLib 2.0 객체 모델 라이브러리를 기반으로하는 그래프 기반 구조 덕분에 무작위의 pipleline 구조를 허용하는 소형 코어 라이브러리입니다.
QoS (Quality of Service) 기술을 사용합니다.
높은 CPU 부하에서 최상의 오디오 및 비디오 품질을 보장하기 위해이 프로젝트는 QoS (Quality of Service) 기술을 사용합니다. 또한 멀티 스레드 파이프 라인을 투명하고 사소한 구조로 제공합니다.
간단하고 안정적이며 깨끗한 API (Application Programming Interface) 덕분에 개발자는 기본 기능을 확장하는 플러그인을 만들뿐만 아니라 응용 프로그램에 쉽게 통합 할 수 있습니다. 또한 완전한 기능을 갖춘 디버깅 시스템을 제공합니다.
결론
결론적으로 GStreamer는 GNU / Linux 사용자에게 미디어 재생 및 처리를위한 다양한 오디오 및 비디오 코덱을 제공하는 오픈 소스 에코 시스템을위한 매우 강력하고 높은 평가를 받고있는 멀티미디어 프레임 워크입니다.
이 릴리스에서는 새로운 기능입니다.
Bugfix 릴리스.
버전 1.14.1의 새로운 기능 :
버그 수정.
버전의 새로운 기능 :
이 릴리스에는 버그 수정 만 포함되어 있으며 1.8.0에서 업데이트하는 것이 안전해야합니다.
버전 1.8.2의 새로운 기능 :
이 릴리스에는 버그 수정 만 포함되어 있으며 1.8.0에서 업데이트하는 것이 안전해야합니다.
버전 1.8.0의 새로운 기능 :
Android에서 하드웨어 가속화 된 제로 복사 동영상 디코딩
android.hardware.Camera API를 사용하여 Android 용 새로운 비디오 캡처 소스
Windows Media 역방향 재생 지원 (ASF / WMV / WMA)
보다 정교한 디버깅 도구를 지원하는 새로운 추적 시스템
새로운 고수준 GstPlayer 재생 편의 API
새로운 Vulkan API에 대한 초기 지원 (자세한 내용은 Matthew Waters의 블로그 게시물 참조)
개선 된 Opus 오디오 코덱 지원 : 두 개 이상의 채널을 지원합니다. MPEG-TS demuxer / muxer는 이제 Opus를 처리 할 수 있습니다. Ogg, Matroska, ISOBMFF (Quicktime / MP4) 및 MPEG-TS를 컨테이너로 사용하여 샘플 정확한 인코딩 / 디코딩 / 디 멀티플렉싱 Opus 헤더 및 pbutils 라이브러리에서 처리하는 대문자를위한 새로운 코덱 유틸리티 함수. Opus 인코더 / 디코더 요소도 gst-plugins-base (-bad에서)로 이동되었고, opus RTP depayloader / payloader는 -good로 이동되었습니다.
GStreamer 프로젝트의 일부로 출시되고 유지되는 GStreamer VAAPI 모듈
GStreamer 편집 서비스의 자산 프록시 지원
버전 1.6.3의 새로운 기능 :
GL 라이브러리에서 glimagesink를 Android에서 unsable하게 만든 회귀 문제를 수정했습니다.
버퍼링을 중단하거나 NULL 포인터 역 참조로 인해 충돌을 일으킬 수있는 queue2 요소의 정수 연산 오버플로
사용 가능한 메모리보다 많은 메모리를 읽음으로써 AAC / ADTS 타입 파인더의 충돌을 수정했습니다.
VP8 / VP9 인코더의 엔코더 오류 무시 중지
GstVideoEncoder GST_VIDEO_ENCODER_FLOW_DROPPED를 사용 중지하십시오. 그것은 희박하고 실제로 구현 된 적이 없습니다.
올바른 비디오 정보를 GstVideoBufferPool에 저장하십시오.
인터리브 TCP를 통해 SRTP를 수행 할 때 rtspsrc의 대문자를 수정했습니다.
0 크기의 패킷에서 pcap 파서의 충돌을 수정했습니다.
appsrc에서 EOS 플래그를 지우고 EOS 및 플러시 후 재사용 허용
스트림 스위치 중 스트림 동기화 도구에서 플러시 스트림을 무시하여 gst 편집 서비스에서 발생하는 문제를 해결하십시오.
& quot; 데이터 & quot; 파일 뒤에있는 WAV 파일의 태그 및 기타 메타 데이터는 무시하십시오. PUSH 모드에서 오디오로 해석되지 않도록 청크
YUV 색상 형식에 대해서만 v4l2에서 측색을 올바르게 사용하십시오.
MPEG TS muxer의 예약 비트를 1로 설정
SBC 프레임 길이 계산 수정
RTP JPEG2000 디 페이 로더의 출력을 버퍼 당 하나의 프레임을 갖도록 수정하고 불완전 프레임의 OpenJPEG 디코더에서 충돌
gst-libav의 ffmpeg 스냅 샷을 2.8.5로 업데이트하십시오
scaletempo, 원시 비디오 RTP 디 페이더 및 오디오 / 비디오 필터와 관련된 재생 링크의 메모리 누출 수정
OSX 오디오 플러그인의 오류 처리 수정
다양한 객체 내성 주석 수정 및 추가
최신 clang 컴파일러에 대한 컴파일러 경고 수정 사항
버전 1.6.1의 새로운 기능 :
gst-libav 인코더의 충돌이 수정되었습니다.
더 많은 DASH-IF 테스트 스트림이 작동 중입니다.
실시간 DASH, HLS 및 MS SmoothStreaming 스트림은 적응 형 스트리밍 프로토콜에 대해보다 안정적이고 다른 수정을합니다.
오디오 피치를 유지하기 위해 scaletempo와 함께 역방향 재생이 작동합니다.
음의 applied_rate에 대한 올바른 스트림 시간이보고됩니다.
디코딩 중에 SRTP 패킷 유효성 검사가 유효한 패킷을 더 이상 거부하지 않습니다.
오디오 애그리 게이터 및 애그리 게이터가 적시에 출력을 생성하도록 수정했습니다. 처음에는 많은 침묵을 내지 않는다.
gst-libav의 내부 ffmpeg 스냅 샷이 2.8.1로 업데이트되었습니다.
cerbero는 Mac OS X 10.11 (El Capitan)을 지원합니다.
다양한 메모리 누수가 수정되었는데, 크게 재생 빈 (playbin), playsink 및 decodebin의 누출
바인딩을위한 다양한 GObject-Introspection 주석 픽스
그리고 많은, 더 많은
버전 1.6.0의 새로운 기능 :
입체 3D 및 멀티 뷰 비디오 지원
키 프레임 전용 빨리 감기 / 되감기 재생 등을위한 트릭 모드 API
부정적인 DTS를 설명하기위한 향상된 DTS (디코딩 타임 스탬프) 대 PTS (프레젠테이션 타임 스탬프) 처리
지원되는 모든 형식간에 원본 비디오 프레임을보다 최적화되고보다 정확하게 변환하기위한 새로운 GstVideoConverter API, 크기 재조정
v4l2src는 이제 재 협상을 지원합니다.
v4l2transform은 이제 스케일링을 할 수 있습니다.
V4L2 엘레멘트는 비색 측정을 올바르게보고합니다.
MP4, Matroska, Ogg, MPEG-TS의 간편한 청크 녹음 : 새로운 splitmuxsink 및 multifilesink 개선
DASH / MP4에 대한 콘텐츠 보호 신호 API 및 CENC (Common Encryption) 지원
많은 적응 형 스트리밍 (DASH, HLS 및 MSS) 개선
새로운 PTP 및 NTP 네트워크 클라이언트 클럭 및 향상된 원격 클록 추적 안정성
glimagesink 또는 gtkglsink를 사용하여 디스플레이 해상도에서 고품질 텍스트 자막 오버레이
GStreamer RTSP 서버에 대한 RECORD 지원
RTSP 서버 및 클라이언트에서의 재전송 (RTX) 지원
클라이언트와 서버에서 지원을 요청하는 RTSP가 수정되었습니다.
RTCP 스케줄링 개선 및 축소 된 RTCP 지원
애그리 게이터, audiomixer 및 컴포저의 라이브 믹싱 지원이 많이 향상되었습니다.
컴포 지터는 이제 입력 스트림의 재조정을 즉시 지원합니다
적절한 입력 동기화 및 라이브 입력 지원 기능이있는 새로운 오디오 인터리브 요소
Blackmagic Design DeckLink 캡처 및 재생 카드 지원이 처음부터 다시 작성되었습니다. 2k / 4k 지원; 모드 감지
RTP 및 MPEG-TS의 KLV 메타 데이터 지원
H.265 비디오 인코더 (x265), 디코더 (libav, libde265) 및 RTP 페이로드 및 디 페이더
새로운 DTLS 플러그인 및 SRTP / DTLS 지원
OpenGL3 지원, 다중 컨텍스트 및 컨텍스트 전파, 3D 비디오, 전송 / 변환 분리, 자막 혼합
새로운 OpenGL 기반 QML 비디오 싱크, Gtk GL 비디오 싱크, CoreAnimation CAOpenGLLayerSink 비디오 싱크
gst-libav는 libav-provider로 ffmpeg로 전환하고 3D / 멀티 뷰 비디오, 트릭 모드 및 CAVS 코덱을 지원합니다
단위 테스트 용 GstHarness API
gst-editing-services는 완전히 새로운 ges-launch-1.0 인터페이스, 개선 된 믹싱 지원 및 gst-validate
gnonlin은 gst-editing-services의 nle (Non Linear Engine)에 대한 지원이 중단되었습니다.
gst-validate는 새로운 플러그인 시스템, 포괄적 인 기본 테스트 스위트, 동시 테스트 실행 및 valgrind 지원을 지원합니다.
SDK 바이너리 패키지 용 cerbero 빌드 도구가 새로운 'bundle-source'명령을 얻음
Android, iOS, OS X 및 Windows 플랫폼 지원에 대한 다양한 개선
버전 1.5.2의 새로운 기능 :
740502 : GstDirectControlBinding에 절대 속성 추가
740575 : GStreamer에서 DTS 고정
745366 : concat : 전달 FLUSH_START / FLUSH_STOP 이벤트
746949 : concat : 활성 패드 속성 추가
750027 : concat : 검색을 플러시 한 후 내부 시작 오프셋을 0으로 재설정합니다.
750033 : basetransform - 버퍼의 조합 / 분리 허용
750039 : 공유 메모리가있는 버퍼 유지
750319 : memory : 서브 클래스는 unmap에서 맵 플래그를 모릅니다.
750530 : ptp : FreeBSD, FreeBSD 및 기타 BSD에는 ifreq.ifw_hwaddr이 없습니다.
750574 : netclientclock : 시계를 내부 클럭 주위의 래퍼 클럭으로 설정합니다.
750761 : inputselector : 다른 길이의 트랙 선택 처리
750782 : 파이프 라인 : gst_pipeline_set_latency (), getter 및 GObject 속성 추가
751026 : basesink : 마지막 샘플 속성에 대한 버퍼 목록을 올바르게 처리합니다.
751047 : concat : 기본 조정 속성 추가
751107 : 연결 : 패드를 놓을 때 EOS를 적절하게 보내십시오.
751235 : utils : get_compatible_pad가 필터 뚜껑을 완전히 존중하지 않습니다.
751420 : basesink : 드레인에 마지막 버퍼 목록을 딥 복사해야합니다.
1.4.5 버전의 새로운 기능 :
GStreamer 코어 :
736969 : queue2 : 버퍼링 할 때의 dead lock
738092 : basesink : 방향을 기준으로보고 된 위치를 고정시킵니다.
740001 : 작업 : 일시 중지 및 중지시 경쟁 조건
GStreamer 플러그인베이스 :
741420 : 비디오 풀 : 정렬 적용 후 구성의 크기를 업데이트해야합니다.
715050 : 오디오 / x-audible 용 타이프 파인더 추가
739544 : tcp : 테스트 추가 및 tcp 요소의 메모리 누수 수정
739840 : typefind는 Apple Core Audio Format (CAF)을 인식해야합니다.
740556 : videodecoder : DTS! = 키 프레임에서 PTS 일 때 불평하지 마라.
740675 : playsink : 재생을 계속하고 음소거 속성을 재설정합니다.
740730 : rtspconnection : 상위 소스가 이미 삭제 된 경우 하위 소스를 제거하지 마십시오.
740853 : audiodecoder : EOS를 보내기 전에 보류중인 이벤트를 푸시합니다.
740952 : alsa : NetBSD 수정 사항
741045 : audiorate는 경우에 따라 타임 스탬프 정밀도를 잃을 수 있습니다.
741198 : playbin : 누수 GstPads
GStreamer 플러그인 좋은 :
711437 : apev2mux : WavPack 파일의 처음에 APEv2 태그를 넣으면 안됩니다.
726194 : 캡처 카드가 때때로 인터레이스 될 때 v4l2src가 잘 대처하지 못하고 때로는 같은 해상도로 점진적으로 진행됩니다.
737603 : v4l2bufferpool : 필드가 V4L2_FIELD_INTERLACED 인 경우 버퍼 인터레이스 플래그 설정
739476 : vpx : git에서 libvpx에 대해 빌드하지 못함
739722 : matroskamux : 스레드 안전 레지스터 GstMatroskamuxPad
739789 : v4l2allocator : 할당자가 이미 활성화되어 있으면 오류 메시지 수정
739791 : v4l2bufferpool : v4l2_allocator_new ()가 실패 할 때 참조 해제 풀
739792 : v4l2allocator : gst_v4l2_allocator_stop 프로토 타입 수정
739996 : videomixer : 소스 중 하나가 라이브 인 경우 많은 프레임을 삭제합니다.
740040 : v4l2src : V4L2_BUF_FLAG_ERROR가있는 상태에서 실패 함
740392 : rtspsrc : mikey base64 디코딩 된 키 - mgmt 누수
740407 : qtmux가 4096x4096으로 캡처 제한
740633 : v4l2src : RW io-mode가 손상되었습니다.
740636 : v4l2src : 드라이버에서 프레임 속도가 항상 설정되지는 않습니다.
740671 : aspectratiorop : 비디오 크기가 변경되면 자르기를 재설정해야합니다.
740905 : v4l2 : 여전히 linux / videodev.h에 1 개가 포함되어 있습니다.
741271 : rtph264pay : SPS / PPS를 사용할 때 H.264 페이로드로의 버퍼 누출
741381 : rtph264pay : PAUSED-> gt;로 갈 때 경기 상황에 따라 충돌이 발생할 수 있습니다. 준비된
741407 : 필터가 인터레이스 된 경우 query_caps의 deinterlace : 지원되는 형식 만 반환합니다.
737579 : v4l2object : 출력 장치의 색 공간 설정
739754 : v4l2bufferpool : 모든 메모리가 큐에 다시 기록되기 전에 쓰기 가능해야 함을 검증해야 함
GStreamer 플러그인 불량 :
722764 : rawparse : 쿼리 쿼리 처리 문제 해결
729768 : mpegtsbase : 처음에는 PCR을 찾기 위해 더 많은 바이트를 읽도록 한계를 올립니다.
739152 : gl / cocoa : GNUStep으로 빌드가 실패합니다.
740191 : dvbbasesink : segfaults on 32-bit (rpi)
740201 : gl / cocoa : OSX에서 컴파일되지 않습니다 & lt; 더 이상 10.7
740451 : srtpdec : rtp / rtcp 싱크 이벤트가 누출 됨
740953 : configure.ac : unportable test (1) 비교 연산자
741321 : opusparse : 헤더 분석을 수정했습니다. libopus의 인코딩 된 출력의
GStreamer RTSP 서버 :
739481 : rtsp-stream : rtpbin을 나갈 때 srtp 디코더가 누수 됨
버전 1.4.4의 새로운 기능 :
버전 1.4.5에서 수정 된 버그 :
737498 : multiqueue : 현재 레벨을 계산할 때 GAP 이벤트를 고려하지 않음
737794 : multiqueue : 직렬화 된 이벤트로 인해 대기열이 오버런되면 교착 상태가 발생합니다.
737999 : systemclock : 다중 스레드 항목 상태 문제
738198 : multiqueue : EOS에서 연결되지 않은 스트림을 깨우지 않습니다.
버전 1.4.1의 새로운 기능은 다음과 같습니다.
1.4 릴리스 시리즈는 1.2 시리즈 상단에 새로운 기능을 추가하며 API 및 ABI 안정 1.x의 일부입니다 새로운 기능이 포함 된 GStreamer 멀티미디어 프레임 워크 시리즈 출시. 1.4.x 버그 수정 릴리즈에는 1.4.0에 비해 중요한 버그 수정 만 포함됩니다.
버전 1.4 RC2의 새로운 기능 :
GStreamer 팀은 stable 1.4 릴리스 시리즈의 두 번째 릴리스 후보를 발표하게 된 것을 기쁘게 생각합니다. 1.4 릴리스 시리즈는 1.0 및 1.2 시리즈 위에 새로운 기능을 추가하고 GStreamer 멀티미디어 프레임 워크의 API 및 ABI 안정 1.x 릴리스 시리즈의 일부입니다.
이 릴리스 후보자는 더 큰 회귀 또는 더 큰 쟁점이 발견되지 않고 릴리스 후보에 대한 충분한 테스트가 발생하면 안정 버전 1.4.0이 곧 출시 될 것으로 기대됩니다. 1.3 릴리스 시리즈 중에 추가 된 새로운 API는이 시점에서 더 이상 변경되지 않습니다.
버전 1.4 RC1의 새로운 기능 :
새 API :
GstMessageType에 GST_MESSAGE_EXTENDED가 추가되었습니다. 이전의 모든 유형은 이전처럼 플래그 유형으로 함께 사용될 수 있지만 그 메시지 이후부터 유형은 점진적으로 계산됩니다. 이것은 더 많은 메시지 유형을 추가 할 수 있어야했습니다. 2.0에서는 GstMessageType이 더 이상 플래그 유형이 아닌 enum이됩니다.
장치 프로빙을위한 GstDeviceMonitor. 사용 가능한 모든 오디오 또는 비디오 캡처 장치를 나열합니다. 이것은 0.10에서 GstPropertyProbe를 대체합니다.
gst_pad_set_offset () 함수로 설정된대로 패드를 통해 이동할 때 이벤트가 실행 시간 오프셋을 누적합니다. 예를 들어 QOS 이벤트에서이를 보상 할 수 있습니다.
GstBuffer는 새로운 플래그 "tag-memory"를 갖는다. 메모리가 버퍼에 추가되거나 제거 될 때 자동으로 설정됩니다. 이렇게하면 버퍼 풀이 버퍼를 재생할 수 있는지 또는 먼저 재설정해야 하는지를 버퍼 풀이 감지 할 수 있습니다.
GstToc에는 루프로 GstTocEntries를 표시하는 새로운 API가 있습니다.
허가가 누락되어 자원 액세스가 실패했음을 응용 프로그램에 알리고이 사례를 다른 사람과 구별하기 위해 권한이 부여되지 않은 자원 오류가 정의되었습니다. 이 변경 사항은 실제로 1.2.4에 있습니다.
GstCollectPads는 SEEK 이벤트를위한 플러시 및 기본 처리기를 지원합니다.
여러 소스 패드가있는 요소에서 흐름 반환 처리를 단순화하는 새로운 GstFlowAggregator 도우미 객체입니다. 또한 GstPad는 항상 마지막 흐름 반환을 저장하고이를 검색하는 API를 제공합니다.
GstSegment에는 실행 시간을 특정 값만큼 오프셋하는 새로운 API가 있으며이 값은 모든 상황에서 gst_pad_set_offset ()에서 양수 및 음수 오프셋을 허용하기 위해 GstPad에 사용됩니다.
h265 / HEVC 및 VP8에 대한 지원이 코덱 유틸리티 및 코덱 파서 라이브러리에 추가되었으며 다양한 요소에 통합되었습니다.
RTSP 연결의 TLS 유효성 검사를 조정하기위한 API가 추가되었습니다.
RTSP 및 SDP 라이브러리에는 MIKEY (RFC 3830)가 현재 지원되며 다른 RTSP 프로필을 구별하는 API가 있습니다.
API는 RTP 시간 정보 및 통계에 액세스합니다.
보조 스트림에 대한 지원이 rtpbin에 추가되었습니다.
타일 형식의 원시 비디오 형식에 대한 지원이 추가되었습니다.GstVideoDecoder 및 GstAudioDecoder에는 태그 이벤트를 집계하고 사용자 정의 태그를 일관되게 병합하는 데 도움이되는 API가 있습니다.
GstBufferPool은 이제 플러싱을 지원합니다.
playbin / playsink는 응용 프로그램에서 제공하는 오디오 및 비디오 필터를 지원합니다.
GstDiscoverer에는 누락 된 플러그인과 플러그인 설치 프로그램에 전달할 정보에 대한 세부 정보를 얻기위한 새롭고 간단한 API가 있습니다.
GL 라이브러리는 gst-plugins-gl에서 gst-plugins-bad로 병합되어 GStreamer 파이프 라인 내부의 GL 처리를위한 일반 인프라와 이들을 사용하는 일부 요소가있는 플러그인, 특히 비디오 싱크를 제공합니다. 현재 지원되는 플랫폼은 Android, Cocoa (OS X), DispManX (Raspberry Pi), EAGL (iOS), WGL (Windows) 및 일반 X11, Wayland 및 EGL 플랫폼입니다. 이것은 eglglessink를 대체하고 osxvideosink를 대체하기로되어 있습니다.
gst-plugins-bad의 새로운 GstAggregator 기본 클래스. 이것은 앞으로 GstCollectPads를 대체하고 API에서 오랫동안 알려진 단점을 수정해야합니다. 기본 클래스와 함께 videomixer (compositor)처럼 일부 요소가 이미 제공됩니다.
주요 변경 사항:
새로운 플러그인 및 요소 :V4L2를 통해 액세스 할 수있게 해주는 플랫폼의 하드웨어 코덱에 액세스하기위한 v4l2videodec 요소입니다 (예 : 삼성 Exynos. 이는 기존 V4L2 요소 및 해당 인프라의 주요 리팩토링과 함께 제공됩니다. v4l2videodec 요소는 mfcdec 요소를 대체합니다.
queue2의 다운로드 버퍼링 기능을 대체하는 새로운 downloadbuffer 요소. queue2의 코드와 비교하면이 단일 사용 케이스의 경우에만 훨씬 간단합니다. 주목할만한 새로운 기능은 다운로드 할 스트림이 없을 때 이미 다운로드 한 스트림 부분에 갭을 다운로드한다는 것입니다. 이것은 이제 다운로드 버퍼링이 활성화되었을 때 재생 빈에 의해 사용됩니다.
RFC 4571에 따라 스트림 API (예를 들어, TCP)를 통해 RTP 패킷을 전송하기위한 rtpstreampay 및 rtpstreamdede 요소.
rtpmanager 플러그인에 통합 된 재전송 표준 호환 구현을위한 rtprtx 요소
audiomixer 요소는 여러 오디오 스트림을 하나의 사운드 스트림으로 혼합하여 동기화를 유지합니다. 이것은 가산 요소의 대체가 될 계획입니다.
Kinect 카메라와 같은 3D 카메라 용 OpenNI2 플러그인.
높은 동적 범위 EXR 이미지를 디코딩하는 OpenEXR 플러그인.curlsshsink 및 curlsftpsink를 사용하여 SSH / SFTP를 통해 파일을 작성하십시오.
videosignal, ivfparse 및 sndfile 플러그인이 0.10에서 이식되었습니다.
avfvideosrc, vtdec 및 기타 요소는 0.10에서 이식되었으며 현재 OS X 및 iOS에서 사용할 수 있습니다.
기타 변경 사항 :
gst-libav는 이제 libav 10.1을 사용하고 H265 / HEVC에 대한 지원을 얻었습니다.
다양한 플러그인과 기본 클래스의 버그 수정과 기능 추가로 하드웨어 코덱과 특수 메모리 유형에 대한 지원이 개선되었습니다.
queue2 및 multiqueue 요소의 다양한 버그 수정 및 버퍼링 개선.
dvbsrc는 DVB S2 및 T2 지원을 포함하여 더 많은 전송 메커니즘과 기타 기능을 지원합니다.
MPEGTS 라이브러리는 더 많은 디스크립터를 지원합니다.
tsdemux 및 tsparse의 주요 개선 사항, 특히 시간 및 관련 찾기.
souphttpsrc는 이제 연결 유지 연결, 압축, 구성 가능한 재시도 횟수 및 SSL 인증서 유효성 검사에 대한 구성을 지원합니다.
hlsdemux는 주요 리팩토링을 거쳐 현재보다 안정적으로 작동하며 트릭 모드와 같은 더 많은 HLS 기능을 지원합니다. 또한 각 조각이 끝날 때까지 기다리지 않고 조각을 다운로드합니다.dashdemux와 mssdemux는 각 프래그먼트가 끝날 때까지 기다리는 대신 다운로드되는 동안 프래그먼트 다운 스트림을 푸시 다운한다.
videoflip은 방향 태그에 따라 자동으로 뒤집을 수 있습니다.
openjpeg는 OpenJPEG2 API를 지원합니다.
waylandsink는 리팩터링되어 이제는 더 유용 할 것입니다. 또한 앞으로 제거 될 가능성이 큰 작은 라이브러리가 포함되어 GstVideoOverlay 인터페이스가 확장됩니다.
gst-rtsp-server는 SRTP와 MIKEY를 지원합니다.
gst-libav 인코더는 현재 캡슐을 통해 다운 스트림의 모든 프로필 / 레벨 설정을 협상 중입니다.
장소 전체에 걸친 경고에 대한 많은 수정.
협상 관련 성과 향상.
800 개 이상의 수정 된 버그 보고서 및 버그 수정이없는 곳의 다른 많은 버그 수정 및 기타 개선 사항
주의 사항 :
eglglessink 요소가 제거되고 glimagesink 요소로 대체되었습니다.
mfcdec 요소가 제거되고 v4l2videodec로 대체되었습니다.
osxvideosink는 OS X 10.6 이상에서만 사용 가능합니다.
안드로이드에서 GStreamer 초기화를 위해 자동 생성 된 Java 클래스의 네임 스페이스는 네임 스페이스 오염을 방지하기 위해 com.gstreamer에서 org.freedesktop.gstreamer로 변경되었습니다.
iOS에서 이전에 GnuTLS GIO 모듈을 사용했다면 프로젝트의 gst_ios_init.h와 gst_ios_init.m을 바이너리에 포함 된 프로젝트에서 업데이트해야합니다. 로딩 메커니즘이 약간 변경되었습니다.
버전 1.2.4의 새로운 기능 :
GStreamer 코어 :
724373 : 파이프 라인이 일시 중지되면 Queue2가 임시 파일을 자릅니다.
725517 : docs : 오타 수정 및 알 수없는 주석 제거
725809 : 고스트 패드 : 대상 패드에서 누락 된 참조 횟수로 인해 희귀 한 충돌이 발생합니다.
727253 : parse : 릴리스에 포함 된 Bison 생성 파일 tarball이 컴파일 오류를 발생시킵니다.
727883 : baseparse : 대기열 프레임의 메모리 누수
GStreamer 플러그인베이스 :
693263 : typefinding : MPEG-2 비디오 ES가 H.263으로 탐지되었습니다.
683504 : playsink : 자막을 비활성화 할 때 교착 상태가 발생하고 부제목을 차선으로 사용할 수 없게됩니다.
700770 : typefinding : mp3 파일이 h263 비디오로 잘못 검색되었습니다.
723597 : tagdemux : GST_FORMAT_TIME의 검색 이벤트가 BYTES로 변환되어 일찍 검색됩니다.
724633 : oggdemux : 푸시 모드의 마지막 페이지를 무시합니다.
724720 : rtspconnection : 터널링 된 모드에서 읽기 연결을 분리 / 다시 연결할 수 없음
725313 : rtspconnection : closed () 콜백은 터널 모드에서 호출되지 않습니다.
725644 : typefinding : mp3 파일이 H.263으로 잘못 감지되었습니다.
726642 : rtspconnection : 오류 처리에서 사소한 메모리 누수
727025 : 덧셈기 : eos를 보내야하는지 확인하기 위해 논리를 다시 작성하십시오.
GStreamer 플러그인 :
722185 : souphttpsrc : racy & quot; 서버가 검색을 지원하지 않습니다 & quot; 오류
724619 : 펄스 링크의 장치 이름 속성을 읽을 때 충돌이 발생합니다.
725124 : rtspsrc : 작업 만들기가 성공적이지 않으면 교착 상태를 수정합니다.
725712 : rtpsession : 알 수없는 SSRC로 RTCP FIR을 수신하면 충돌이 발생합니다.
725860 : v4l2src : Hauppauge HDPVR 비디오 캡처 장치로 v4l2src를 사용하여 수정
726777 : rtpjpegpay : 페이로드 크기가 올바르게 계산되지 않았습니다.
728017 : gstrtpjitterbuffer에서 [회귀] eos 이벤트를 보낼 수 없습니다.
728041 : rtph264depay : avc 형식을 출력 할 때 모든 출력 버퍼를 델타 단위로 표시합니다.
724638 : aacparse : 오디오 프레임을 찾을 수 없을 때 복원력이 누락 됨
727329 : 확인 : souphttpsrc : 알 수없는 유형 이름 'SoupStatus'
GStreamer 플러그인 불량 :
724013 : fluiddec에서 / usr / share / sounds / sf2 경로를 하드 코딩하지 마십시오.
725137 : hlsdemux : 쿼리 매개 변수가있는 경우 미디어 재생 목록 URL을 계산하지 못합니다.
725140 : hlsdemux : 코덱과 해상도를 올바르게 구문 분석하지 못함
GStreamer libav 플러그인 :
727779 : avdec_h264, matroskademux : 찾는 동안 충돌 (1.2 회귀)
버전 1.2.2의 새로운 기능은 다음과 같습니다.
1.2 릴리스 시리즈는 1.0 시리즈 위에 새로운 기능을 추가하며 API 및 ABI 안정화 1.x는 새로운 기능을 포함하는 GStreamer 멀티미디어 프레임 워크 시리즈를 출시했습니다.
버전 1.2.0의 새로운 기능 :
새 API :
GstContext 협상 / 공유 / 공지 (예 : 디스플레이 핸들
OpenGL 텍스처로 변환 할 수있는 다양한 버퍼 유형을 허용하는 GL 텍스처 업로드 변환 메타
GstCaps는 GstCaps의 확장으로서, 요소 들간의 특정 메모리 또는 메타 요구 사항의 협상을 허용합니다.
연속 및 비표준 메모리에 대한 GstMemory 플래그
stream-start 이벤트에는 선택적 플래그가 있습니다 (예 : 스파 스 스트림 신호용
stream-start에는 함께 재생해야하는 모든 스트림을 알리는 선택적 group-id 필드가 있습니다.
gst-plugins-base의 할당 자 라이브러리, 현재는 일반 dmabuf 메모리 지원 만 사용
동적 링크 된 파이프 라인을보다 쉽게 처리 할 수있는 인서트 라이브러리 (in-bad)
EGL 도우미 라이브러리 (in -bad for now)
MPEG-TS 데이터 구조 라이브러리 (지금은 -bad)
새로운 GstVideoRegionOfInterestMeta는 비디오 프레임에서 관심 영역을 설명합니다.
GstVideoDecoder / Encoder에는 잘못 정의 된 :: reset () vfunc을 대체하는 flush () vfunc이 새로 추가되었습니다.
URI 쿼리를 통해 리디렉션 된 URI를 지금 쿼리 할 수 있습니다.
주요 변경 사항 :
새 플러그인 :
Microsoft Smooth Streaming 용 mssdemux
DASH 적응 형 스트리밍 프로토콜을위한 dashdemux
블루투스 장치와의 상호 작용을위한 bluez
JPEG2000 디코딩 및 인코딩을위한 openjpeg
실험적인 Daala 디코딩 및 인코딩을위한 daala
vpx 플러그인 실험적인 VP9 디코딩 및 인코딩 지원
WebP 디코딩을위한 webp 플러그인 (나중에 추가 될 인코딩)
다양한 기타 : yadif, srtp, sbc, fluidsynth, midiparse, mfc, ivtv, accuraterip 및 audiofxbad
이전 된 플러그인 :
dtmf, vp8rtp, scaletempo 및 rtpmux 플러그인은 gst 플러그인에 있습니다.
비디오:
videoscale 및 videoconvert와 같은 변환기에서 인터레이스 된 비디오 처리를 수정합니다 (예 : 두 필드를 모두 독립적으로 조정).
변환이 필요할 때 videoconvert는 품질 손실을 최소화하기 위해 더 열심히 노력할 것입니다.gst-plugins-bad의 libgstbasevideo-1.0 라이브러리 (혼란스럽게 명명 된)의 실험용 GstSurfaceConverter, GstSurfaceMeta 및 GstVideoContext API가 삭제되었으며 GStreamer Core 및 gst-plugins-base (위 참조)의 새로운 API로 대체되었습니다. 그것이이 라이브러리에 남겨진 모든 것이기 때문에 전체 libgstbasevideo-1.0 라이브러리가 gst-plugins-bad에서 제거되었습니다.
크로마 서브 샘플링 및 크로마 사이트 변환은 비디오 콘버터에서보다 잘 처리되며 인터레이스 비디오에 대한 지원이 향상되었습니다.
videotestsrc의 새로운 바람개비 및 스포크 패턴
비디오 믹서는 이제 싱크 패드에서 다른 비디오 포맷을 받아 들일 수 있으며 믹싱 중에는 일반적인 포맷으로 변환 할 수 있습니다.
오디오 :
audioconvert는 변환이 필요할 때 품질 손실을 최소화하기 위해 더 열심히 노력할 것입니다.
덧셈기는 이제 입력 스트림의 음소거 / 음소거를 허용하고 입력 스트림 당 음량을 허용합니다.
pulseaudio 요소는 지금 재생 중에 장치간에 전환 할 수 있습니다.
aacparse는 ADTS 사이에서 변환 할 수 있습니다 ← -> RAW
플랫폼 별 변경 사항 :glibc가 아닌 플랫폼 (예 : Windows, OSX, Android)에서도 포인터 주소 대신 내용이 포함 된 GStreamer 디버그 로그에 캡, 이벤트 등이 인쇄됩니다.
IPv6 소켓이 IPv4 (예 : Windows)를 처리 할 수없는 플랫폼에서는 네트워크 요소 (UDP / TCP)가 더 잘 작동합니다.
Linux / BSD : v4l2에는 많은 개선 및 정리가있었습니다.
기타 변경 사항 :
gst-libav는 이제 libav 9를 사용합니다.
플러그인의 정적 링크가 현재 지원됩니다 (1.0.7에서도 지원됨).
rtspsrc : NetClientClock에 대한 지원 추가 : 서버가 SDP에서 GstNetTimeProvider를 제안하면 원격 클럭에 종속하는 GstNetClientClock을 설정하고이 클럭을 provide_clock에 제안하십시오. RTSP 서버에서 리소스의 동기화 된 재생을 단순화합니다. gst-rtsp-server는 이제 이것을 SDP에 추가하는 것을 지원하며 네트워크 시계를 제공 할 수 있습니다
RTP 재전송 / NACK 지원 및 대규모 RTP 지터 버퍼 개선
SRTP 및 DTLS 지원
올바른 스티커 이벤트 순서를 사용하기 위해 많은 요소와 코어를 변경하고 플러시 중에 중요한 끈적한 이벤트를 잃지 않습니다.
버그 리포트가없는 1000 개 이상의 버그 수정 및 기타 버그 수정 및 기타 개선 사항주의 사항 :
단일 헤더는 모든 라이브러리에 포함됩니다 (예 : #include - 이것은 일부 바인딩에 필요했습니다.
더 정확하지 않은 일부 경우에 더 엄격한 (정확한) 하위 집합 검사가 끝납니다. 하위 집합 대문자에 상위 집합 대문자가있는 일부 필드가없는 경우 대문자는 이제 다른 대문자 집합의 호환 하위 집합이되지 않습니다. 이제 대문자가 불완전한 경우 협상되지 않은 오류가 발생할 수 있습니다. 그러나 호환되지 않는 / 예상치 못한 방식으로 포맷 된 데이터를 일부 요소로 파이프 처리하여 발생할 수있는 데이터 손상을 방지합니다. 스트림 형식 및 정렬 필드에 대해서는 h264 캡을 점검하고 스트림 형식 필드에 대해서는 AAC 캡을 점검하십시오. 이 변경 사항은 다음 안정 버전 1.0.8에도 포함될 것입니다.
누락 된 이벤트를보다 엄격하게 검사하고 일부 장소에서 고정 이벤트 순서 (스트림 시작, 대문자, 세그먼트)를 수정합니다. 이것은 안정 버전에서는 기본적으로 사용할 수 없지만 git 빌드, 개발 릴리스 또는 CFLAGS에서 -UG_DISABLE_ASSERT로 컴파일 할 때 경고가 표시 될 수 있습니다
다운 스트림에 대문자가있는 경우 x264enc는 이제 데이터를 바이트 스트림으로 출력합니다 (예 : 대문자 설정이없는 appsink, 파일 공유, udpsink, tcpserversink 등)
MPEG TS 디멀티er 게시물 메시지에는 PMT, PAT 등이 다른 형식으로 포함되어 있습니다. 이 새로운 형식은 새로운 MPEGTS 라이브러리의 데이터 구조를 사용합니다
GstContext API가 1.1.4에서 1.1.90 사이에서 변경되었습니다.
1.1.4 버전의 새로운 기능 :
새 API :
GstContext 협상 / 공유 / 공지 (예 : 디스플레이 핸들
OpenGL 텍스처로 변환 할 수있는 다양한 버퍼 유형을 허용하는 GL 텍스처 업로드 변환 메타
GstCaps는 GstCaps의 확장으로서, 요소 들간의 특정 메모리 또는 메타 요구 사항의 협상을 허용합니다.
연속 및 비표준 메모리에 대한 GstMemory 플래그
stream-start 이벤트에는 선택적 플래그가 있습니다 (예 : 스파 스 스트림 신호용
stream-start에는 함께 재생해야하는 모든 스트림을 알리는 선택적 group-id 필드가 있습니다.
gst-plugins-base의 할당 자 라이브러리, 현재는 일반 dmabuf 메모리 지원 만 사용
동적 링크 된 파이프 라인을보다 쉽게 처리 할 수있는 인서트 라이브러리 (in-bad)
EGL 도우미 라이브러리 (in -bad for now)
MPEG-TS 데이터 구조 라이브러리 (지금은 -bad)
새로운 GstVideoRegionOfInterestMeta는 비디오 프레임에서 관심 영역을 설명합니다.
GstVideoDecoder / Encoder에는 잘못 정의 된 :: reset () vfunc을 대체하는 flush () vfunc이 새로 추가되었습니다.
URI 쿼리를 통해 리디렉션 된 URI를 지금 쿼리 할 수 있습니다.
주요 변경 사항 :
새 플러그인 :
Microsoft Smooth Streaming 용 mssdemux
DASH 적응 형 스트리밍 프로토콜을위한 dashdemux
블루투스 장치와의 상호 작용을위한 bluez
JPEG2000 디코딩 및 인코딩을위한 openjpeg
실험적인 Daala 디코딩 및 인코딩을위한 daala
vpx 플러그인에는 실험적 V9 디코딩 및 인코딩 지원 기능이 있습니다.
WebP 디코딩을위한 webp 플러그인 (나중에 추가 될 인코딩)
다양한 기타 : yadif, srtp, sbc, fluidsynth, midiparse, mfc, ivtv, accuraterip 및 audiofxbad
이전 된 플러그인 :
dtmf, vp8rtp, scaletempo 및 rtpmux 플러그인은 gst 플러그인에 있습니다.
비디오:
videoscale 및 videoconvert와 같은 변환기에서 인터레이스 된 비디오 처리를 수정합니다 (예 : 두 필드를 모두 독립적으로 조정).
변환이 필요할 때 videoconvert는 품질 손실을 최소화하기 위해 더 열심히 노력할 것입니다.gst-plugins-bad의 libgstbasevideo-1.0 라이브러리 (혼란스럽게 명명 된)의 실험용 GstSurfaceConverter, GstSurfaceMeta 및 GstVideoContext API가 삭제되었으며 GStreamer Core 및 gst-plugins-base (위 참조)의 새로운 API로 대체되었습니다. 그것이이 라이브러리에 남겨진 모든 것이기 때문에 전체 libgstbasevideo-1.0 라이브러리가 gst-plugins-bad에서 제거되었습니다.
크로마 서브 샘플링 및 위치 지정 변환은 videoconvert에서 더 잘 처리됩니다.
videotestsrc의 새로운 바람개비 및 스포크 패턴
오디오 :
덧셈기는 이제 입력 스트림의 음소거 / 음소거를 허용하고 입력 스트림 당 음량을 허용합니다.
pulseaudio 요소는 지금 재생 중에 장치간에 전환 할 수 있습니다.
aacparse는 ADTS 사이에서 변환 할 수 있습니다 ← -> RAW
플랫폼 별 변경 사항 :
glibc가 아닌 플랫폼 (예 : Windows, OSX, Android)에서도 포인터 주소 대신 내용이 포함 된 GStreamer 디버그 로그에 캡, 이벤트 등이 인쇄됩니다.
IPv6 소켓이 IPv4 (예 : Windows)를 처리 할 수없는 플랫폼에서는 네트워크 요소 (UDP / TCP)가 더 잘 작동합니다.
Windows : d3dvideosink는 업스트림 요소에 버퍼 풀을 제공합니다.Linux / BSD : v4l2에는 많은 개선 및 정리가있었습니다.
기타 변경 사항 :
gst-libav는 이제 libav 9를 사용합니다.
플러그인의 정적 링크가 현재 지원됩니다 (1.0.7에서도 지원됨).
rtspsrc : NetClientClock에 대한 지원 추가 : 서버가 SDP에서 GstNetTimeProvider를 제안하면 원격 클럭에 종속하는 GstNetClientClock을 설정하고이 클럭을 provide_clock에 제안하십시오. RTSP 서버에서 리소스의 동기화 된 재생을 단순화합니다. gst-rtsp-server는 이제 이것을 SDP에 추가하는 것을 지원하며 네트워크 시계를 제공 할 수 있습니다
RTP 재전송 / NACK 지원 및 대규모 RTP 지터 버퍼 개선
SRTP 및 DTLS 지원
올바른 스티커 이벤트 순서를 사용하기 위해 많은 요소와 코어를 변경하고 플러시 중에 중요한 끈적한 이벤트를 잃지 않습니다.
버그 리포트가없는 1000 개 이상의 버그 수정 및 기타 버그 수정 및 기타 개선 사항
주의 사항 :
단일 헤더는 모든 라이브러리에 포함됩니다 (예 : #include - 이것은 일부 바인딩에 필요했습니다.더 정확하지 않은 일부 경우에 더 엄격한 (정확한) 하위 집합 검사가 끝납니다. 하위 집합 대문자에 상위 집합 대문자가있는 일부 필드가없는 경우 대문자는 이제 다른 대문자 집합의 호환 하위 집합이되지 않습니다. 이제 대문자가 불완전한 경우 협상되지 않은 오류가 발생할 수 있습니다. 그러나 호환되지 않는 / 예상치 못한 방식으로 포맷 된 데이터를 일부 요소로 파이프 처리하여 발생할 수있는 데이터 손상을 방지합니다. 스트림 형식 및 정렬 필드에 대해서는 h264 캡을 점검하고 스트림 형식 필드에 대해서는 AAC 캡을 점검하십시오. 이 변경 사항은 다음 안정 버전 1.0.8에도 포함될 것입니다.
누락 된 이벤트를보다 엄격하게 검사하고 일부 장소에서 고정 이벤트 순서 (스트림 시작, 대문자, 세그먼트)를 수정합니다. 이것은 안정 버전에서는 기본적으로 사용할 수 없지만 git 빌드, 개발 릴리스 또는 CFLAGS에서 -UG_DISABLE_ASSERT로 컴파일 할 때 경고가 표시 될 수 있습니다
다운 스트림에 대문자가있는 경우 x264enc는 이제 데이터를 바이트 스트림으로 출력합니다 (예 : 대문자 설정이없는 appsink, 파일 공유, udpsink, tcpserversink 등)
댓글을 찾을 수 없습니다