ogg视频文件。我试图使用ffmpeg,它适用于mp4文件。当我想为.ogg文件运行这样的命令时:
ffmpeg -i C:\Users\Jarek\Desktop\camspot_rec\rec1.ogg -vcodec copy -acodec copy -ss 00:00:00 -t 0:00:05 C:\Users\Jarek\Desktop\camspot_rec\rec5.ogg
我收到错误:“无法为输出文件#0写入标题:处理输入时发现的Invaid数据。”
是否可以使用命令提示符剪切.ogg文件?我需要它,因为我必须保存从4个摄像机到文件的流,然后我必须切割它们以便同步它们。
以下是我从流中保存文件的代码:
public Form1()
{
InitializeComponent();
axVLCPlugin21.playlist.add("rtsp://");
axVLCPlugin21.playlist.add("rtsp://");
axVLCPlugin21.playlist.add("rtsp://");
axVLCPlugin21.playlist.add("rtsp://");
axVLCPlugin21.playlist.play();
Process.Start("C://Program Files//VideoLAN//VLC//VLC.exe", "\"rtsp://" --qt-start-minimized --sout=#transcode{vcodec=theo,vb=800,acodec=flac,ab=128,channels=2,samplerate=44100}:file{dst=C:\\Users\\Jarek\\Desktop\\camspot_rec\\rec1.ogg,no-overwrite}");
Process.Start("C://Program Files//VideoLAN//VLC//VLC.exe", "\"rtsp://" --qt-start-minimized --sout=#transcode{vcodec=theo,vb=800,acodec=flac,ab=128,channels=2,samplerate=44100}:file{dst=C:\\Users\\Jarek\\Desktop\\camspot_rec\\rec2.ogg,no-overwrite}");
Process.Start("C://Program Files//VideoLAN//VLC//VLC.exe", "\"rtsp://" --qt-start-minimized --sout=#transcode{vcodec=theo,vb=800,acodec=flac,ab=128,channels=2,samplerate=44100}:file{dst=C:\\Users\\Jarek\\Desktop\\camspot_rec\\rec3.ogg,no-overwrite}");
Process.Start("C://Program Files//VideoLAN//VLC//VLC.exe", "\"rtsp://" --qt-start-minimized --sout=#transcode{vcodec=theo,vb=800,acodec=flac,ab=128,channels=2,samplerate=44100}:file{dst=C:\\Users\\Jarek\\Desktop\\camspot_rec\\rec4.ogg,no-overwrite}");
}
我想做这样的事情:
private void button1_Click(object sender, EventArgs e)
{
foreach(var process in Process.GetProcessesByName("vlc"))
{
process.Kill();
}
Process.Start("ffmpeg -i C:\\Users\\Jarek\\Desktop\\camspot_rec\\rec1.ogg -vcodec copy -acodec copy -ss 00:00:00 -t 0:00:05 C:\\Users\\Jarek\\Desktop\\camspot_rec\\rec5.avi");
}