[FFmpeg-trac] #11333(undetermined:closed): Incomplete conversion of certain Apple H.265 MOV "hstack"
FFmpeg
trac at avcodec.org
Fri Dec 6 14:36:41 EET 2024
#11333: Incomplete conversion of certain Apple H.265 MOV "hstack"
-------------------------------------+-------------------------------------
Reporter: gegegegege | Owner: (none)
Type: task | Status: closed
Priority: normal | Component:
| undetermined
Version: 7.1 | Resolution: invalid
Keywords: hstack mov | Blocked By:
hevc |
Blocking: | Reproduced by developer: 0
Analyzed by developer: 0 |
-------------------------------------+-------------------------------------
Comment (by gegegegege):
Instead, the following code can call ffmpeg in c# and convert the full
video. I'd like to ask you two more questions. One problem is that the
print progress is supposed to be a regular log, not an error log. Why
can't I use OutputDataReceived to receive it? The second problem is: how
can I use ffmpeg to recognize that a mov file is an Apple space video,
because there are other mov files that are not Apple space videos. Thank
you very much.
{{{
public static void Main(string[] args)
{
string ffmpegPath =
@"F:\ffmpeg-7.1-essentials_build\bin\ffmpeg.exe";
string inputFile = "D:\\gege\\_平面空间视频\\_苹果立体视频\\新
建文件夹\\IMG_1940_1.MOV";
string outputFile = "D:\\gege\\_平面空间视频\\_苹果立体视频\\
新建文件夹\\IMG_1940_1UD.mp4";
string arguments =
$"-v debug -hide_banner -nostdin -nostats -i
\"{inputFile}\" -filter_complex \"[0:v:view:0][0:v:view:1]hstack\"
-c:v hevc -tag:v hvc1 \"{outputFile}\"";
try
{
using (Process myProcess = new Process())
{
myProcess.StartInfo.UseShellExecute = false;
myProcess.StartInfo.FileName = ffmpegPath;
myProcess.StartInfo.Arguments = arguments;
myProcess.StartInfo.CreateNoWindow = true;
myProcess.StartInfo.RedirectStandardError = true;
myProcess.StartInfo.RedirectStandardOutput = true;
myProcess.Start();
myProcess.ErrorDataReceived += delegate(object sender,
DataReceivedEventArgs eventArgs) { Console.WriteLine(eventArgs.Data); };
//myProcess.OutputDataReceived += delegate(object
sender, DataReceivedEventArgs eventArgs) {
Console.WriteLine(eventArgs.Data); }; //inVain
myProcess.BeginErrorReadLine();
myProcess.WaitForExit();
}
}
catch (Exception e)
{
Console.WriteLine(e.Message);
}
}
}}}
--
Ticket URL: <https://trac.ffmpeg.org/ticket/11333#comment:6>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker
More information about the FFmpeg-trac
mailing list