When exporting an MP4 video, ParaView cannot correctly generate the file if the output path contains non-ASCII characters (e.g., Japanese).
I imagine we need to use vtksys::fstream instead somewhere.Is this on Windows?
Cc: @mwestphal @todoooo Might be of interest to you.
It’s hard to comment without having the steps to recreate but FFMPEG avio_open expects a UTF-8 filename, so I would say the text provided has not been properly converted from UTF-16 on Windows.
if (avio_open(&this->avFormatContext->pb, this->avFormatContext->filename, AVIO_FLAG_WRITE) < 0)
{
vtkGenericWarningMacro(<< "Could not open " << this->Writer->GetFileName() << ".");
return 0;
}
If the skybox movie representation is being used then the filename comes from request data.
int vtkSkyboxMovieRepresentation::RequestData(
vtkInformation* request, vtkInformationVector** inputVector, vtkInformationVector* outputVector)
{
if (inputVector[0]->GetNumberOfInformationObjects() == 1)
{
vtkTable* input = vtkTable::GetData(inputVector[0], 0);
if (input->GetNumberOfRows() > 0 && input->GetNumberOfColumns() > 0)
{
this->DummyPolyData->GetFieldData()->ShallowCopy(input->GetRowData());
std::string text = vtkExtractString(this->DummyPolyData);
this->FileName = text;
}
}
else
{
this->DummyPolyData->Initialize();
}
this->DummyPolyData->Modified();
return this->Superclass::RequestData(request, inputVector, outputVector);
}
1 Like