Mp4 à HLS en utilisant ffmpeg
Je suis en train de convertir un local .mp4 vidéo HLS à l'aide de ffmpeg dans une application iOS. J'ai intégré le ffmpeg wrapper à l'aide de gousses et de générer de la segmentation .ts fichiers et le fichier m3u8, mais certains de la .fichier ts les segments ne sont pas répertoriés dans le .m3u8 fichier de liste de lecture comme indiqué ci-dessous. Il est toujours d'inscription les 5 derniers segments vidéo.
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-TARGETDURATION:2
#EXT-X-MEDIA-SEQUENCE:13
#EXTINF:2,
out13.ts
#EXTINF:1,
out14.ts
#EXTINF:2,
out15.ts
#EXTINF:2,
out16.ts
#EXTINF:1,
out17.ts
#EXT-X-ENDLIST
J'ai utilisé les codes suivants pour générer le HLS.
FFmpegWrapper *wrapper = [[FFmpegWrapper alloc] init];
[wrapper convertInputPath:inputFilePath outputPath:outputFilePath options:nil progressBlock:^(NSUInteger bytesRead, uint64_t totalBytesRead, uint64_t totalBytesExpectedToRead) {
} completionBlock:^(BOOL success, NSError *error) {
success?NSLog(@"Success...."):NSLog(@"Error : %@",error.localizedDescription);
}];
Est-il d'autres méthodes pour faire cela?
source d'informationauteur Vishnu Kumar. S
Vous devez vous connecter pour publier un commentaire.
Par défaut la taille de la liste lors de la conversion de HLS est de 5. Alors, vous avez trouvé les 5 dernières .les fichiers ts. Vous devez définir
-hls_list_size 0
pour inclure tous les générées .les fichiers ts.ffmpeg -i input.mp4 -profile:v baseline -level 3.0 -s 640x360 -start_number 0 -hls_time 10 -hls_list_size 0 -f hls index.m3u8
Plus iciEnfin j'ai résolu ce problème en définissant le hls de taille dans le
FFOutputFile.m
en utilisant le code suivant.