Giter Site home page Giter Site logo

ffmpeg-sharp's People

Stargazers

 avatar  avatar  avatar

Watchers

 avatar

ffmpeg-sharp's Issues

Build error

Hi all,

When I build the FFmpegSharp library, I get the following errors in 
VideoDecoderStream.cs:
 + Argument '2': cannot convert from 'FFmpegSharp.Interop.IntPtrArray4' to 
'byte**'
 + Argument '6': cannot convert from 'FFmpegSharp.Interop.IntPtrArray4' to 
'byte**'

Pls help me to overcome this problem.

Thanks in advance.

Original issue reported on code.google.com by [email protected] on 27 May 2010 at 4:00

FFMpeg Version Support

I am using ffmpeg-sharp on Windows 7 Professional 64-Bit.

In addition to this question, I have figured out nearly everything required to 
get the interop working correctly in 64 bit OSs if anyone needs help.

QUESTION - 

1. Can you provide the binaries that you designed the library to work worth? I 
cannot find them online, and its hard to know exactly which src edition was 
used to build the ones ffmpeg-sharp is compatible with. (otherwise I would 
build them myself)

2. Otherwise, the project desperately needs to be updated to support the recent 
changes to ffmpeg. I think this project is awesome. I will assist in supporting 
the newest version of ffmpeg if you're agreeable. For example, AVStream, 
AVFormatContext, and many other structs are completely different in the more 
recent (0.7+) versions.

If you won't provide the binaries, please add me as a contributor so I can make 
ffmpeg-sharp work with the newest ffmpeg release.

(I'd also suggest ONLY guaranteeing compatability with RELEASES that ffmpeg 
does, to prevent this issue in the future.)

Original issue reported on code.google.com by [email protected] on 17 Jan 2012 at 10:49

Open, Seek + ReadFrame => decoding error (current packet not a key frame)

context: I'm tying to create a thumbnailer using ffmpeg-sharp

What steps will reproduce the problem?
1. open MediaFile
2. get VideoDecoderStream
3. create VideoScalingStream
4. Seek (100ms)
5. ReadFrame (out frame)

What is the expected output? What do you see instead?
expected: decoded frame bytes
instead: crash

What version of the product are you using? On what operating system?
latest

Please provide any additional information below.

as a workaround I added a loop, forcing a key frame to be returned (i'm only 
interested in single frame decoding -> creating thumbnails)

MediaFile.cs:120
internal void EnqueueNextPacket()
{
  AVPacket packet = new AVPacket();
  FFmpeg.av_init_packet(ref packet);

+  while (packet.flags != PacketFlags.Key)
+  {
    if (FFmpeg.av_read_frame(ref FormatContext, ref packet) < 0)
      throw new System.IO.EndOfStreamException();
+  }

Original issue reported on code.google.com by [email protected] on 29 Feb 2012 at 10:53

Method GetMaxWriteSize() in class FifoMemoryStream

What steps will reproduce the problem?
1. Use dot.Net Framework 2.0 (Visual Studio.net 2005)
2. Compile latest Version of ffmpeg-sharp
3. Compiler says: Error 1   The name 'GetMaxWriteSize' does not exist 
in the current context  C:\Users\User\Documents\Visual Studio 2005
\Projects\ffmpeg-sharp\Audio\FifoMemoryStream.cs    90  27
    FFmpegSharp


What version of the product are you using? On what operating system?
FifoMemoryStream.cs r3

Please provide any additional information below.
Look at the file on the GoogleCode-Page with Source/Browse... you will 
see, the Method is missing in class FifoMemoryStream

Original issue reported on code.google.com by [email protected] on 31 Jan 2008 at 10:32

Exception on avformat-52.dll

What steps will reproduce the problem?
1. Run VideoPlayer project
2. Select a .mp4 video
3. Click play

What is the expected output? What do you see instead?
Excepected: A video playing
Result: Exception
{"Unable to load DLL 'avformat-52.dll': The specified module could not be 
found. (Exception from HRESULT: 0x8007007E)"}

What version of the product are you using? On what operating system?
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]

Windows 8 x64

Please provide any additional information below.
- http://stackoverflow.com/q/15625981/340760

Original issue reported on code.google.com by [email protected] on 25 Mar 2013 at 10:32

AccessViolationException on DecodePacket

I'm trying to use this to display videos on XNA 4.0 and I'm getting an 
AccessViolationException when calling DecodePacket. I'm using a 
VideoScalingStream just like the winforms example (I also tried with 
VideoDecoderStream with the same result).

Here are the relevant snippets of my code.
It throws the exception in the very first call of Update.
[...]
        Texture2D VideoTexture;
        VideoScalingStream VideoStream;
        Color[] NextFrameRawData;
        bool VideoPlaying;
[...]
        void InitVideo()
        {
            LogManager.Log("SongManager.InitVideo - Attempting to" +
            "initialize video stream.");

            try
            {
                MediaFile file = new MediaFile(Data.VideoFile);

                LogManager.Log("SongManager.InitVideo - Iterating through " +
                    file.Streams.Count + " streams.");
                foreach (DecoderStream stream in file.Streams)
                {
                    if (stream != null && 
                        stream.GetType() == typeof(VideoDecoderStream))
                    {
                        LogManager.Log("SongManager.InitVideo - " +
                        "Found a suitable stream. Creating video stream.");

                        VideoDecoderStream DecoderStream = stream as VideoDecoderStream;

                        // Adjust the video rectangle to fit screen without
                        // affecting aspect ratio
                        VideoRect = new Rectangle(0, 0, DecoderStream.Width,
                            DecoderStream.Height);
                        MetricsHelper.ResizeAndCenter(ScreenRect, ref VideoRect);

                        VideoStream = new VideoScalingStream(
                            DecoderStream, VideoRect.Width, 
                            VideoRect.Height, PixelFormat.PIX_FMT_RGB32);

                        NextFrameRawData = new Color[VideoStream.FrameSize / 3];
                        VideoTexture = new Texture2D(Globals.Screen.GraphicsDevice, 
                            VideoStream.Width, VideoStream.Height, false, 
                            SurfaceFormat.Color);

                        LogManager.Log("SongManager.InitVideo - " +
                        "Stream successfully created.");
                        break;
                    }
                }
            }
            catch (Exception e)
            {
                LogManager.Log("SongManager.InitVideo - Caught an exception:\r\n" 
                    + e.ToString());
                VideoStream = null;
            }
        }
[...]
        public string VideoFile
        {
            get { return Data.VideoFile; }
            set
            {
                Data.VideoFile = value;
                InitVideo();
            }
        }
[...]
        public void Update(GameTime gameTime)
        {
            if (Playing)
            {
                if (!VideoPlaying && VideoStream != null &&
                    MediaPlayer.PlayPosition >= Data.VideoOffset)
                    VideoPlaying = true;

                if (VideoPlaying)
                {
                    byte[] nextFrame;
                    VideoPlaying = VideoStream.ReadFrame(out nextFrame);

                    if (VideoPlaying)
                    {
                        int j = 0;

                        for (int i = 0, length = nextFrame.Length; i < length; i += 3)
                            NextFrameRawData[j++] = new Color(nextFrame[i], nextFrame[i + 1], nextFrame[i + 2]);

                        VideoTexture.SetData<Color>(NextFrameRawData, 0, NextFrameRawData.Length);
                    }
                }
[...]
        public void Draw(SpriteBatch dst)
        {
            // Hide background when video starts playing
            if (BackgroundData != null && !VideoPlaying)
                dst.Draw(BackgroundData, BackgroundRect, Color.White);

            // Draw current frame of the video
            if (VideoStream != null && VideoPlaying)
                dst.Draw(VideoTexture, VideoRect, Color.White);


Here are the details of the exception:
System.AccessViolationException was unhandled
  Message=Attempted to read or write protected memory. This is often an indication that other memory is corrupt.
  Source=FFmpegSharp
  StackTrace:
       at FFmpegSharp.Interop.FFmpeg.avcodec_decode_video(AVCodecContext& pAVCodecContext, AVFrame* pAVFrame, Boolean& got_picture_ptr, Byte* buf, Int32 buf_size)
       at FFmpegSharp.VideoDecoderStream.DecodePacket(AVPacket& packet) in C:\Users\Francesco\Documents\Visual Studio 2010\Projects\ffmpeg-sharp\src\VideoDecoderStream.cs:line 130
       at FFmpegSharp.DecoderStream.ReadNextPacket() in C:\Users\Francesco\Documents\Visual Studio 2010\Projects\ffmpeg-sharp\src\DecoderStream.cs:line 233
       at FFmpegSharp.DecoderStream.Read(Byte[] buffer, Int32 offset, Int32 count) in C:\Users\Francesco\Documents\Visual Studio 2010\Projects\ffmpeg-sharp\src\DecoderStream.cs:line 179
       at FFmpegSharp.VideoDecoderStream.ReadFrame(Byte[]& frame) in C:\Users\Francesco\Documents\Visual Studio 2010\Projects\ffmpeg-sharp\src\VideoDecoderStream.cs:line 152
       at FFmpegSharp.VideoScalingStream.ReadFrame(Byte[]& frame) in C:\Users\Francesco\Documents\Visual Studio 2010\Projects\ffmpeg-sharp\src\VideoScalingStream.cs:line 86
       at DDR_Clone.SongManager.Update(GameTime gameTime) in C:\Users\Francesco\Documents\Visual Studio 2010\Projects\DDR_Clone\DDR_Clone\DDR_Clone\SongManager.cs:line 426
       at DDR_Clone.Game1.Update(GameTime gameTime) in C:\Users\Francesco\Documents\Visual Studio 2010\Projects\DDR_Clone\DDR_Clone\DDR_Clone\Game1.cs:line 113
       at Microsoft.Xna.Framework.Game.RunGame(Boolean useBlockingRun)
       at Microsoft.Xna.Framework.Game.Run()
       at DDR_Clone.Program.Main(String[] args) in C:\Users\Francesco\Documents\Visual Studio 2010\Projects\DDR_Clone\DDR_Clone\DDR_Clone\Program.cs:line 15
  InnerException: 

I'm using the exact version of ffmpeg you provided in Issue #9. I'm compiling 
this on Visual Studio Ultimate 2010 with XNA 4.0. I compiled ffmpeg-sharp 
myself after converting the project to Visual Studio 2010.
This is all built for x86.

Original issue reported on code.google.com by [email protected] on 20 Feb 2012 at 4:07

Wrapping mp3+jpg to 3gp format with ffmpeg-sharp



Am seeking help on how to accomplish this.

I have 10 images(jpg), and 10 audio(mp3) files that are destined to be
played on a mobile device(like phone, ipod).
3gp files can do it very well, I do not know how to wrap the images and
their audio files into 3gp format. Where can I start from? Been using c#,
but not sure how far it can take me.

Is there a way I can zip both images and audio into a .3gp so as to play on
the mobile devices?

Regards,
Simon

Original issue reported on code.google.com by [email protected] on 9 May 2010 at 3:36

DllNotFoundException

I've compiled the ffmpegSharp dll with monodevelop and I've put it in Unity3d, 
then the code:
MediaFile file = new MediaFile( filePath );

Give me this error runtime:

DllNotFoundException: avformat-52.dll
FFmpegSharp.MediaFile..cctor ()
Rethrow as TypeInitializationException: An exception was thrown by the type 
initializer for FFmpegSharp.MediaFile

I've tried to add that dll to the project too but it's not mono-compatible, so 
monodevelop doesn't see it.

What should I do to get things working?

I'm running Unity3d pro on Windows 7 64bit

Original issue reported on code.google.com by [email protected] on 11 Sep 2012 at 1:14

30 errors - am I missing something

What steps will reproduce the problem?
1. Download latest release
2. Build


What is the expected output? What do you see instead?
Error   2   The best overloaded method match for 
'FFmpegSharp.Interop.AVStreamArray20.this[int]' has some invalid arguments  
E:\ffmpegsharp\ffmpeg-sharp\trunk\ffmpeg-sharp\src\DecoderStream.cs 138 
31  FFmpegSharp
Error   3   Argument '1': cannot convert from 'uint' to 'int'   
E:\ffmpegsharp\ffmpeg-sharp\trunk\ffmpeg-sharp\src\DecoderStream.cs 138 
53  FFmpegSharp
Error   4   The best overloaded method match for 
'FFmpegSharp.Interop.AVStreamArray20.this[int]' has some invalid arguments  
E:\ffmpegsharp\ffmpeg-sharp\trunk\ffmpeg-sharp\src\DecoderStream.cs 139 
33  FFmpegSharp
Error   5   Argument '1': cannot convert from 'uint' to 'int'   
E:\ffmpegsharp\ffmpeg-sharp\trunk\ffmpeg-sharp\src\DecoderStream.cs 139 
55  FFmpegSharp
Error   6   The best overloaded method match for 
'FFmpegSharp.Interop.FFmpeg.avcodec_open(ref 
FFmpegSharp.Interop.Codec.AVCodecContext, 
FFmpegSharp.Interop.Codec.AVCodec*)' has some invalid arguments 
E:\ffmpegsharp\ffmpeg-sharp\trunk\ffmpeg-sharp\src\DecoderStream.cs 153 
17  FFmpegSharp
Error   7   Argument '2': cannot convert from 'ref 
FFmpegSharp.Interop.Codec.AVCodec' to 'FFmpegSharp.Interop.Codec.AVCodec*'  
E:\ffmpegsharp\ffmpeg-sharp\trunk\ffmpeg-sharp\src\DecoderStream.cs 153 
59  FFmpegSharp
Error   8   The best overloaded method match for 
'FFmpegSharp.Interop.FFmpeg.av_seek_frame(ref 
FFmpegSharp.Interop.Format.AVFormatContext, int, long, 
FFmpegSharp.Interop.Format.AVSEEK_FLAG)' has some invalid arguments 
E:\ffmpegsharp\ffmpeg-sharp\trunk\ffmpeg-
sharp\src\Audio\AudioDecoderStream.cs   189 17  FFmpegSharp
Error   9   Argument '4': cannot convert from 'int' to 
'FFmpegSharp.Interop.Format.AVSEEK_FLAG'    E:\ffmpegsharp\ffmpeg-
sharp\trunk\ffmpeg-sharp\src\Audio\AudioDecoderStream.cs    189 75  
FFmpegSharp
Error   10  Cannot implicitly convert type 
'FFmpegSharp.Interop.Util.AVRational' to 'float'. An explicit conversion 
exists (are you missing a cast?)    E:\ffmpegsharp\ffmpeg-
sharp\trunk\ffmpeg-sharp\src\Video\VideoDecoderStream.cs    76  28  
FFmpegSharp
Error   11  Cannot implicitly convert type 'double' to 'float'. An 
explicit conversion exists (are you missing a cast?)    
E:\ffmpegsharp\ffmpeg-sharp\trunk\ffmpeg-
sharp\src\Video\VideoDecoderStream.cs   78  28  FFmpegSharp
Error   12  No overload for method 'sws_getContext' takes '7' arguments 
E:\ffmpegsharp\ffmpeg-sharp\trunk\ffmpeg-
sharp\src\Video\VideoDecoderStream.cs   133 28  FFmpegSharp
Error   13  The best overloaded method match for 
'FFmpegSharp.Interop.FFmpeg.sws_scale(FFmpegSharp.Interop.SWScale.SwsContex
t*, byte**, int*, int, int, byte**, int*)' has some invalid arguments   
E:\ffmpegsharp\ffmpeg-sharp\trunk\ffmpeg-
sharp\src\Video\VideoDecoderStream.cs   155 25  FFmpegSharp
Error   14  Argument '2': cannot convert from 
'FFmpegSharp.Interop.IntPtrArray4' to 'byte**'  E:\ffmpegsharp\ffmpeg-
sharp\trunk\ffmpeg-sharp\src\Video\VideoDecoderStream.cs    155 56  
FFmpegSharp
Error   15  Argument '6': cannot convert from 
'FFmpegSharp.Interop.IntPtrArray4' to 'byte**'  E:\ffmpegsharp\ffmpeg-
sharp\trunk\ffmpeg-sharp\src\Video\VideoDecoderStream.cs    155 118 
FFmpegSharp
Error   16  Cannot implicitly convert type 
'FFmpegSharp.Interop.IntPtrArray4' to 'int*'    E:\ffmpegsharp\ffmpeg-
sharp\trunk\ffmpeg-sharp\src\Video\VideoDecoderStream.cs    161 43  
FFmpegSharp
Error   17  Operator '|=' cannot be applied to operands of type 
'FFmpegSharp.Interop.Codec.CODEC_FLAG' and 'int'    
E:\ffmpegsharp\ffmpeg-sharp\trunk\ffmpeg-
sharp\src\Audio\AudioEncoderStream.cs   116 17  FFmpegSharp
Error   18  Cannot implicitly convert type 'int' to 
'FFmpegSharp.Interop.Codec.CODEC_FLAG'. An explicit conversion exists (are 
you missing a cast?)    E:\ffmpegsharp\ffmpeg-sharp\trunk\ffmpeg-
sharp\src\Audio\AudioEncoderStream.cs   116 39  FFmpegSharp
Error   19  Cannot implicitly convert type 'int' to 
'FFmpegSharp.Interop.Codec.GlobalQuality'. An explicit conversion exists 
(are you missing a cast?)   E:\ffmpegsharp\ffmpeg-sharp\trunk\ffmpeg-
sharp\src\Audio\AudioEncoderStream.cs   117 47  FFmpegSharp
Error   20  The best overloaded method match for 
'FFmpegSharp.Interop.FFmpeg.avcodec_open(ref 
FFmpegSharp.Interop.Codec.AVCodecContext, 
FFmpegSharp.Interop.Codec.AVCodec*)' has some invalid arguments 
E:\ffmpegsharp\ffmpeg-sharp\trunk\ffmpeg-
sharp\src\Audio\AudioEncoderStream.cs   125 17  FFmpegSharp
Error   21  Argument '2': cannot convert from 'ref 
FFmpegSharp.Interop.Codec.AVCodec' to 'FFmpegSharp.Interop.Codec.AVCodec*'  
E:\ffmpegsharp\ffmpeg-sharp\trunk\ffmpeg-
sharp\src\Audio\AudioEncoderStream.cs   125 59  FFmpegSharp
Error   22  The best overloaded method match for 
'FFmpegSharp.Interop.FFmpeg.url_fopen(ref 
FFmpegSharp.Interop.AVIO.ByteIOContext, string, int)' has some invalid 
arguments   E:\ffmpegsharp\ffmpeg-sharp\trunk\ffmpeg-
sharp\src\Audio\AudioEncoderStream.cs   129 17  FFmpegSharp
Error   23  Argument '1': cannot convert from 'ref 
FFmpegSharp.Interop.AVIO.ByteIOContext*' to 'ref 
FFmpegSharp.Interop.AVIO.ByteIOContext' E:\ffmpegsharp\ffmpeg-
sharp\trunk\ffmpeg-sharp\src\Audio\AudioEncoderStream.cs    129 38  
FFmpegSharp
Error   24  Operator '|=' cannot be applied to operands of type 
'FFmpegSharp.Interop.Format.PacketFlags' and 'int'  
E:\ffmpegsharp\ffmpeg-sharp\trunk\ffmpeg-
sharp\src\Audio\AudioEncoderStream.cs   163 25  FFmpegSharp
Error   25  Cannot implicitly convert type 'int' to 
'FFmpegSharp.Interop.Format.PacketFlags'. An explicit conversion exists 
(are you missing a cast?)   E:\ffmpegsharp\ffmpeg-sharp\trunk\ffmpeg-
sharp\src\Audio\AudioEncoderStream.cs   163 44  FFmpegSharp
Error   26  The best overloaded method match for 
'FFmpegSharp.Interop.AVStreamArray20.this[int]' has some invalid arguments  
E:\ffmpegsharp\ffmpeg-sharp\trunk\ffmpeg-
sharp\src\Audio\AudioEncoderStream.cs   208 42  FFmpegSharp
Error   27  Argument '1': cannot convert from 'uint' to 'int'   
E:\ffmpegsharp\ffmpeg-sharp\trunk\ffmpeg-
sharp\src\Audio\AudioEncoderStream.cs   208 64  FFmpegSharp
Error   28  The best overloaded method match for 
'FFmpegSharp.Interop.AVStreamArray20.this[int]' has some invalid arguments  
E:\ffmpegsharp\ffmpeg-sharp\trunk\ffmpeg-
sharp\src\Audio\AudioEncoderStream.cs   211 35  FFmpegSharp
Error   29  Argument '1': cannot convert from 'uint' to 'int'   
E:\ffmpegsharp\ffmpeg-sharp\trunk\ffmpeg-
sharp\src\Audio\AudioEncoderStream.cs   211 57  FFmpegSharp
Error   30  The best overloaded method match for 
'FFmpegSharp.Interop.FFmpeg.url_fclose(ref 
FFmpegSharp.Interop.AVIO.ByteIOContext)' has some invalid arguments 
E:\ffmpegsharp\ffmpeg-sharp\trunk\ffmpeg-
sharp\src\Audio\AudioEncoderStream.cs   216 21  FFmpegSharp
Error   31  Argument '1': cannot convert from 'ref 
FFmpegSharp.Interop.AVIO.ByteIOContext*' to 'ref 
FFmpegSharp.Interop.AVIO.ByteIOContext' E:\ffmpegsharp\ffmpeg-
sharp\trunk\ffmpeg-sharp\src\Audio\AudioEncoderStream.cs    216 43  
FFmpegSharp
Warning 1   Possible mistaken empty statement   
E:\ffmpegsharp\ffmpeg-sharp\trunk\ffmpeg-
sharp\src\Video\VideoDecoderStream.cs   156 25  FFmpegSharp


What version of the product are you using? On what operating system?
Vista or XP

Please provide any additional information below.


Original issue reported on code.google.com by [email protected] on 2 Apr 2010 at 12:56

FFMpeg Dll Compilation

Hey Justin,

Can you please share what needs to be done with ffmpeg dlls to work with your 
code?

I quickly checked the avcodec-51.dll provided by you and it contains 3180 
functions whereas the latest avcodec-56.dll has only 211. What would account 
for such a big difference?

Thanks

Original issue reported on code.google.com by [email protected] on 28 Oct 2014 at 3:39

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.