2017-10-23 1 views
0

Ich versuche, 2 Videos, eins nach dem anderen mit AVFoundation-Framework zu concat. Wenn ich mit AVAssetExport exportiere, ist das Ergebnis gut! Wenn ich das Video mit HTML5 Video spiele, kann ich es auf Safari, Firefox aber nicht auf Google Chrome sehen. Nach einer tiefen Analyse fand ich heraus, dass die Ursache dafür das exportierte Video hat 2 Audiokanäle !!!! Infact, wenn ich Audio von Videos entferne funktioniert alles auch in Google Chrome.AVFoundation concat Videos und Audio

In meinem Code habe ich das Audio in der gleichen Spur, aber unterschiedliche Zeitbereiche:

asset1.tracks(withMediaType: AVMediaTypeAudio)[0].insertTimeRange(asset1.duration, asset1, start1) 
asset2.tracks(withMediaType: AVMediaTypeAudio)[0].insertTimeRange(asset2.duration, asset2, start2) 

Ich denke, das produzieren mich 2 separate Audiospuren statt einer, die auf Google Chrome sind nicht erlaubt. Unter diesem Link finden Sie das Video: http://www.livebomber.com/prova.php Wenn Sie es mit Safari öffnen oder Firefox funktioniert gut, aber mit Google Chorome wird ein Fehler angezeigt. Wie kann ich alle Audiospuren zusammenführen und exportieren? Vielen Dank

Antwort

0

Ich erlebte das gleiche Problem, während ich this Bibliothek verwende, um 3 Videos zu verschmelzen! 2 von ihnen stammten von derselben Ressource, aber die andere stammte von einer anderen Ressource mit unterschiedlichen Auflösungen und Einstellungen. Nachdem ich zwei Tage gegraben habe, habe ich herausgefunden, dass ich nur den Audiokanal des problematischen Videos in Mono konvertieren musste.

Ich weiß, es ist keine dauerhafte Lösung keinen Code verwenden, aber ich denke, es ist eine Idee, diejenigen gibt, der will, um es lösen Code :)

Hoffe, es hilft.

+0

Hallo, vielen Dank für die Hilfe. Ich werde das definitiv ausprobieren. Nur um Sie besser zu erklären, in meinem Fall habe ich 1 Video mp4 bei 48k Audio-Sample-Rate und einen anderen Mov bei 44,1k Audio-Sample-Rate von iOS-Kamera. Beide sind 480x640. Was ist der beste Weg, um Stereo in Mono zu konvertieren? –

+0

Hey Alessio, Audioeigenschaftenunterschiede innerhalb eines zusammengeführten Videoclips können ein großes Risiko für Wiedergabeprobleme darstellen. Ich habe Adobe Premiere zum Erstellen des Videos verwendet, das ich verwendet habe. Ein Open-Source-Kommandozeilenwerkzeug 'ffmpeg' könnte ebenfalls für die Konvertierung verwendet werden. Aber ich denke, der beste Weg wäre, alle diese Konvertierungen in der App mit AVFoundation zu behandeln, aber ich habe nicht genug Erfahrung damit, sorry:/ – scaryguy

+0

Vielen Dank !! Eine Lösung könnte sein, mit AVAssetWriter Frame für Frame neu zu encodieren .. aber ich habe es noch nicht versucht .. –

Verwandte Themen