2016-07-14 15 views
0

Ich habe 2 .webm Dateien, eine enthält Video, die andere Audio. Ich muss eine einzelne mp4-Datei produzieren, die sowohl Video als auch Audio synchron enthält. Hier ist, was ich zu tun versuchen:ffmpeg Audio und Video nicht synchron, wenn das Rohformat

ffmpeg -ss 00:00:00.33 -i user_17624_1-1762.webm -i user_17624_2-1767.webm -r 15 output_good.mp4 

-ss von 0.33s ist, weil Video 0.33s vor Audio gestartet - 1762 und 1767 sind Rahmennummern, so dass sie 5 Frames ab, und 15 fps.

Dadurch bekomme ich eine perfekte Aufnahme, wo Video und Audio über die gesamte Datei synchronisiert sind.

Aber die Sache ist, ich muss einige Änderungen der Videoframes tun, und ich tue es meine eine C-App manipulieren die Bytes in einem rohen Video-Stream, so kann ich es nicht so tun, ich muss transcodiere zuerst zu RAW, dann manipuliere, dann kodiere mp4 zurück von der rohen. Entfernen meines C-App von der Kette sicherstellen, dass es nicht das Problem ist, kocht es auf:

ffmpeg -ss 00:00:00.33 -i user_17624_1-1762.webm -an -r 15 -f rawvideo -pix_fmt yuv420p -s 1920x1080 ./video.pipe & 
ffmpeg -i user_17624_2-1767.webm -vn -ar 44100 -ac 2 -f s16le -acodec pcm_s16le ./audio.pipe & 
ffmpeg -an -r 15 -f rawvideo -pix_fmt yuv420p -s 1920x1080 -i ./video.pipe -vn -ar 44100 -ac 2 -f s16le -acodec pcm_s16le -i ./audio.pipe -r 15 output_bad.mp4 

in ja ergab, Aufnahme, bei der Audio- und Video-Weise weg voneinander, und scheint auch über schwanken zu sein die Dateidauer

Was mache ich falsch mit diesen Video-Transcodierungen? Helfen Sie mir bitte :)

Mikhail

+0

Natürlich, ich als erstes versucht, ist diese, webm Dateien in mp4s zu konvertieren und sie dann verwenden für die Umwandlung in die roh ... das hat nicht geholfen. Sogar mit -g 1. –

Antwort

0

Antwort einfach sein bewiesen, -async 10000