A Swift wrapper for the FFmpeg API

Overview

SwiftFFmpeg

A Swift wrapper for the FFmpeg API.

Note: SwiftFFmpeg is still in development, and the API is not guaranteed to be stable. It's subject to change without warning.

Installation

You should install FFmpeg (Requires FFmpeg 4.0 or higher) before use this library, on macOS, you can:

brew install ffmpeg

Swift Package Manager

SwiftFFmpeg primarily uses SwiftPM as its build tool, so we recommend using that as well. If you want to depend on SwiftFFmpeg in your own project, it's as simple as adding a dependencies clause to your Package.swift:

dependencies: [
    .package(url: "https://github.com/sunlubo/SwiftFFmpeg.git", from: "1.0.0")
]

Documentation

Usage

import Foundation
import SwiftFFmpeg

if CommandLine.argc < 2 {
    print("Usage: \(CommandLine.arguments[0]) <input file>")
    exit(1)
}
let input = CommandLine.arguments[1]

let fmtCtx = try AVFormatContext(url: input)
try fmtCtx.findStreamInfo()

fmtCtx.dumpFormat(isOutput: false)

guard let stream = fmtCtx.videoStream else {
    fatalError("No video stream.")
}
guard let codec = AVCodec.findDecoderById(stream.codecParameters.codecId) else {
    fatalError("Codec not found.")
}
let codecCtx = AVCodecContext(codec: codec)
codecCtx.setParameters(stream.codecParameters)
try codecCtx.openCodec()

let pkt = AVPacket()
let frame = AVFrame()

while let _ = try? fmtCtx.readFrame(into: pkt) {
    defer { pkt.unref() }

    if pkt.streamIndex != stream.index {
        continue
    }

    try codecCtx.sendPacket(pkt)

    while true {
        do {
            try codecCtx.receiveFrame(frame)
        } catch let err as AVError where err == .tryAgain || err == .eof {
            break
        }

        let str = String(
            format: "Frame %3d (type=%@, size=%5d bytes) pts %4lld key_frame %d",
            codecCtx.frameNumber,
            frame.pictureType.description,
            frame.pktSize,
            frame.pts,
            frame.isKeyFrame
        )
        print(str)

        frame.unref()
    }
}

print("Done.")
Comments
  • Sample code,

    Sample code, "Invalid data found when processing input" and av_register_all

    Hello,

    I am now trying SwiftFFmpeg as a replacement for VLCkit. I am at the very beginning of the integration, so I just integrated the sample code from README.md. It gave me an "Invalid data found when processing input" error on the very first line (try AVFormatContext(url: input)), for any video file (correctly played with ffplay). After some difficult research, if found this tutorial : http://dranger.com/ffmpeg/tutorial01.html, which gave me the solution : av_register_all() should be called before any operation. So I made this :

    import CFFmpeg
    class FfmpegUtils
    {
        static func registerAll()
        {av_register_all()}
    }
    

    and then

    //...
    FfmpegUtils.registerAll()
    let fmtCtx = try AVFormatContext(url: url.relativePath)
    //...
    

    which makes the sample code work.

    However, av_register_all() triggers a deprecation warning, as FF_API_NEXT is defined : In avformat.h :

    #if FF_API_NEXT
    /**
     * Initialize libavformat and register all the muxers, demuxers and
     * protocols. If you do not call this function, then you can select
     * exactly which formats you want to support.
     *
     * @see av_register_input_format()
     * @see av_register_output_format()
     */
    attribute_deprecated
    void av_register_all(void);
    
    attribute_deprecated
    void av_register_input_format(AVInputFormat *format);
    attribute_deprecated
    void av_register_output_format(AVOutputFormat *format);
    #endif
    

    What is the correct way to do this ? Should the sample code or the lib be corrected to work right away ?

    opened by PetrusM 18
  • Foundation.Data from AVFrame’s `data` property

    Foundation.Data from AVFrame’s `data` property

    Im not great at pointer syntax, how can I convert an AVFrame instance data into Swift Foundation Data

    (End goal is to convert a Bink Video to an AVPlayer playable item, Im trying each AVFrame => Data => CIImage => CVPixelBuffer => append to AVAssetWriteeInput (AVAssetWriterInputPixelBufferAdaptor))

    opened by Sajjon 10
  • When building for Mac, can't find auto-linked libraries?

    When building for Mac, can't find auto-linked libraries?

    Using brew install ffmpeg, ffmpeg is running fine on my Mac,

    $ ls -l /usr/local/bin/ | grep ffm -rwxr-xr-x 1 jpm admin 20686092 Dec 16 13:31 ffmpeg

    However when I swift build:

    $ swift build Linking ./.build/x86_64-apple-macosx10.10/debug/SwiftFFmpegDemo ld: warning: Could not find auto-linked library 'swresample' ld: warning: Could not find auto-linked library 'avutil' ld: warning: Could not find auto-linked library 'avfilter' ld: warning: Could not find auto-linked library 'avcodec' ld: warning: Could not find auto-linked library 'avformat' ld: warning: Could not find auto-linked library 'swscale' Undefined symbols for architecture x86_64: "_av_buffer_alloc", referenced from: _$S11SwiftFFmpeg8AVBufferC4sizeACSgSi_tcfc in AVBuffer.swift.o (and many Undefined symbols errors like that)

    What to do?? thanks!

    opened by smhk 10
  • Muxing a chapter metadata file

    Muxing a chapter metadata file

    I'm new to using SwiftFFmpeg and I'm having trouble translating the basic FFmpeg terminal commands for use with SwiftFFMpeg.

    What I need to do is very basic and straightforward. Following this process, I want to create chapter metadata, formatted like so:

    ;FFMETADATA1
    title=MyVideo
    
    [CHAPTER]
    TIMEBASE=1/1000
    START=0
    #chapter ends at 00:30
    END=30000
    title=Chapter 1
    
    [STREAM]
    title=MyVideo
    

    and then mux it into a file using these command-line arguments:

    ffmpeg -i MyVideo.mp4 -i metadata -map_metadata 1 MyVideo_1.mp4

    How would I accomplish that?

    opened by NCrusher74 5
  • No such module 'SwiftFFmpeg' in Xcode 11.5 on Catalina (works in Xcode 11.3.1 on Mojave)

    No such module 'SwiftFFmpeg' in Xcode 11.5 on Catalina (works in Xcode 11.3.1 on Mojave)

    Hello, I have your package imported into my Xcode v11.5 on macOS Catalina using the git repo URL. It shows up properly under "Swift Package Dependencies" in the navigation pane and also under Project settings, but refuses to resolve the dependency so I always get "No such module 'SwiftFFmpeg'". This behavior is only in Xcode v11.5 on macOS Catalina.

    It works perfectly fine in Xcode v11.3.1 on macOS Mojave.

    Any ideas why ? I would appreciate some help with this because I really am clueless. I have tried removing/re-adding the package many times, cleaning, re-building, deleting DerivedData folder, etc. Just cannot get it to work.

    Thank you.

    opened by kartik-venugopal 4
  • About 8 fps compared to 60 fps using C ...

    About 8 fps compared to 60 fps using C ...

    We made a simple C program - including ffmpegapi library - for the iPhone.

    All it does is open a local .ts file, and demux/decode it. So just ..

        res = avformat_open_input(&fmtCtx, filename, NULL, NULL);
        ...
        while (av_read_frame(fmtCtx, pkt) >= 0) {
              res = avcodec_send_packet(codecCtxZERO, pkt);
              ree_frame(codecCtxZERO, frameLeft);
             ... etc
    

    On any iPhone this consistently spits out 60 fps.

    But if I use SwiftFFmpeg ...

    • On an iPhone 6S I get 20 .. 35 fps

    • oddly on a brand new XR i get 8 fps (eight)

    I am only decoding and doing nothing else.

    This seems strange,

    1. anyone else see this?

    2. what could possibly cause it??

    NOTE even the 60 or so, with the C codebase, is very slow. There is no reason for it to be so slow.

    opened by smhk 4
  • Release builds failed - Linker: duplicate symbols

    Release builds failed - Linker: duplicate symbols

    Release builds fails with a very long message with duplicate symbols linker error:

        duplicate symbol '_swift_AVERROR_HTTP_OTHER_4XX' in:
            /Users/mac/Library/Developer/Xcode/DerivedData/Runner-eniuobhkhfvztqaaoiwbkeirvrwt/Build/Intermediates.noindex/SwiftFFmpeg.build/Release/SwiftFFmpeg.build/Objects-normal/x86_64/AVBitStreamFilter.o
            /Users/mac/Library/Developer/Xcode/DerivedData/Runner-eniuobhkhfvztqaaoiwbkeirvrwt/Build/Intermediates.noindex/SwiftFFmpeg.build/Release/SwiftFFmpeg.build/Objects-normal/x86_64/AVError.o
        duplicate symbol '_swift_AVERROR_HTTP_BAD_REQUEST' in:
            /Users/mac/Library/Developer/Xcode/DerivedData/Runner-eniuobhkhfvztqaaoiwbkeirvrwt/Build/Intermediates.noindex/SwiftFFmpeg.build/Release/SwiftFFmpeg.build/Objects-normal/x86_64/AVBitStreamFilter.o
            /Users/mac/Library/Developer/Xcode/DerivedData/Runner-eniuobhkhfvztqaaoiwbkeirvrwt/Build/Intermediates.noindex/SwiftFFmpeg.build/Release/SwiftFFmpeg.build/Objects-normal/x86_64/AVError.o
        duplicate symbol '_swift_AVERROR_EXIT' in:
            /Users/mac/Library/Developer/Xcode/DerivedData/Runner-eniuobhkhfvztqaaoiwbkeirvrwt/Build/Intermediates.noindex/SwiftFFmpeg.build/Release/SwiftFFmpeg.build/Objects-normal/x86_64/AVBitStreamFilter.o
            /Users/mac/Library/Developer/Xcode/DerivedData/Runner-eniuobhkhfvztqaaoiwbkeirvrwt/Build/Intermediates.noindex/SwiftFFmpeg.build/Release/SwiftFFmpeg.build/Objects-normal/x86_64/AVError.o
        duplicate symbol '_swift_AVERROR_HTTP_SERVER_ERROR' in:
            /Users/mac/Library/Developer/Xcode/DerivedData/Runner-eniuobhkhfvztqaaoiwbkeirvrwt/Build/Intermediates.noindex/SwiftFFmpeg.build/Release/SwiftFFmpeg.build/Objects-normal/x86_64/AVBitStreamFilter.o
            /Users/mac/Library/Developer/Xcode/DerivedData/Runner-eniuobhkhfvztqaaoiwbkeirvrwt/Build/Intermediates.noindex/SwiftFFmpeg.build/Release/SwiftFFmpeg.build/Objects-normal/x86_64/AVError.o
        duplicate symbol '_swift_AVERROR_UNKNOWN' in:
            /Users/mac/Library/Developer/Xcode/DerivedData/Runner-eniuobhkhfvztqaaoiwbkeirvrwt/Build/Intermediates.noindex/SwiftFFmpeg.build/Release/SwiftFFmpeg.build/Objects-normal/x86_64/AVBitStreamFilter.o
            /Users/mac/Library/Developer/Xcode/DerivedData/Runner-eniuobhkhfvztqaaoiwbkeirvrwt/Build/Intermediates.noindex/SwiftFFmpeg.build/Release/SwiftFFmpeg.build/Objects-normal/x86_64/AVError.o
        duplicate symbol '_swift_AVERROR_HTTP_FORBIDDEN' in:
            /Users/mac/Library/Developer/Xcode/DerivedData/Runner-eniuobhkhfvztqaaoiwbkeirvrwt/Build/Intermediates.noindex/SwiftFFmpeg.build/Release/SwiftFFmpeg.build/Objects-normal/x86_64/AVBitStreamFilter.o
            /Users/mac/Library/Developer/Xcode/DerivedData/Runner-eniuobhkhfvztqaaoiwbkeirvrwt/Build/Intermediates.noindex/SwiftFFmpeg.build/Release/SwiftFFmpeg.build/Objects-normal/x86_64/AVError.o
        duplicate symbol '_swift_AVERROR_BUFFER_TOO_SMALL' in:
            /Users/mac/Library/Developer/Xcode/DerivedData/Runner-eniuobhkhfvztqaaoiwbkeirvrwt/Build/Intermediates.noindex/SwiftFFmpeg.build/Release/SwiftFFmpeg.build/Objects-normal/x86_64/AVBitStreamFilter.o
            /Users/mac/Library/Developer/Xcode/DerivedData/Runner-eniuobhkhfvztqaaoiwbkeirvrwt/Build/Intermediates.noindex/SwiftFFmpeg.build/Release/SwiftFFmpeg.build/Objects-normal/x86_64/AVError.o
        duplicate symbol '_swift_AVERROR_EXPERIMENTAL' in:
            /Users/mac/Library/Developer/Xcode/DerivedData/Runner-eniuobhkhfvztqaaoiwbkeirvrwt/Build/Intermediates.noindex/SwiftFFmpeg.build/Release/SwiftFFmpeg.build/Objects-normal/x86_64/AVBitStreamFilter.o
            /Users/mac/Library/Developer/Xcode/DerivedData/Runner-eniuobhkhfvztqaaoiwbkeirvrwt/Build/Intermediates.noindex/SwiftFFmpeg.build/Release/SwiftFFmpeg.build/Objects-normal/x86_64/AVError.o
        duplicate symbol '_swift_AVERROR_EXTERNAL' in:
            /Users/mac/Library/Developer/Xcode/DerivedData/Runner-eniuobhkhfvztqaaoiwbkeirvrwt/Build/Intermediates.noindex/SwiftFFmpeg.build/Release/SwiftFFmpeg.build/Objects-normal/x86_64/AVBitStreamFilter.o
            /Users/mac/Library/Developer/Xcode/DerivedData/Runner-eniuobhkhfvztqaaoiwbkeirvrwt/Build/Intermediates.noindex/SwiftFFmpeg.build/Release/SwiftFFmpeg.build/Objects-normal/x86_64/AVError.o
        duplicate symbol '_swift_AVERROR_BUG' in:
            /Users/mac/Library/Developer/Xcode/DerivedData/Runner-eniuobhkhfvztqaaoiwbkeirvrwt/Build/Intermediates.noindex/SwiftFFmpeg.build/Release/SwiftFFmpeg.build/Objects-normal/x86_64/AVBitStreamFilter.o
            /Users/mac/Library/Developer/Xcode/DerivedData/Runner-eniuobhkhfvztqaaoiwbkeirvrwt/Build/Intermediates.noindex/SwiftFFmpeg.build/Release/SwiftFFmpeg.build/Objects-normal/x86_64/AVError.o
        duplicate symbol '_swift_AVERROR_EOF' in:
            /Users/mac/Library/Developer/Xcode/DerivedData/Runner-eniuobhkhfvztqaaoiwbkeirvrwt/Build/Intermediates.noindex/SwiftFFmpeg.build/Release/SwiftFFmpeg.build/Objects-normal/x86_64/AVBitStreamFilter.o
            /Users/mac/Library/Developer/Xcode/DerivedData/Runner-eniuobhkhfvztqaaoiwbkeirvrwt/Build/Intermediates.noindex/SwiftFFmpeg.build/Release/SwiftFFmpeg.build/Objects-normal/x86_64/AVError.o
        duplicate symbol '_swift_AVERROR_PATCHWELCOME' in:
            /Users/mac/Library/Developer/Xcode/DerivedData/Runner-eniuobhkhfvztqaaoiwbkeirvrwt/Build/Intermediates.noindex/SwiftFFmpeg.build/Release/SwiftFFmpeg.build/Objects-normal/x86_64/AVBitStreamFilter.o
            /Users/mac/Library/Developer/Xcode/DerivedData/Runner-eniuobhkhfvztqaaoiwbkeirvrwt/Build/Intermediates.noindex/SwiftFFmpeg.build/Release/SwiftFFmpeg.build/Objects-normal/x86_64/AVError.o
        duplicate symbol '_swift_AVERROR_MUXER_NOT_FOUND' in:
            /Users/mac/Library/Developer/Xcode/DerivedData/Runner-eniuobhkhfvztqaaoiwbkeirvrwt/Build/Intermediates.noindex/SwiftFFmpeg.build/Release/SwiftFFmpeg.build/Objects-normal/x86_64/AVBitStreamFilter.o
            /Users/mac/Library/Developer/Xcode/DerivedData/Runner-eniuobhkhfvztqaaoiwbkeirvrwt/Build/Intermediates.noindex/SwiftFFmpeg.build/Release/SwiftFFmpeg.build/Objects-normal/x86_64/AVError.o
        duplicate symbol '_swift_AVERROR_DEMUXER_NOT_FOUND' in:
            /Users/mac/Library/Developer/Xcode/DerivedData/Runner-eniuobhkhfvztqaaoiwbkeirvrwt/Build/Intermediates.noindex/SwiftFFmpeg.build/Release/SwiftFFmpeg.build/Objects-normal/x86_64/AVBitStreamFilter.o
            /Users/mac/Library/Developer/Xcode/DerivedData/Runner-eniuobhkhfvztqaaoiwbkeirvrwt/Build/Intermediates.noindex/SwiftFFmpeg.build/Release/SwiftFFmpeg.build/Objects-normal/x86_64/AVError.o
        duplicate symbol '_swift_AVERROR_FILTER_NOT_FOUND' in:
            /Users/mac/Library/Developer/Xcode/DerivedData/Runner-eniuobhkhfvztqaaoiwbkeirvrwt/Build/Intermediates.noindex/SwiftFFmpeg.build/Release/SwiftFFmpeg.build/Objects-normal/x86_64/AVBitStreamFilter.o
            /Users/mac/Library/Developer/Xcode/DerivedData/Runner-eniuobhkhfvztqaaoiwbkeirvrwt/Build/Intermediates.noindex/SwiftFFmpeg.build/Release/SwiftFFmpeg.build/Objects-normal/x86_64/AVError.o
        duplicate symbol '_swift_AVERROR_ENCODER_NOT_FOUND' in:
            /Users/mac/Library/Developer/Xcode/DerivedData/Runner-eniuobhkhfvztqaaoiwbkeirvrwt/Build/Intermediates.noindex/SwiftFFmpeg.build/Release/SwiftFFmpeg.build/Objects-normal/x86_64/AVBitStreamFilter.o
            /Users/mac/Library/Developer/Xcode/DerivedData/Runner-eniuobhkhfvztqaaoiwbkeirvrwt/Build/Intermediates.noindex/SwiftFFmpeg.build/Release/SwiftFFmpeg.build/Objects-normal/x86_64/AVError.o
        duplicate symbol '_swift_AVERROR_DECODER_NOT_FOUND' in:
            /Users/mac/Library/Developer/Xcode/DerivedData/Runner-eniuobhkhfvztqaaoiwbkeirvrwt/Build/Intermediates.noindex/SwiftFFmpeg.build/Release/SwiftFFmpeg.build/Objects-normal/x86_64/AVBitStreamFilter.o
            /Users/mac/Library/Developer/Xcode/DerivedData/Runner-eniuobhkhfvztqaaoiwbkeirvrwt/Build/Intermediates.noindex/SwiftFFmpeg.build/Release/SwiftFFmpeg.build/Objects-normal/x86_64/AVError.o
        duplicate symbol '_swift_AVERROR_HTTP_NOT_FOUND' in:
            /Users/mac/Library/Developer/Xcode/DerivedData/Runner-eniuobhkhfvztqaaoiwbkeirvrwt/Build/Intermediates.noindex/SwiftFFmpeg.build/Release/SwiftFFmpeg.build/Objects-normal/x86_64/AVBitStreamFilter.o
            /Users/mac/Library/Developer/Xcode/DerivedData/Runner-eniuobhkhfvztqaaoiwbkeirvrwt/Build/Intermediates.noindex/SwiftFFmpeg.build/Release/SwiftFFmpeg.build/Objects-normal/x86_64/AVError.o
        duplicate symbol '_swift_AVERROR_OPTION_NOT_FOUND' in:
            /Users/mac/Library/Developer/Xcode/DerivedData/Runner-eniuobhkhfvztqaaoiwbkeirvrwt/Build/Intermediates.noindex/SwiftFFmpeg.build/Release/SwiftFFmpeg.build/Objects-normal/x86_64/AVBitStreamFilter.o
            /Users/mac/Library/Developer/Xcode/DerivedData/Runner-eniuobhkhfvztqaaoiwbkeirvrwt/Build/Intermediates.noindex/SwiftFFmpeg.build/Release/SwiftFFmpeg.build/Objects-normal/x86_64/AVError.o
        duplicate symbol '_swift_AVERROR_STREAM_NOT_FOUND' in:
            /Users/mac/Library/Developer/Xcode/DerivedData/Runner-eniuobhkhfvztqaaoiwbkeirvrwt/Build/Intermediates.noindex/SwiftFFmpeg.build/Release/SwiftFFmpeg.build/Objects-normal/x86_64/AVBitStreamFilter.o
            /Users/mac/Library/Developer/Xcode/DerivedData/Runner-eniuobhkhfvztqaaoiwbkeirvrwt/Build/Intermediates.noindex/SwiftFFmpeg.build/Release/SwiftFFmpeg.build/Objects-normal/x86_64/AVError.o
        duplicate symbol '_swift_AVERROR_PROTOCOL_NOT_FOUND' in:
            /Users/mac/Library/Developer/Xcode/DerivedData/Runner-eniuobhkhfvztqaaoiwbkeirvrwt/Build/Intermediates.noindex/SwiftFFmpeg.build/Release/SwiftFFmpeg.build/Objects-normal/x86_64/AVBitStreamFilter.o
            /Users/mac/Library/Developer/Xcode/DerivedData/Runner-eniuobhkhfvztqaaoiwbkeirvrwt/Build/Intermediates.noindex/SwiftFFmpeg.build/Release/SwiftFFmpeg.build/Objects-normal/x86_64/AVError.o
        duplicate symbol '_swift_AVERROR_BSF_NOT_FOUND' in:
            /Users/mac/Library/Developer/Xcode/DerivedData/Runner-eniuobhkhfvztqaaoiwbkeirvrwt/Build/Intermediates.noindex/SwiftFFmpeg.build/Release/SwiftFFmpeg.build/Objects-normal/x86_64/AVBitStreamFilter.o
            /Users/mac/Library/Developer/Xcode/DerivedData/Runner-eniuobhkhfvztqaaoiwbkeirvrwt/Build/Intermediates.noindex/SwiftFFmpeg.build/Release/SwiftFFmpeg.build/Objects-normal/x86_64/AVError.o
        duplicate symbol '_swift_AVERROR_HTTP_UNAUTHORIZED' in:
            /Users/mac/Library/Developer/Xcode/DerivedData/Runner-eniuobhkhfvztqaaoiwbkeirvrwt/Build/Intermediates.noindex/SwiftFFmpeg.build/Release/SwiftFFmpeg.build/Objects-normal/x86_64/AVBitStreamFilter.o
            /Users/mac/Library/Developer/Xcode/DerivedData/Runner-eniuobhkhfvztqaaoiwbkeirvrwt/Build/Intermediates.noindex/SwiftFFmpeg.build/Release/SwiftFFmpeg.build/Objects-normal/x86_64/AVError.o
        duplicate symbol '_swift_AVERROR_OUTPUT_CHANGED' in:
            /Users/mac/Library/Developer/Xcode/DerivedData/Runner-eniuobhkhfvztqaaoiwbkeirvrwt/Build/Intermediates.noindex/SwiftFFmpeg.build/Release/SwiftFFmpeg.build/Objects-normal/x86_64/AVBitStreamFilter.o
            /Users/mac/Library/Developer/Xcode/DerivedData/Runner-eniuobhkhfvztqaaoiwbkeirvrwt/Build/Intermediates.noindex/SwiftFFmpeg.build/Release/SwiftFFmpeg.build/Objects-normal/x86_64/AVError.o
        duplicate symbol '_swift_AVERROR_INPUT_CHANGED' in:
            /Users/mac/Library/Developer/Xcode/DerivedData/Runner-eniuobhkhfvztqaaoiwbkeirvrwt/Build/Intermediates.noindex/SwiftFFmpeg.build/Release/SwiftFFmpeg.build/Objects-normal/x86_64/AVBitStreamFilter.o
            /Users/mac/Library/Developer/Xcode/DerivedData/Runner-eniuobhkhfvztqaaoiwbkeirvrwt/Build/Intermediates.noindex/SwiftFFmpeg.build/Release/SwiftFFmpeg.build/Objects-normal/x86_64/AVError.o
        duplicate symbol '_swift_AVERROR_INVALIDDATA' in:
            /Users/mac/Library/Developer/Xcode/DerivedData/Runner-eniuobhkhfvztqaaoiwbkeirvrwt/Build/Intermediates.noindex/SwiftFFmpeg.build/Release/SwiftFFmpeg.build/Objects-normal/x86_64/AVBitStreamFilter.o
            /Users/mac/Library/Developer/Xcode/DerivedData/Runner-eniuobhkhfvztqaaoiwbkeirvrwt/Build/Intermediates.noindex/SwiftFFmpeg.build/Release/SwiftFFmpeg.build/Objects-normal/x86_64/AVError.o
        duplicate symbol '_swift_AVERROR_BUG2' in:
            /Users/mac/Library/Developer/Xcode/DerivedData/Runner-eniuobhkhfvztqaaoiwbkeirvrwt/Build/Intermediates.noindex/SwiftFFmpeg.build/Release/SwiftFFmpeg.build/Objects-normal/x86_64/AVBitStreamFilter.o
            /Users/mac/Library/Developer/Xcode/DerivedData/Runner-eniuobhkhfvztqaaoiwbkeirvrwt/Build/Intermediates.noindex/SwiftFFmpeg.build/Release/SwiftFFmpeg.build/Objects-normal/x86_64/AVError.o
        duplicate symbol '_swift_AV_CH_LAYOUT_STEREO_DOWNMIX' in:
            /Users/mac/Library/Developer/Xcode/DerivedData/Runner-eniuobhkhfvztqaaoiwbkeirvrwt/Build/Intermediates.noindex/SwiftFFmpeg.build/Release/SwiftFFmpeg.build/Objects-normal/x86_64/AVBitStreamFilter.o
            /Users/mac/Library/Developer/Xcode/DerivedData/Runner-eniuobhkhfvztqaaoiwbkeirvrwt/Build/Intermediates.noindex/SwiftFFmpeg.build/Release/SwiftFFmpeg.build/Objects-normal/x86_64/AudioUtil.o
        duplicate symbol '_swift_AV_CH_LAYOUT_6POINT1_FRONT' in:
            /Users/mac/Library/Developer/Xcode/DerivedData/Runner-eniuobhkhfvztqaaoiwbkeirvrwt/Build/Intermediates.noindex/SwiftFFmpeg.build/Release/SwiftFFmpeg.build/Objects-normal/x86_64/AVBitStreamFilter.o
            /Users/mac/Library/Developer/Xcode/DerivedData/Runner-eniuobhkhfvztqaaoiwbkeirvrwt/Build/Intermediates.noindex/SwiftFFmpeg.build/Release/SwiftFFmpeg.build/Objects-normal/x86_64/AudioUtil.o
        duplicate symbol '_swift_AV_CH_LAYOUT_7POINT0_FRONT' in:
            /Users/mac/Library/Developer/Xcode/DerivedData/Runner-eniuobhkhfvztqaaoiwbkeirvrwt/Build/Intermediates.noindex/SwiftFFmpeg.build/Release/SwiftFFmpeg.build/Objects-normal/x86_64/AVBitStreamFilter.o
            /Users/mac/Library/Developer/Xcode/DerivedData/Runner-eniuobhkhfvztqaaoiwbkeirvrwt/Build/Intermediates.noindex/SwiftFFmpeg.build/Release/SwiftFFmpeg.build/Objects-normal/x86_64/AudioUtil.o
        duplicate symbol '_swift_AV_CH_LAYOUT_6POINT0_FRONT' in:
            /Users/mac/Library/Developer/Xcode/DerivedData/Runner-eniuobhkhfvztqaaoiwbkeirvrwt/Build/Intermediates.noindex/SwiftFFmpeg.build/Release/SwiftFFmpeg.build/Objects-normal/x86_64/AVBitStreamFilter.o
            /Users/mac/Library/Developer/Xcode/DerivedData/Runner-eniuobhkhfvztqaaoiwbkeirvrwt/Build/Intermediates.noindex/SwiftFFmpeg.build/Release/SwiftFFmpeg.build/Objects-normal/x86_64/AudioUtil.o
        duplicate symbol '_swift_AV_CH_LAYOUT_MONO' in:
            /Users/mac/Library/Developer/Xcode/DerivedData/Runner-eniuobhkhfvztqaaoiwbkeirvrwt/Build/Intermediates.noindex/SwiftFFmpeg.build/Release/SwiftFFmpeg.build/Objects-normal/x86_64/AVBitStreamFilter.o
            /Users/mac/Library/Developer/Xcode/DerivedData/Runner-eniuobhkhfvztqaaoiwbkeirvrwt/Build/Intermediates.noindex/SwiftFFmpeg.build/Release/SwiftFFmpeg.build/Objects-normal/x86_64/AudioUtil.o
        duplicate symbol '_swift_AV_CH_LAYOUT_STEREO' in:
            /Users/mac/Library/Developer/Xcode/DerivedData/Runner-eniuobhkhfvztqaaoiwbkeirvrwt/Build/Intermediates.noindex/SwiftFFmpeg.build/Release/SwiftFFmpeg.build/Objects-normal/x86_64/AVBitStreamFilter.o
            /Users/mac/Library/Developer/Xcode/DerivedData/Runner-eniuobhkhfvztqaaoiwbkeirvrwt/Build/Intermediates.noindex/SwiftFFmpeg.build/Release/SwiftFFmpeg.build/Objects-normal/x86_64/AudioUtil.o
        duplicate symbol '_swift_AV_CH_LAYOUT_HEXAGONAL' in:
            /Users/mac/Library/Developer/Xcode/DerivedData/Runner-eniuobhkhfvztqaaoiwbkeirvrwt/Build/Intermediates.noindex/SwiftFFmpeg.build/Release/SwiftFFmpeg.build/Objects-normal/x86_64/AVBitStreamFilter.o
            /Users/mac/Library/Developer/Xcode/DerivedData/Runner-eniuobhkhfvztqaaoiwbkeirvrwt/Build/Intermediates.noindex/SwiftFFmpeg.build/Release/SwiftFFmpeg.build/Objects-normal/x86_64/AudioUtil.o
        duplicate symbol '_swift_AV_CH_LAYOUT_OCTAGONAL' in:
            /Users/mac/Library/Developer/Xcode/DerivedData/Runner-eniuobhkhfvztqaaoiwbkeirvrwt/Build/Intermediates.noindex/SwiftFFmpeg.build/Release/SwiftFFmpeg.build/Objects-normal/x86_64/AVBitStreamFilter.o
            /Users/mac/Library/Developer/Xcode/DerivedData/Runner-eniuobhkhfvztqaaoiwbkeirvrwt/Build/Intermediates.noindex/SwiftFFmpeg.build/Release/SwiftFFmpeg.build/Objects-normal/x86_64/AudioUtil.o
        duplicate symbol '_swift_AV_CH_LAYOUT_HEXADECAGONAL' in:
            /Users/mac/Library/Developer/Xcode/DerivedData/Runner-eniuobhkhfvztqaaoiwbkeirvrwt/Build/Intermediates.noindex/SwiftFFmpeg.build/Release/SwiftFFmpeg.build/Objects-normal/x86_64/AVBitStreamFilter.o
            /Users/mac/Library/Developer/Xcode/DerivedData/Runner-eniuobhkhfvztqaaoiwbkeirvrwt/Build/Intermediates.noindex/SwiftFFmpeg.build/Release/SwiftFFmpeg.build/Objects-normal/x86_64/AudioUtil.o
        duplicate symbol '_swift_AV_CH_LAYOUT_7POINT1_WIDE_BACK' in:
            /Users/mac/Library/Developer/Xcode/DerivedData/Runner-eniuobhkhfvztqaaoiwbkeirvrwt/Build/Intermediates.noindex/SwiftFFmpeg.build/Release/SwiftFFmpeg.build/Objects-normal/x86_64/AVBitStreamFilter.o
            /Users/mac/Library/Developer/Xcode/DerivedData/Runner-eniuobhkhfvztqaaoiwbkeirvrwt/Build/Intermediates.noindex/SwiftFFmpeg.build/Release/SwiftFFmpeg.build/Objects-normal/x86_64/AudioUtil.o
        duplicate symbol '_swift_AV_CH_LAYOUT_6POINT1_BACK' in:
            /Users/mac/Library/Developer/Xcode/DerivedData/Runner-eniuobhkhfvztqaaoiwbkeirvrwt/Build/Intermediates.noindex/SwiftFFmpeg.build/Release/SwiftFFmpeg.build/Objects-normal/x86_64/AVBitStreamFilter.o
            /Users/mac/Library/Developer/Xcode/DerivedData/Runner-eniuobhkhfvztqaaoiwbkeirvrwt/Build/Intermediates.noindex/SwiftFFmpeg.build/Release/SwiftFFmpeg.build/Objects-normal/x86_64/AudioUtil.o
        duplicate symbol '_swift_AV_CH_LAYOUT_5POINT1_BACK' in:
            /Users/mac/Library/Developer/Xcode/DerivedData/Runner-eniuobhkhfvztqaaoiwbkeirvrwt/Build/Intermediates.noindex/SwiftFFmpeg.build/Release/SwiftFFmpeg.build/Objects-normal/x86_64/AVBitStreamFilter.o
            /Users/mac/Library/Developer/Xcode/DerivedData/Runner-eniuobhkhfvztqaaoiwbkeirvrwt/Build/Intermediates.noindex/SwiftFFmpeg.build/Release/SwiftFFmpeg.build/Objects-normal/x86_64/AudioUtil.o
        duplicate symbol '_swift_AV_CH_LAYOUT_5POINT0_BACK' in:
            /Users/mac/Library/Developer/Xcode/DerivedData/Runner-eniuobhkhfvztqaaoiwbkeirvrwt/Build/Intermediates.noindex/SwiftFFmpeg.build/Release/SwiftFFmpeg.build/Objects-normal/x86_64/AVBitStreamFilter.o
            /Users/mac/Library/Developer/Xcode/DerivedData/Runner-eniuobhkhfvztqaaoiwbkeirvrwt/Build/Intermediates.noindex/SwiftFFmpeg.build/Release/SwiftFFmpeg.build/Objects-normal/x86_64/AudioUtil.o
        duplicate symbol '_swift_AV_CH_LAYOUT_NATIVE' in:
            /Users/mac/Library/Developer/Xcode/DerivedData/Runner-eniuobhkhfvztqaaoiwbkeirvrwt/Build/Intermediates.noindex/SwiftFFmpeg.build/Release/SwiftFFmpeg.build/Objects-normal/x86_64/AVBitStreamFilter.o
            /Users/mac/Library/Developer/Xcode/DerivedData/Runner-eniuobhkhfvztqaaoiwbkeirvrwt/Build/Intermediates.noindex/SwiftFFmpeg.build/Release/SwiftFFmpeg.build/Objects-normal/x86_64/AudioUtil.o
        duplicate symbol '_swift_AV_CH_LAYOUT_7POINT1_WIDE' in:
            /Users/mac/Library/Developer/Xcode/DerivedData/Runner-eniuobhkhfvztqaaoiwbkeirvrwt/Build/Intermediates.noindex/SwiftFFmpeg.build/Release/SwiftFFmpeg.build/Objects-normal/x86_64/AVBitStreamFilter.o
            /Users/mac/Library/Developer/Xcode/DerivedData/Runner-eniuobhkhfvztqaaoiwbkeirvrwt/Build/Intermediates.noindex/SwiftFFmpeg.build/Release/SwiftFFmpeg.build/Objects-normal/x86_64/AudioUtil.o
        duplicate symbol '_swift_AV_CH_LAYOUT_SURROUND' in:
            /Users/mac/Library/Developer/Xcode/DerivedData/Runner-eniuobhkhfvztqaaoiwbkeirvrwt/Build/Intermediates.noindex/SwiftFFmpeg.build/Release/SwiftFFmpeg.build/Objects-normal/x86_64/AVBitStreamFilter.o
            /Users/mac/Library/Developer/Xcode/DerivedData/Runner-eniuobhkhfvztqaaoiwbkeirvrwt/Build/Intermediates.noindex/SwiftFFmpeg.build/Release/SwiftFFmpeg.build/Objects-normal/x86_64/AudioUtil.o
        duplicate symbol '_swift_AV_CH_LAYOUT_QUAD' in:
            /Users/mac/Library/Developer/Xcode/DerivedData/Runner-eniuobhkhfvztqaaoiwbkeirvrwt/Build/Intermediates.noindex/SwiftFFmpeg.build/Release/SwiftFFmpeg.build/Objects-normal/x86_64/AVBitStreamFilter.o
            /Users/mac/Library/Developer/Xcode/DerivedData/Runner-eniuobhkhfvztqaaoiwbkeirvrwt/Build/Intermediates.noindex/SwiftFFmpeg.build/Release/SwiftFFmpeg.build/Objects-normal/x86_64/AudioUtil.o
        duplicate symbol '_swift_AV_CH_LAYOUT_2_2' in:
            /Users/mac/Library/Developer/Xcode/DerivedData/Runner-eniuobhkhfvztqaaoiwbkeirvrwt/Build/Intermediates.noindex/SwiftFFmpeg.build/Release/SwiftFFmpeg.build/Objects-normal/x86_64/AVBitStreamFilter.o
            /Users/mac/Library/Developer/Xcode/DerivedData/Runner-eniuobhkhfvztqaaoiwbkeirvrwt/Build/Intermediates.noindex/SwiftFFmpeg.build/Release/SwiftFFmpeg.build/Objects-normal/x86_64/AudioUtil.o
        duplicate symbol '_swift_AV_CH_LAYOUT_2_1' in:
            /Users/mac/Library/Developer/Xcode/DerivedData/Runner-eniuobhkhfvztqaaoiwbkeirvrwt/Build/Intermediates.noindex/SwiftFFmpeg.build/Release/SwiftFFmpeg.build/Objects-normal/x86_64/AVBitStreamFilter.o
            /Users/mac/Library/Developer/Xcode/DerivedData/Runner-eniuobhkhfvztqaaoiwbkeirvrwt/Build/Intermediates.noindex/SwiftFFmpeg.build/Release/SwiftFFmpeg.build/Objects-normal/x86_64/AudioUtil.o
        duplicate symbol '_swift_AV_CH_LAYOUT_7POINT1' in:
            /Users/mac/Library/Developer/Xcode/DerivedData/Runner-eniuobhkhfvztqaaoiwbkeirvrwt/Build/Intermediates.noindex/SwiftFFmpeg.build/Release/SwiftFFmpeg.build/Objects-normal/x86_64/AVBitStreamFilter.o
            /Users/mac/Library/Developer/Xcode/DerivedData/Runner-eniuobhkhfvztqaaoiwbkeirvrwt/Build/Intermediates.noindex/SwiftFFmpeg.build/Release/SwiftFFmpeg.build/Objects-normal/x86_64/AudioUtil.o
        duplicate symbol '_swift_AV_CH_LAYOUT_6POINT1' in:
            /Users/mac/Library/Developer/Xcode/DerivedData/Runner-eniuobhkhfvztqaaoiwbkeirvrwt/Build/Intermediates.noindex/SwiftFFmpeg.build/Release/SwiftFFmpeg.build/Objects-normal/x86_64/AVBitStreamFilter.o
            /Users/mac/Library/Developer/Xcode/DerivedData/Runner-eniuobhkhfvztqaaoiwbkeirvrwt/Build/Intermediates.noindex/SwiftFFmpeg.build/Release/SwiftFFmpeg.build/Objects-normal/x86_64/AudioUtil.o
        duplicate symbol '_swift_AV_CH_LAYOUT_5POINT1' in:
            /Users/mac/Library/Developer/Xcode/DerivedData/Runner-eniuobhkhfvztqaaoiwbkeirvrwt/Build/Intermediates.noindex/SwiftFFmpeg.build/Release/SwiftFFmpeg.build/Objects-normal/x86_64/AVBitStreamFilter.o
            /Users/mac/Library/Developer/Xcode/DerivedData/Runner-eniuobhkhfvztqaaoiwbkeirvrwt/Build/Intermediates.noindex/SwiftFFmpeg.build/Release/SwiftFFmpeg.build/Objects-normal/x86_64/AudioUtil.o
        duplicate symbol '_swift_AV_CH_LAYOUT_4POINT1' in:
            /Users/mac/Library/Developer/Xcode/DerivedData/Runner-eniuobhkhfvztqaaoiwbkeirvrwt/Build/Intermediates.noindex/SwiftFFmpeg.build/Release/SwiftFFmpeg.build/Objects-normal/x86_64/AVBitStreamFilter.o
            /Users/mac/Library/Developer/Xcode/DerivedData/Runner-eniuobhkhfvztqaaoiwbkeirvrwt/Build/Intermediates.noindex/SwiftFFmpeg.build/Release/SwiftFFmpeg.build/Objects-normal/x86_64/AudioUtil.o
        duplicate symbol '_swift_AV_CH_LAYOUT_3POINT1' in:
            /Users/mac/Library/Developer/Xcode/DerivedData/Runner-eniuobhkhfvztqaaoiwbkeirvrwt/Build/Intermediates.noindex/SwiftFFmpeg.build/Release/SwiftFFmpeg.build/Objects-normal/x86_64/AVBitStreamFilter.o
            /Users/mac/Library/Developer/Xcode/DerivedData/Runner-eniuobhkhfvztqaaoiwbkeirvrwt/Build/Intermediates.noindex/SwiftFFmpeg.build/Release/SwiftFFmpeg.build/Objects-normal/x86_64/AudioUtil.o
        duplicate symbol '_swift_AV_CH_LAYOUT_2POINT1' in:
            /Users/mac/Library/Developer/Xcode/DerivedData/Runner-eniuobhkhfvztqaaoiwbkeirvrwt/Build/Intermediates.noindex/SwiftFFmpeg.build/Release/SwiftFFmpeg.build/Objects-normal/x86_64/AVBitStreamFilter.o
            /Users/mac/Library/Developer/Xcode/DerivedData/Runner-eniuobhkhfvztqaaoiwbkeirvrwt/Build/Intermediates.noindex/SwiftFFmpeg.build/Release/SwiftFFmpeg.build/Objects-normal/x86_64/AudioUtil.o
        duplicate symbol '_swift_AV_CH_LAYOUT_7POINT0' in:
            /Users/mac/Library/Developer/Xcode/DerivedData/Runner-eniuobhkhfvztqaaoiwbkeirvrwt/Build/Intermediates.noindex/SwiftFFmpeg.build/Release/SwiftFFmpeg.build/Objects-normal/x86_64/AVBitStreamFilter.o
            /Users/mac/Library/Developer/Xcode/DerivedData/Runner-eniuobhkhfvztqaaoiwbkeirvrwt/Build/Intermediates.noindex/SwiftFFmpeg.build/Release/SwiftFFmpeg.build/Objects-normal/x86_64/AudioUtil.o
        duplicate symbol '_swift_AV_CH_LAYOUT_6POINT0' in:
            /Users/mac/Library/Developer/Xcode/DerivedData/Runner-eniuobhkhfvztqaaoiwbkeirvrwt/Build/Intermediates.noindex/SwiftFFmpeg.build/Release/SwiftFFmpeg.build/Objects-normal/x86_64/AVBitStreamFilter.o
            /Users/mac/Library/Developer/Xcode/DerivedData/Runner-eniuobhkhfvztqaaoiwbkeirvrwt/Build/Intermediates.noindex/SwiftFFmpeg.build/Release/SwiftFFmpeg.build/Objects-normal/x86_64/AudioUtil.o
        duplicate symbol '_swift_AV_CH_LAYOUT_5POINT0' in:
            /Users/mac/Library/Developer/Xcode/DerivedData/Runner-eniuobhkhfvztqaaoiwbkeirvrwt/Build/Intermediates.noindex/SwiftFFmpeg.build/Release/SwiftFFmpeg.build/Objects-normal/x86_64/AVBitStreamFilter.o
            /Users/mac/Library/Developer/Xcode/DerivedData/Runner-eniuobhkhfvztqaaoiwbkeirvrwt/Build/Intermediates.noindex/SwiftFFmpeg.build/Release/SwiftFFmpeg.build/Objects-normal/x86_64/AudioUtil.o
        duplicate symbol '_swift_AV_CH_LAYOUT_4POINT0' in:
            /Users/mac/Library/Developer/Xcode/DerivedData/Runner-eniuobhkhfvztqaaoiwbkeirvrwt/Build/Intermediates.noindex/SwiftFFmpeg.build/Release/SwiftFFmpeg.build/Objects-normal/x86_64/AVBitStreamFilter.o
            /Users/mac/Library/Developer/Xcode/DerivedData/Runner-eniuobhkhfvztqaaoiwbkeirvrwt/Build/Intermediates.noindex/SwiftFFmpeg.build/Release/SwiftFFmpeg.build/Objects-normal/x86_64/AudioUtil.o
        duplicate symbol '_swift_AV_NOPTS_VALUE' in:
            /Users/mac/Library/Developer/Xcode/DerivedData/Runner-eniuobhkhfvztqaaoiwbkeirvrwt/Build/Intermediates.noindex/SwiftFFmpeg.build/Release/SwiftFFmpeg.build/Objects-normal/x86_64/AVBitStreamFilter.o
            /Users/mac/Library/Developer/Xcode/DerivedData/Runner-eniuobhkhfvztqaaoiwbkeirvrwt/Build/Intermediates.noindex/SwiftFFmpeg.build/Release/SwiftFFmpeg.build/Objects-normal/x86_64/Timestamp.o
        ld: 57 duplicate symbols for architecture x86_64
        clang: error: linker command failed with exit code 1 (use -v to see invocation)
    
    opened by AlaaAlHallaq 2
  • Remuxing

    Remuxing

    I’m attempting to remux a file from mp4 to mpegts (based on this: https://github.com/FFmpeg/FFmpeg/blob/master/doc/examples/remuxing.c), however the outputted file seems to only contain a single frame and is 0s long.

    Any idea what I'm doing wrong?

    private func convertToMpeg2Ts(mp4Url: URL) throws -> URL {
    	var tsUrl = mp4Url
    	tsUrl.deletePathExtension()
    	tsUrl.appendPathExtension("ts")
    
    	let input = AVFormatContext()
    	try input.openInput(mp4Url.absoluteString)
    	try input.findStreamInfo()
    
    	input.dumpFormat(isOutput: false)
    
    	let output = try AVFormatContext(format: nil, formatName: "mpegts", filename: tsUrl.absoluteString)
    
    	for inputStream in input.streams {
    		guard let outputStream = output.addStream() else {
    			fatalError()
    		}
    
    		try outputStream.setParameters(inputStream.codecParameters)
    		outputStream.codecParameters.codecTag = 0
    	}
    
    	output.dumpFormat(isOutput: true)
    
    	try output.openIO(url: tsUrl.absoluteString, flags: .write)
    	try output.writeHeader()
    
    	while true {
    		let pkt = AVPacket()
    
    		do {
    			try input.readFrame(into: pkt)
    		} catch {
    			break
    		}
    
    		let inputStream = input.streams[pkt.streamIndex]
    		let outputStream = output.streams[pkt.streamIndex]
    
    		pkt.pts = rescale(pkt.pts, inputStream.timebase, outputStream.timebase)
    		pkt.dts = rescale(pkt.dts, inputStream.timebase, outputStream.timebase)
    		pkt.duration = rescale(pkt.duration, inputStream.timebase, outputStream.timebase)
    		pkt.position = -1
    
    		try output.interleavedWriteFrame(pkt)
    	}
    
    	try output.writeTrailer()
    }
    
    opened by shnhrrsn 2
  • Set analyzeduration, or similar options

    Set analyzeduration, or similar options

    I'm wondering if there's a way to read, and set analyzeduration and similar options,

        let fmtCtx = AVFormatContext()
        fmtCtx.  something  .analyzeduration = 1000
    

    opt.h ...

    int av_set_options_string(void *ctx, const char *opts,
                              const char *key_val_sep, const char *pairs_sep);
    
    /**
     * Parse the key-value pairs list in opts. For each key=value pair found,
     * set the value of the corresponding option in ctx.
     * .. etc
    

    analyzeduration is an integer (microseconds) https://ffmpeg.org/ffmpeg-formats.html

    I had a guess at reading it, let AD = try fmtCtx.integer(forKey: "analyzeduration") crashes,

    I had a guess at this sort of thing, try fmtCtx.set(1000, forKey: "analyzeduration") crashes ..

    Is it possible?

    opened by smhk 2
  • AVStream – display_aspect_ratio removed

    AVStream – display_aspect_ratio removed

    In the Oct 20th update of FFMPEG they removed display_aspect_ratio in AVStream. This causes an error with building. Removing it in SwiftFFMPEG resolves the issue.

    https://www.mail-archive.com/[email protected]/msg45630.html

    opened by teaglin 1
  • Library validation error

    Library validation error

    Hi I am new to this world.

    This is the error I receive when I am trying to run a command line executable made from command line app with XCode. I have added SwiftFFmpeg via SPM to my project. Any help pls ?

    Petars-MacBook-Pro:Debug petar$ ./CurrentCL
    dyld: Library not loaded: /usr/local/opt/ffmpeg/lib/libavformat.58.dylib
      Referenced from: /Users/petar/Library/Developer/Xcode/DerivedData/CurrentCL-flrgocsozeiodqbnwewazwdyydnb/Build/Products/Debug/./CurrentCL
      Reason: no suitable image found.  Did find:
    	/usr/local/opt/ffmpeg/lib/libavformat.58.dylib: code signature in (/usr/local/opt/ffmpeg/lib/libavformat.58.dylib) not valid for use in process using Library Validation: mapped file has no cdhash, completely unsigned? Code has to be at least ad-hoc signed.
    	/usr/local/opt/ffmpeg/lib/libavformat.58.dylib: stat() failed with errno=1
    	/usr/local/lib/libavformat.58.dylib: code signature in (/usr/local/lib/libavformat.58.dylib) not valid for use in process using Library Validation: mapped file has no cdhash, completely unsigned? Code has to be at least ad-hoc signed.
    	/usr/local/Cellar/ffmpeg/4.3.1_9/lib/libavformat.58.45.100.dylib: code signature in (/usr/local/Cellar/ffmpeg/4.3.1_9/lib/libavformat.58.45.100.dylib) not valid for use in process using Library Validation: mapped file has no cdhash, completely unsigned? Code has to be at least ad-hoc signed.
    Abort trap: 6
    
    

    PS: for the record I get the same error if adding the framework to a UI app. I guess there is an issue with my ffmpeg install - I have it installed with homebrew 🤷🏼‍♀️

    opened by petarbelokonski 1
  • Encode H264 per frame

    Encode H264 per frame

    Hi,

    I don't have any prior knowledge in video and using FFmpeg. For streaming purposes, I need to encode each frame (containing textures) to H264, the sample code is encoding from a video mp4 input, in my case, it is not. I don't know how I can convert each frame containing textures to AVFrame, some says to use AVPicture, but AVPicture is not available in this library.

    Hoping for your reply! Thank you

    opened by leacape 0
  • Hardware-Decode example throws errors

    Hardware-Decode example throws errors

    Hi, I am trying to get hwaccelerated decoding working in my project. I imported the library via SPM and pasted the example inside my project. This leads to a lot of errors ( see screenshots below ). I inspected the errors and recognized, that e.g. the error Type 'AVHWDeviceType' has no member 'supportedDeviceTypes' could not be valid, if we would be using this AVHWContext.swift file. So I assume, that the provided hw-decode-example is outdated? Am I missing something? I would appreciate any help. Bildschirmfoto 2021-11-23 um 10 25 25 Bildschirmfoto 2021-11-23 um 10 25 31

    opened by chris-mds 0
  • Decode video example throws errors.

    Decode video example throws errors.

    Hi I tried to execute decode example from lib (link bellow) and got this error. Maybe someone know why it's happens?

    Снимок экрана 2021-07-07 в 15 24 30

    https://github.com/sunlubo/SwiftFFmpeg/blob/master/Sources/SwiftFFmpegExamples/decode_video.swift

    opened by zSoNz 4
  • Installation fails

    Installation fails

    image

    I have trouble with linking dependency to my project. I already install ffmpeg from brew (on the screen) and have 100 errors because Xcode can't find some auto-linked libraries

    But first of all I want to know about possibilities to cut/merge videos and other video editor features? Or I need to use another library?

    opened by Michae1Nechaev 3
Releases(1.5.0)
Owner
sun_
sun_
VIMVideoPlayer is a simple wrapper around the AVPlayer and AVPlayerLayer classes.

VIMVideoPlayer is a simple wrapper around the AVPlayer and AVPlayerLayer classes.

Vimeo 280 May 11, 2022
MacTube is a webview wrapper for YouTube for Mac OS.

MacTube MacTube is a webview wrapper for YouTube for Mac OS. It was made for peo

null 33 Dec 26, 2022
Thin SwiftUI wrapper around `yt-dlp`

SwiftyYTDL Thin SwiftUI wrapper around yt-dlp - popluar Python module for downloading stuff of Youtube, Twtitter, Instagram, TikTok and others. Depend

Danylo Kostyshyn 4 Dec 22, 2022
A Swift library to upload video files to api.video platform.

api.video IOS video uploader api.video is the video infrastructure for product builders. Lightning fast video APIs for integrating, scaling, and manag

api.video 7 Dec 9, 2022
Aplicativos dos mais diversos memes da internet através de uma API.

MemesAPI Esse aplicativo foi um desafio de uma das aulas passadas da digitalhouse, nele consumimos uma API de memes, em arquitetura MVC, que trazia o

Maysa Andrade 3 Oct 6, 2021
YoutubeKit is a video player that fully supports Youtube IFrame API and YoutubeDataAPI for easily create a Youtube app

YoutubeKit YoutubeKit is a video player that fully supports Youtube IFrame API and YoutubeDataAPI to easily create Youtube applications. Important Ref

Ryo Ishikawa 555 Dec 28, 2022
WatchTube: a standalone WatchOS youtube player utilizing Download API for search data and video streaming

WatchTube is a standalone WatchOS youtube player utilizing Download API for sear

WatchTubeTeam 11 May 30, 2022
api.video is the video infrastructure for product builders

api.video is the video infrastructure for product builders. Lightning fast video APIs for integrating, scaling, and managing on-demand & low latency live streaming features in your app.

api.video 4 Jun 27, 2022
Demonstrates how to build a live broadcast app(Swift 3)

This project is to demonstrate how to build a live broadcast app. It include these features: Create a room to broadcast your live stream Join a room t

Leo 2.4k Jan 6, 2023
NextLevelSessionExporter is an export and transcode media library for iOS written in Swift.

NextLevelSessionExporter ?? NextLevelSessionExporter is an export and transcode media library for iOS written in Swift. The library provides customiza

NextLevel 233 Nov 27, 2022
▶️ video player in Swift, simple way to play and stream media on iOS/tvOS

Player Player is a simple iOS video player library written in Swift. Looking for an obj-c video player? Check out PBJVideoPlayer (obj-c). Looking for

patrick piemonte 2k Jan 2, 2023
Player View is a delegated view using AVPlayer of Swift

PlayerView [![CI Status](http://img.shields.io/travis/David Alejandro/PlayerView.svg?style=flat)](https://travis-ci.org/David Alejandro/PlayerView) An

null 131 Oct 25, 2022
YouTubePlayerKit A Swift Package to easily play YouTube videos 📺

A Swift Package to easily play YouTube videos ??

Sven Tiigi 304 Jan 7, 2023
Collection of Swift/iOS-related conference videos. A demo project for SuperArc framework - building modular iOS apps with a µComponent architecture.

SwiftCommunity Beta version is available at TestFlight Collection of Swift/iOS-related conference videos. This project serves as a showcase for the Su

SuperArcSwift 52 Dec 2, 2022
FWVideoPlayer is video Player for iOS in Swift.

FWVideoPlayer Desc FWVideoPlayer is video Player for iOS in Swift. It can play video and audio. You can use it easy. Example To run the example projec

null 1 Oct 15, 2021
Swift Package used for video where I demonstrate how to extract a package to a local framework and modify it.

SegmentedPicker NOTE: This sample code is taken from the article by Frank Jia in his article titled Build a Custom iOS Segmented Control With SwiftUI

Stewart Lynch 1 Oct 11, 2021
360 video player for iOS written in swift - a subset of SceneKit that works

DDDKit An open source library to support 360 videos and pictures. It's designed as a generic 3D library that you can use for much more! Example of use

Guillaume Sabran 123 Aug 9, 2022
Swift library for embedding and controlling YouTube videos in your iOS applications via WKWebView!

YouTubePlayer Embed and control YouTube videos in your iOS applications! Neato, right? Let's see how it works. 0.7.0 Update: WKWebView breaking change

Giles Van Gruisen 825 Jan 3, 2023
Audio player demo based on Swift and SwiftUI, which can play local or network audio.

SwiftAudioDemo Audio player demo based on Swift and SwiftUI, which can play local or network audio. In this demo, I have made a radio player to play n

Jensen Zhang 6 Mar 13, 2022