Giter VIP home page Giter VIP logo

vitamio-ios's Introduction

Vitamio

Vitamio SDK for iOS

This project is an open multimedia framework for iOS, with full and real hardware accelerated decoder and renderer. With its simple, clean and powerful API.

Quickly Start(en) / Quickly Start(zh)
FAQ
Change Log
SDK Reference

Directory detail

- Vitamio/	The static library and header files.
- Doc/		The documents of SDK and demo.
- Demo/		One demo to show how to use this SDK.

License

Please refer License

vitamio-ios's People

Contributors

echoliao avatar hellojane96 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

vitamio-ios's Issues

Cannot cancel prepareAsync

When prepareAsync is called and before the video is prepared, there is no way to cancel the preparing operation. It would be nice if there is a way to cancel it, for example to load another video.

Orientation incorrect for videos filmed on device

I have been doing some testing for playing back videos that were filmed on mobile devices (iOS devices, Android, etc.). Anyway, the way these videos are filmed, they are all filmed in landscape and have a metadata tag called rotate which specifies how the video should be rotated. The tag is not getting looked at and the video player is playing the videos in the incorrect orientation.

This metadata is specified for a particular stream's data in FFMpeg.
formatCtx->streams[x]->metadata

I have attached an image so you can see the problem.

This video was filmed on an android device and should be vertical.

Here is a screenshot from the sample app:
photo-4

Here is a screenshot from quicktime.
screenshot 2014-01-22 15 26 50

Record live streaming

I have used vitamio for live streaming and it is very helpful. Now I want to record the live streaming and store it. Can you please suggest me how can I do that.

Your help will be really appreciated.
Thank you

内存泄漏问题

播放界面使用modal方式弹出,在dealloc方法中调用reset和unSetupPlayer销毁播放器,但是多次进入播放页面会产生内存泄漏,使用instrument leak检测截图如下:
09701087-232b-42cb-91a3-6c3f4b14a789

how to change size video ?

how to resize or set the size of the video in iOS vitamio so that it will not occupy the whole space? i need to set manual size..please help me..thanks..

The latest version(1.1.3) get error but version 1.1.0 is not

I run code from your latest version but always get this error:

ld: warning: directory not found for option '-L/mydirectory/Vitamio-iOS-1.1.3/Vitamio'
Undefined symbols for architecture i386:
"_iconv", referenced from:
_avcodec_decode_subtitle2 in libffmpeg.a(utils.o)
"_iconv_close", referenced from:
_avcodec_decode_subtitle2 in libffmpeg.a(utils.o)
_avcodec_open2 in libffmpeg.a(utils.o)
"_iconv_open", referenced from:
_avcodec_decode_subtitle2 in libffmpeg.a(utils.o)
_avcodec_open2 in libffmpeg.a(utils.o)
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)

It mean your lib missed some assets(_iconv, _iconv_close,..). Please verify your library. Maybe when your packed that lib, your don't clear your workspace,...
Many developer get this error. Please check because if not, no one can use your libs.

I try to use version 1.1 and don't get this error. It is wired, right?

电台播放一段时间后自动停止

无论是安卓还是iOS版,大概20分钟左右,电台就停止了.而且后台没有任何错误信息. 重新调用start方法无法播放,要调用reset方法才可以.为什么?

Unable to Play RTMP live vidoe Stream

Hello
i tried to play RTMP video stremaing it does no play it give error liek this:NAL 1RRE &&&& VMediaPlayer Error: (null)
i was used this key
keys[0] = @"-rtmp_live";
vals[0] = @"-1";
[mMPayer setOptionsWithKeys:keys withValues:vals];
but vide does not play
pls give reply

Bad quality rtsp streaming ip camera

attached file
screenshot_2016-04-21-13-31-50
screenshot_2016-04-21-16-49-21

Hi, i am trying to stream image using vitamio but the quality of image is sometimes bad (see the
). I think that it may be due to my network quality. Sometimes a part of the image is white and this isn't fine for user experience. Is it possible to filter the video before displaying the camera stream?

mVideoView = (VideoView) findViewById(R.id.vitamio_videoView);

        mVideoView.setVideoPath(path);
        mVideoView.setMediaController(new MediaController(this));
        mVideoView.requestFocus();
        mVideoView.setVideoQuality(MediaPlayer.VIDEOQUALITY_HIGH);
        mVideoView.getHolder().setFormat(PixelFormat.RGBX_8888);
        mVideoView.setVideoChroma(MediaPlayer.VIDEOCHROMA_RGB565);
        mVideoView.setMediaController(null);

        mVideoView.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
            @Override
            public void onPrepared(MediaPlayer mediaPlayer) {

                // close the progress bar and play the video
                //progressDialog.dismiss();
                mProgressBar.setVisibility(View.INVISIBLE);
                //mediaPlayer.setBufferSize(0);
                mediaPlayer.setPlaybackSpeed(2.0f);
                if(mVideoView.isPlaying() == false){

                    try {

                        mVideoView.start();
                    } catch (Exception e) {

                    }
                }
            }

        });

        if(mVideoView.isPlaying() == false){

            try {

                mVideoView.start();
            } catch (Exception e) {

            }
        }

buffer length configuration

hi can i change buffer length so we can change the gap between publisher and viewer,
so the viewer always get the last frame
谢谢

linking problem

I tryed to build the demo but I run into the following prob:
ld: warning: ignoring file ../Vitamio/libVitamio.a, file was built for archive which is not the architecture being linked (i386): ../Vitamio/libVitamio.a
Undefined symbols for architecture i386:
"OBJC_CLASS$_VMediaPlayer", referenced from:
objc-class-ref in PlayerController.o
"OBJC_CLASS$_Vitamio", referenced from:
objc-class-ref in ViewController.o
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)

Cannot play local video from AssetLibrary

My videos is filtering from AssetLibrary, for example, a video's assetURL is "assets-library://asset/asset.MOV?id=ADA3DD1F-0C2B-4A10-B8EB-A696BAC5D7E9&ext=MOV". Vitamio cannot play this video. The process goes to its delegate method mediaPlayer:error: . Looking forward to a reply!Thank you!

Unable to build for ARM64 (64bit) Architecture

Hi guys,

I ve been using Xcode6.3.2 and have settings under Build Settings as :-
Architecture : Standard Architecture[armv7 arm64]
Build Active Architecture Only : NO
Valid Architecture : armv7, armv7s arm64

When I build the project, I get the below errors:-
Undefined symbols for architecture arm64:
"OBJC_CLASS$_VMediaPlayer", referenced from:
objc-class-ref in PlayerViewController.o
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

Please provide me some insights.

Thank you.

Vitamio error

I was integrate successfully your sdk in my application, i'm in the phase of code protection , i cann' find solution to show the error message from player , any suggestion please.
Thanks

在调完prepareAsync之后,并且在播放器回调didPrepared之前无法退出播放器

在调完prepareAsync之后,并且在播放器回调didPrepared之前,此时如果点击退出,则程序直接卡死,使用Demo在真机上必现;

另外,播放部分地址或者地址array,调用prepareAsync后,要等待很久才会回调至didPrepared内,有的甚至需要等待30s以上,但这个过程中未找到方法可取消或退出播放,如果有方法可以退出,望告知,谢谢;

Unable to Change size of Video

Video is not getting resized to carrier view frame. Tried each and Every fillMode and Aspect Ratio , Nothing is happening.

Is there any way to remove this limitation of vPlayer

Xcode 6.3.1 crash building Vitamio IOS player ...

Hello,

I'm neew to Vitamio. I'm trying to build player with Xcode 6.3.1 for iOS 8 device.
Unfortunately my Xcode crash due to code signing issue

Anyboy has got a demo project that works well on such Xcode version ?

Thank you very much

No audio after a few seconds if do not pause when bufferingStart and play when bufferingEnd

Related to #3
I reopened since the problem isn't solved by using VMDecodingSchemeQuickTime as mentioned in #3.

Here's the stream I used to test:
rtmp://113.161.212.25/live/atv1

The issue is if I don't pause the player in bufferingStart, and start the player in bufferingEnd, the audio will be gone after a while.

(void)mediaPlayer:(VMediaPlayer *)player bufferingStart:(id)arg
{
[player pause];
}

(void)mediaPlayer:(VMediaPlayer *)player bufferingEnd:(id)arg
{
[player start];
}

If I choose to pause, start the player like above, then the video is not played as smooth as compared to Vitamio for Android. It stops very often for buffering. The buffer size I used is 200 000.

rtmp播放无声音频繁缓冲

就算把画质降低和buff设置高一点也还是频繁缓冲,android版本不存在这个问题。

日志

2014-02-16 13:58:15.209 Vitamio-Demo[27360:a0b] NAL 1UIO &&&&&&& Vitamio version: 4.2.0 (Release)
[Vitamio[Player] Info ] {load_ffmpeg:121} LOAD FFMPEG START: Use static libs
[Vitamio[Player] Info ] {load_ffmpeg:286} LOAD FFMPEG END: Use static libs
[Vitamio[Player] Info ] {vplayer_init:2680} VPLAYER INIT BEGIN
[Vitamio[Player] Info ] {vplayer_init:2769} VPLAYER INIT END
[Vitamio[Player] Info ] {load_vao:39} LOAD VAO START: Use static libs
[Vitamio[Player] Info ] {load_vao:56} LOAD VAO END: Use static libs
[Vitamio[Player] Info ] {load_vvo:62} LOAD VVO START: Use static libs
[Vitamio[Player] Info ] {load_vvo:83} LOAD VVO END: Use static libs
[Vitamio[Player] Info ] {load_omx:90} LOAD OMX START: Use static libs
[Vitamio[Player] Info ] {load_omx:114} LOAD OMX END: Use static libs
[Vitamio[MediaPlayer] Error] {-[VMediaPlayer setBufferSize:]:601} Called INVALID : Player have not setuped!
[Vitamio[MediaPlayer] Error] {-[VMediaPlayer setVideoQuality:]:439} Called INVALID : Player have not setuped!
2014-02-16 14:12:40.561 Vitamio-Demo[27360:a0b] NAL &&& Doc: /Users/jovi/Library/Application Support/iPhone Simulator/7.0.3/Applications/4A5A0165-8139-4754-AD59-3E6B7EC21921/Documents
[Vitamio[Player] Info ] {prepare_thread:1939} THREAD PREPARE START
[Vitamio[Player] Info ] {prepare_thread:1948} THREAD PREPARE ATTACHED
[Vitamio[Player] Info ] {file_open:1611} OPEN FILE rtmp://vplay.acfun.tv/live/O4K5WQAvgadpiDKP
[Vitamio[Player] Info ] {cache_thread_cleanup:1327} CACHE thread dettached 1
[Vitamio[Player] Info ] {pull_metadata:108} METADATA: isom512isomiso2avc1mp41Lavf55.13.102
[Vitamio[Player] Info ] {file_open:1680} META AUDIO: , META SUBTITLE:
[Vitamio[Player] Info ] {stream_open:1150} OPEN STREAM VIDEO BEGIN
2014-02-16 14:12:41.263 Vitamio-Demo[27360:a0b] NAL 1GFC .... media caches index : /Users/jovi/Library/Application Support/iPhone Simulator/7.0.3/Applications/4A5A0165-8139-4754-AD59-3E6B7EC21921/Library/Caches/MediasCaches/A0BB4D40A26CBAA92107A248EFE692B7/A0BB4D40A26CBAA92107A248EFE692B7.vit
[Vitamio[Player] Info ] {stream_open:1186} [Vitamio[Player] Info ] {video_decode_thread:681} OPEN STREAM VIDEO ENDCC: ARMYUV420 0

[Vitamio[Player] Info ] {prepare_cleanup:1935} [Vitamio[Player] Info ] {analytics_thread:1575} THREAD PREPARE DETTACHED, ret = 1THREAD ANALYTICS START

[Vitamio[Player] Info ] {prepare_thread:1952} THREAD PREPARE END
[Vitamio[Player] Error] {av_log_vitamio_callback:356} [h264 @ 0xc3fde00] Missing reference picture, default is 0

[Vitamio[Player] Error] {av_log_vitamio_callback:356} [h264 @ 0xc3fde00] decode_slice_header error

2014-02-16 14:12:41.307 Vitamio-Demo[27360:a0b] NAL 2HBT &&&&&&&&&&&&&&&&.......&&&&&&&&&&&&&&&&&
[Vitamio[Player] Error] {av_log_vitamio_callback:356} [h264 @ 0xb412000] Missing reference picture, default is 0

[Vitamio[Player] Error] {av_log_vitamio_callback:356} [h264 @ 0xb412000] decode_slice_header error

[Vitamio[Player] Error] {av_log_vitamio_callback:356} [h264 @ 0xc3eb800] Missing reference picture, default is 0

[Vitamio[Player] Error] {av_log_vitamio_callback:356} [h264 @ 0xc3eb800] decode_slice_header error

[Vitamio[Player] Error] {av_log_vitamio_callback:356} [h264 @ 0xc3fde00] reference picture missing during reorder

[Vitamio[Player] Error] {av_log_vitamio_callback:356} [h264 @ 0xc3fde00] Missing reference picture, default is 0

[Vitamio[Player] Error] {av_log_vitamio_callback:356} [h264 @ 0xc3fde00] decode_slice_header error

[Vitamio[Player] Error] {av_log_vitamio_callback:356} [h264 @ 0xcbf6c00] Missing reference picture, default is 0

[Vitamio[Player] Error] {av_log_vitamio_callback:356} [h264 @ 0xcbf6c00] decode_slice_header error

[Vitamio[Player] Error] {av_log_vitamio_callback:356} [h264 @ 0xc3eb800] Missing reference picture, default is 0

[Vitamio[Player] Error] {av_log_vitamio_callback:356} [h264 @ 0xc3eb800] decode_slice_header error

[Vitamio[Player] Error] {av_log_vitamio_callback:356} [h264 @ 0xb42e200] reference picture missing during reorder

[Vitamio[Player] Error] {av_log_vitamio_callback:356} [h264 @ 0xb42e200] Missing reference picture, default is 0

[Vitamio[Player] Error] {av_log_vitamio_callback:356} [h264 @ 0xb42e200] decode_slice_header error

[Vitamio[Player] Error] {av_log_vitamio_callback:356} [h264 @ 0xb42e200] Missing reference picture, default is 0

[Vitamio[Player] Error] {av_log_vitamio_callback:356} [h264 @ 0xb42e200] decode_slice_header error

[Vitamio[Player] Error] {av_log_vitamio_callback:356} [h264 @ 0xb42e200] Missing reference picture, default is 0

[Vitamio[Player] Error] {av_log_vitamio_callback:356} [h264 @ 0xb42e200] decode_slice_header error

[Vitamio[Player] Error] {av_log_vitamio_callback:356} [h264 @ 0xb42e200] reference picture missing during reorder

[Vitamio[Player] Error] {av_log_vitamio_callback:356} [h264 @ 0xb42e200] Missing reference picture, default is 0

[Vitamio[Player] Error] {av_log_vitamio_callback:356} [h264 @ 0xb42e200] decode_slice_header error

[Vitamio[Player] Error] {av_log_vitamio_callback:356} [h264 @ 0xb42e200] Missing reference picture, default is 0

[Vitamio[Player] Error] {av_log_vitamio_callback:356} [h264 @ 0xb42e200] decode_slice_header error

[Vitamio[Player] Error] {av_log_vitamio_callback:356} [h264 @ 0xd3d0600] Missing reference picture, default is 0

[Vitamio[Player] Error] {av_log_vitamio_callback:356} [h264 @ 0xd3d0600] decode_slice_header error

[Vitamio[Player] Info ] {analytics_thread:1578} THREAD ANALYTICS END
[Vitamio[Player] Error] {av_log_vitamio_callback:356} [h264 @ 0xcbf6c00] reference picture missing during reorder

[Vitamio[Player] Error] {av_log_vitamio_callback:356} [h264 @ 0xcbf6c00] Missing reference picture, default is 0

[Vitamio[Player] Error] {av_log_vitamio_callback:356} [h264 @ 0xcbf6c00] decode_slice_header error

[Vitamio[Player] Error] {av_log_vitamio_callback:356} [h264 @ 0xc406c00] reference picture missing during reorder

[Vitamio[Player] Error] {av_log_vitamio_callback:356} [h264 @ 0xc406c00] Missing reference picture, default is 0

[Vitamio[Player] Error] {av_log_vitamio_callback:356} [h264 @ 0xc406c00] decode_slice_header error

2014-02-16 14:12:58.920 Vitamio-Demo[27360:a0b] NAL 3HBT &&&&&&&&&&&&&&&&.......&&&&&&&&&&&&&&&&&
2014-02-16 14:13:01.821 Vitamio-Demo[27360:a0b] NAL 2HBT &&&&&&&&&&&&&&&&.......&&&&&&&&&&&&&&&&&
2014-02-16 14:13:01.847 Vitamio-Demo[27360:a0b] NAL 3HBT &&&&&&&&&&&&&&&&.......&&&&&&&&&&&&&&&&&
2014-02-16 14:13:04.188 Vitamio-Demo[27360:a0b] NAL 2HBT &&&&&&&&&&&&&&&&.......&&&&&&&&&&&&&&&&&
2014-02-16 14:13:04.212 Vitamio-Demo[27360:a0b] NAL 3HBT &&&&&&&&&&&&&&&&.......&&&&&&&&&&&&&&&&&
2014-02-16 14:13:06.633 Vitamio-Demo[27360:a0b] NAL 2HBT &&&&&&&&&&&&&&&&.......&&&&&&&&&&&&&&&&&

demo不能运行

  1. 我下载了這個demo,但是不能運行,會有三個錯誤!
    2.我是在模擬器下運行,ios6.1
    錯誤提示:
    ignoring file ../Vitamio/libVitamio.a, file was built for archive which is not the architecture being linked (i386): ../Vitamio/libVitamio.a

rtmp stream no sound

There is no sound when I open rtmp stream. I 'm streaming from rtmp://77.92.139.130/testibb/test1. Is there a fix for this?

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.