Я пытаюсь прочитать два кадра (по отдельности хранящиеся в двоичных файлахframe1.bin иframe2.bin) и создать видеофайл mp4 с именем «sample.mp4». Временная метка начинается с 0,0333 (по-видимому, это значение длительности кадра), а не с 0. Я не могу найти причину этого.
Я пытаюсь прочитать два кадра (по отдельности хранящиеся в двоичных файлахframe1.bin иframe2.bin) и создать видеофайл mp4 с именем «sample.mp4». Временная метка начинается с 0,0333 (по-видимому, это значение длительности кадра), а не с 0. Я не могу найти причину этого. [code] #define MFWRITER_RETURN_ON_ERROR(A) if( !(A) ) { return false; } #define MFWRITER_RETURN_HRESULT_ON_ERROR(A) if( FAILED(A) ) {return A; }
if (_sinkWriter == NULL) { HRESULT hr = createSinkWriter(static_cast(width), static_cast(height)); // If any failure occurs after the SyncWriter is created, we need to clean it up // as the device is not closed. if (FAILED(hr)) { destroySinkWriter(); return throwIf(hr); } }
// Create a media sample and add the buffer to the sample. CComPtr sample; MFWRITER_RETURN_ON_ERROR(throwIf(MFCreateSample(&sample))); MFWRITER_RETURN_ON_ERROR(throwIf(sample->AddBuffer(mediaBuffer)));
// Set the time stamp and the duration. MFWRITER_RETURN_ON_ERROR(throwIf(sample->SetSampleTime(_frameStart))); MFWRITER_RETURN_ON_ERROR(throwIf(sample->SetSampleDuration(_frameDuration)));
// Send the sample to the Sink Writer. MFWRITER_RETURN_ON_ERROR(throwIf(_sinkWriter->WriteSample(_videoStreamIndex, sample)));
// Set the output media type. MFWRITER_RETURN_HRESULT_ON_ERROR(MFCreateMediaType(&pMediaTypeOut)); MFWRITER_RETURN_HRESULT_ON_ERROR(pMediaTypeOut->SetGUID(MF_MT_MAJOR_TYPE, MFMediaType_Video)); MFWRITER_RETURN_HRESULT_ON_ERROR(pMediaTypeOut->SetGUID(MF_MT_SUBTYPE, MFVideoFormat_H264));
// Set the input media type. MFWRITER_RETURN_HRESULT_ON_ERROR(MFCreateMediaType(&pMediaTypeIn)); MFWRITER_RETURN_HRESULT_ON_ERROR(pMediaTypeIn->SetGUID(MF_MT_MAJOR_TYPE, MFMediaType_Video)); MFWRITER_RETURN_HRESULT_ON_ERROR(pMediaTypeIn->SetGUID(MF_MT_SUBTYPE, MFVideoFormat_YUY2));
// Copy input data to the Media Sample // As the input buffer contains data in YUY2 format, the effective width of the frame is doubled. const LONG bytesPerRow = static_cast(2.0 * width);
hr = MFCopyImage(outputData, // Destination buffer. bytesPerRow, // Destination stride (bytes per row). reinterpret_cast(input), // First row in source image. bytesPerRow, // Source stride. bytesPerRow, // Image width in bytes. static_cast(height)); // Image height in pixels.
if (FAILED(hr)) { return NULL; }
outputBuffer->Unlock();
// Set the data length of the buffer after writing. hr = outputBuffer->SetCurrentLength(static_cast(totalBytesInBuffer)); if (FAILED(hr)) { return NULL; }
return outputBuffer; }
int main() { MFWriter* _mfwrite = new MFWriter(); std::cout
Я пытаюсь прочитать два кадра (по отдельности хранящиеся в двоичных файлахframe1.bin иframe2.bin) и создать видеофайл mp4 с именем sample.mp4 .
Проблема:
Временная метка вместо того, чтобы начинаться с 0, начинается с 0,333 (очевидно это значение...
Я пытаюсь прочитать два кадра, каждый из которых отдельно хранится в двоичных файлах с именамиframe1.bin иframe2.bin, и создать видеофайл MP4 с именем sample.mp4. Полный исходный код доступен здесь:
Вот что я делаю. :
Я считываю кадр, связываю его...
Я пытаюсь прочитать два кадра, каждый из которых отдельно хранится в двоичных файлах с именамиframe1.bin иframe2.bin, и создать видеофайл MP4 с именем sample.mp4. Полный исходный код доступен здесь:
Вот что я делаю. :
Я считываю кадр, связываю его...
Я не уверен, как это исправить, так как все параметры выполняются, и импорт принимается во внимание, и были установлены приличия, может кто -нибудь предоставить некоторое понимание и или решение. для контекста. Я строю проект из A, который был...
Я сталкиваюсь с сложной проблемой с тонкой настройкой модели Apple Foundation, и я буду признателен за любым пониманием. Цель состоит в том, чтобы интегрировать эту модель в приложение для iOS для вывода на грани. Формат
Среда: Python с Pytorch...