당신은 모든있는 GStreamer 플러그인을 설치 한 가정 (좋은 나쁜, 그리고 추한), 당신은 FFmpeg에있는 GStreamer 요소를 통해 당신의 처리에 무손실 비디오 압축기의 인상적인 수 있습니다. 여기에는 ffenc_png (PNG 인코딩 용), ffenc_jpegls (무손실 JPEG 알고리즘) 및 그다지 일반적인 것이 없습니다.
그러나 GStreamer 명령 줄을 올바르게 읽는다면 특정 유형의 하드웨어에 연결되는 일련의 사용자 지정 구성 요소를 호출하는 것처럼 보입니다. (인터넷 검색을 수행하고 있지만, 그것은). JPEG 인코더 구성 요소는 'dmaienc_jpeg'입니다. 체인 앞의 요소 (dm365facedetect)는 dmaienc_jpeg가 해석 할 수있는 데이터 만 출력 할 수 있습니다. 그러나 일반적인 색 공간이라면 FFmpeg 무손실 인코더를 통해 색 공간 변환을 통해 보낼 수 있습니다. 그 대답은 요소에 대해 'gst-inspect'를 호출하고 출력 (src 및 sink 데이터 유형)을 조사하여 확인할 수 있습니다.
새 데이터에 따른 업데이트 : 좋은 소식 : dm365facedetect 요소는 원시 YUV를 NV12 형식으로 출력합니다. 매우 유연하며 많은 옵션이 있습니다.
어떤 플랫폼을 사용하고 계십니까? 우분투 리눅스를 사용하는 경우, 사용하는있는 GStreamer 플러그인의 무리를 설치
apt-get install gstreamer0.10-plugins-good \
gstreamer0.10-plugins-bad gstreamer0.10-plugins-ugly gstreamer0.10-ffmpeg
일부 무손실 코덱 옵션 : PNG는 'pngenc'또는 'ffenc_png'(중 하나를 통해이 기술적으로 인한 손실의 작은 조금이 부과 될 수 있지만, YUV -> RGB 색상 공간 변환), 'ffenc_huffyuv', 'ffenc_jpegls'또는 'ffenc_ljpeg'. 인코딩 할 때는 avimux 구성 요소를 통해 보내십시오. 그래서, 명령 줄의 끝에 예 수정 :
... ! dm365facedetect draw-square=true ! ffenc_ljpeg ! \
avimux ! filesink location=$FILE_NAME
는 이전에 받고 있던 JPEG 데이터보다 다소 크게 무손실 코덱 데이터를 기대합니다. 다른 코덱을 실험 해보고 좋아하는 것을보고 원하는 툴체인을 사용하여 상대방의 데이터를 디코딩 할 수 있는지 확인하십시오 (FFmpeg 및 VLC는 항상이를 처리 할 수 있어야합니다).
JPG는 정의 상 손실 형식입니다. JPG로 저장할 때 데이터를 잃지 않는 것은 불가능합니다. 무손실이 필요한 경우 PNG –
으로 이동하십시오. http://en.wikipedia.org/wiki/Lossless_JPEG – ShinTakezou
@MarcB : 무손실 압축 PNG gstreamer 요소가 있습니까? – jacknad