Hey everything,
So I’m a recent grad thats learning on the fly. They never taught us iOS development in my CS program.
With that, i have a raw h.264 camera feed that has some unque properties. My AV guy needs me to make in app file of this raw streaming H.264 video.
So i need to create a file for a raw h.264 video stream. I don’t really know what type of file format to use here. I just need the data to be exactly what’s being streamed from the camera. This video stream is sent from a third party camera in a buffer with
unit8_t (which is the stream data type and int length ( which is the length of the stream).
I need to be able to record this in its raw form to a file. Not a text file preferably
Can you create a binary file in iOS?
Can raw data be put into a .MP4 File?
here's my code so far
NOTE: the camera method, when called retires the steaming video data from the camera.
-(void) camera:(DJICamera*)camera didReceivedVideoData:(uint8_t*)videoBuffer length:(int)length
{
/
uint8_t* pBuffer = (uint8_t*)malloc(length);
/
memcpy(pBuffer, videoBuffer, length);
NSArray *paths = NSSearchPathForDirectoriesInDomains
(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
if (_counter1==0){
_counter1++;
[[NSFileManager defaultManager] createFileAtPath:fileName contents:nil attributes:nil];
}
NSMutableData *rawDataFinal=[NSMutableData dataWithBytes:&pBuffer length:length];
NSFileHandle *fileHandler = [NSFileHandle fileHandleForUpdatingAtPath:fileName];
[fileHandler seekToEndOfFile];
[fileHandler writeData:pBuffer];
_counter2++;
if(_counter2==200){
[fileHandler closeFile];
}
==>this is where the raw data goes to be decoded [[[VideoPreviewer instance] dataQueue] push:pBuffer length:length];
}.
So to summroize, i want the raw data that sent via pBuffer and it's length (which is a raw h.264 video stream) to be save to a file that i can access inside the app file directories. As of write now, when i run this code, it translates the bytes to something that ins't a raw data stream to a ( in a txt file).
What its creating.
here's a sample of what this code is creating and what i don’t want because i now this isn't the correct format of raw steaming video data.
rawdata.txt
______________
vnG Z G ‡i p BUC P£‡F p:œ êe. fl
cá p p Z G –:œ ,∏2 ÄÙ p ‡ Bp 8@kG ¯ ÄÙ p p ∫ùÊà p Z G ;œ Ëã2 ÄÙ p Z G @@kG †P”F ¿;œ xë2 8@kG ¯ ÄÙ p ‡ Bp 8@kG ÄÙ p ‡ ÄäTò ∏P”F ÄÙ p ‡ Bp 8@kG ¯ ÄÙ p ‡ ˝ìC ≠eá †P”F `cá ¯ ÄtD P%cá £D ¿›î ®0Zò Ÿ t 8@kG ∏B›î cFt ?œ ∏ .É @÷ p fæ˚ °0 ˇ ´ à .É @œ @œ 0?œ »˝jî @œ ¿•“o p?œ $˝jî ¯Œjî DRHT Ö
à .É ¿•“o
¿◊ h¿∆ @œ « Ä @ @œ P@œ ∞ ´ ˇ vnG ‡i p Ç G ‡i p BUC P£‡F p:œ êe. fl
cá p p Ç G –:œ ,∏2 ÄÙ p ‡;Bp 8@kG ¯ ÄÙ p p ∫ùÊà p Ç G ;œ Ëã2 ÄÙ p Ç G @@kG †P”F ¿;œ xë2 8@kG ¯ ÄÙ p ‡;Bp 8@kG ÄÙ p ÄÙ p ‡ ÄäTò ∏P”F ÄÙ p ‡;Bp 8@kG ¯ ÄÙ p ‡ ˝ìC ≠eá †P”F `cá ¯ ÄtD P%cá £D ¿›î ®0Zò Ÿ t 8@kG ∏B›î cFt ?œ ∏ .É @÷ p fæ˚ °0 ˇ ´ à .É @œ @œ 0?œ »˝jî @œ ¿•“o p?œ $˝jî ¯Œjî DRHT Ö
à .É ¿•“o
¿◊ h¿∆ @œ « Ä @ @œ P@œ ∞ ´ ˇ vnG ‡i p ™ G ‡i p BUC P£‡F p:œ êe. fl
cá p p ™ G –:œ ,∏2 ÄÙ p cá ¯ ÄtD P%cá £D ¿›î ®0Zò Ÿ t 8@kG ∏B›î cFt ?œ ∏ .É @÷ p fæ˚ °0 ˇ ´ à .É @œ @œ 0?œ »˝jî @œ ¿•“o p?œ $˝jî ¯Œjî DRHT Ö
à .É ¿•“o
¿◊ h¿∆ @œ « Ä @ @œ P@œ ∞ ´ ˇ ÊéG ‡i p “ G ‡i p BUC P£‡F p:œ êe. fl
cá p p “ G –:œ ,∏2 ÄÙ p cá ¯ ÄtD P%cá £D ¿›î ®0Zò Ÿ t 8@kG ∏B›î cFt ?œ ∏ .É @÷ p fæ˚ °0 ˇ ´ à .É @œ @œ 0?œ »˝jî @œ ¿•“o p?œ $˝jî ¯Œjî DRHT Ö
à .É ¿•“o
¿◊ h¿∆ @œ « Ä @ @œ P@œ ∞ ´ ˇ ÊéG ‡i p G ‡i p BUC P£‡F p:œ êe. fl
cá p p G –:œ ,∏2 ÄÙ p @cá ¯ ÄtD P%cá £D ¿›î ®0Zò Ÿ t 8@kG ∏B›î cFt ?œ ∏ .É @÷ p fæ˚ °0 ˇ ´ à .É @œ @œ 0?œ »˝jî @œ ¿•“o p?œ $˝jî ¯Œjî DRHT Ö
à .É ¿•“o
¿◊ h¿∆ @œ « Ä @ @œ P@œ ∞ ´ ˇ vnG ‡i p DG ‡i p BUC P£‡F p:œ êe. fl
cá p p DG –:œ ,∏2 ÄÙ p `cá ¯ ÄtD P%cá £D ¿›î ®0Zò Ÿ t 8@kG ∏B›î cFt ?œ ∏ .É @÷ p fæ˚ °0 ˇ ´ à .É @œ @œ 0?œ »˝jî @œ ¿•“o p?œ $˝jî ¯Œjî DRHT Ö
à .É ¿•“o
¿◊ h¿∆ @œ « Ä @ @œ P@œ ∞ ´ ˇ ÊéG ‡i p lG ‡i p BUC P£‡F p:œ êe. fl
cá p p lG –:œ ,∏2 ÄÙ p Äcá ¯ ÄtD P%cá £D ¿›î ®0Zò Ÿ t 8@kG ∏B›î cFt ?œ ∏ .É @÷ p fæ˚ °0 ˇ ´ à .É @œ @œ 0?œ »˝jî @œ ¿•“o p?œ $˝jî ¯Œjî DRHT Ö
à .É ¿•“o
¿◊ h¿∆ @œ « Ä @ @œ P@œ ∞ ´ ˇ vnG ‡i p îG ‡i p BUC P£‡F p:œ êe. fl
cá p p îG –:œ ,∏2 ÄÙ p †cá ¯ ÄtD P%cá £D ¿›î ®0Zò Ÿ t 8@kG ∏B›î cFt ?œ ∏ .É @÷ p fæ˚ °0 ˇ ´ à .É @œ @œ 0?œ »˝jî @œ ¿•“o p?œ $˝jî ¯Œjî DRHT Ö
à .É ¿•“o
¿◊ h¿∆ @œ « Ä @ @œ P@œ ∞ ´ ˇ ¯kG ‡i p ºG ‡i p BUC P£‡F p:œ êe. fl
cá p p ºG –:œ ,∏2 ÄÙ p ¿cá ¯ ÄtD P%cá £D ¿›î ®0Zò Ÿ t 8@kG ∏B›î cFt ?œ ∏ .É @÷ p fæ˚ °0 ˇ ´ à .É @œ @œ 0?œ »˝jî @œ ¿•“o p?œ $˝jî ¯Œjî DRHT Ö
à .É ¿•“o
¿◊ h¿∆ @œ « Ä @ @œ P@œ ∞ ´ ˇ ¯kG ‡i p ‰G ‡i p BUC P£‡F p:œ êe. fl
cá p p ‰G –:œ ,∏2 ÄÙ p ‡cá ¯ ÄtD P%cá £D ¿›î ®0Zò Ÿ t 8@kG ∏B›î cFt ?œ ∏ .É @÷ p fæ˚ °0 ˇ ´ à .É @œ @œ 0?œ »˝jî @œ ¿•“o p?œ $˝jî ¯Œjî DRHT Ö
à .É ¿•“o
¿◊ h¿∆ @œ « Ä @ @œ P@œ ∞ ´ ˇ ÄW‘F ‡i p‡
G ‡i p BUC P£‡F p:œ êe. fl
cá p p
G ‡ –:œ ,∏2 ÄÙ p =Bp 8@kG ¯ ÄÙ p p ∫ùÊà p
G ‡ ;œ Ëã2 ÄÙ p ‡
G @@kG †P”F ¿;œ xë2 8@kG ¯ ÄÙ p =Bp 8@kG ÄÙ p ÄÙ p ‡ ÄäTò ∏P”F ÄÙ p =Bp 8@kG ¯ ÄÙ p ‡ ˝ìC ≠eá †P”F `cá ¯ ÄtD P%cá £D ¿›î ®0Zò Ÿ t 8@kG ∏B›î cFt ?œ ∏ .É @÷ p ¯kG ‡i p 4
G ‡i p BUC P£‡F p:œ êe. fl
cá p p 4
G –:œ ,∏2 ÄÙ p =Bp 8@kG ¯ ÄÙ p p ∫ùÊà p 4
G ;œ Ëã2 ÄÙ p 4
G @@kG †P”F ¿;œ xë2 8@kG ¯ ÄÙ p =Bp 8@kG ÄÙ p ÄÙ p ‡ ÄäTò ∏P”F ÄÙ p =Bp 8@kG ¯ ÄÙ p ‡ ˝ìC ≠eá †P”F `cá ¯ ÄtD P%cá £D ¿›î ®0Zò Ÿ t 8@kG ∏B›î cFt ?œ ∏ .É @÷ p fæ˚ °0 ˇ ´ à .É @œ @œ 0?œ »˝jî @œ ¿•“o p?œ $˝jî ¯Œjî DRHT Ö
à .É ¿•“o
¿◊ h¿∆ @œ « Ä @ @œ P@œ ∞ ´ ˇ ¯kG ‡i p \
G ‡i p BUC P£‡F p:œ êe. fl
cá p p \
G –:œ ,∏2 ÄÙ p @=Bp 8@kG ¯ ÄÙ p p ∫ùÊà p \
G ;œ Ëã2 ÄÙ p \
G @@kG †P”F ¿;œ xë2 8@kG ¯ ÄÙ p @=Bp 8@kG ÄÙ p ÄÙ p ‡ ÄäTò ∏P”F ÄÙ p @=Bp 8@kG ¯ ÄÙ p ‡ ˝ìC ≠eá †P”F `cá ¯ ÄtD P%cá £D ¿›î ®0Zò Ÿ t 8@kG ∏B›î cFt ?œ ∏ .É @÷ p fæ˚ °0 ˇ ´ à .É @œ @œ 0?œ »˝jî @œ ¿•“o p?œ $˝jî ¯Œjî DRHT Ö
à .É ¿•“o
¿◊ h¿∆ @œ « Ä @ @œ P@œ ∞ ´ ˇ ¯kG ‡i p Ñ
G ‡i p BUC P£‡F p:œ êe. fl
cá p p Ñ
G –:œ ,∏2 ÄÙ p `=Bp 8@kG ¯ ÄÙ p p ∫ùÊà p Ñ
G ;œ Ëã2 ÄÙ p Ñ
G @@kG †P”F ¿;œ xë2 8@kG ¯ ÄÙ p `=Bp 8@kG ÄÙ p ÄÙ p ‡ ÄäTò ∏P”F ÄÙ p `=Bp 8@kG ¯ ÄÙ p ‡ ˝ìC ≠eá †P”F `cá ¯ ÄtD P%cá £D ¿›î ®0Zò Ÿ t 8@kG ∏B›î cFt ?œ ∏ .É @÷ p fæ˚ °0 ˇ ´ à .É @œ @œ 0?œ »˝jî @œ ¿•“o p?œ $˝jî ¯Œjî DRHT Ö
à .É ¿•“o
¿◊ h¿∆ @œ « Ä @ @œ P@œ ∞ ´ ˇ ¯kG ‡i p ¨
G ‡i p BUC P£‡F p:œ êe. fl
cá p p ¨
G –:œ ,∏2 ÄÙ p Ä=Bp 8@kG ¯ ÄÙ p p ∫ùÊà p ¨
G ;œ Ëã2 ÄÙ p ¨
G @@kG †P”F ¿;œ xë2 8@kG ¯ ÄÙ p Ä=Bp 8@kG ÄÙ p ÄÙ p ‡ ÄäTò ∏P”F ÄÙ p Ä=Bp 8@kG ¯ ÄÙ p ‡ ˝ìC ≠eá †P”F `cá ¯ ÄtD P%cá £D ¿›î ®0Zò Ÿ t 8@kG ∏B›î cFt ?œ ∏ .É @÷ p fæ˚ °0 ˇ ´ à .É @œ @œ 0?œ »˝jî @œ ¿•“o p?œ $˝jî ¯Œjî DRHT Ö
à .É ¿•“o
¿◊ h¿∆ @œ « Ä @ @œ P@œ ∞ ´ ˇ ÊéG ‡i p ‘
G ‡i p BUC P£‡F p:œ êe. fl
cá p p ‘
G –:œ ,∏2 ÄÙ p †=Bp 8@kG ¯ ÄÙ p p ∫ùÊà p ‘
G ;œ Ëã2 ÄÙ p ‘
G @@kG †P”F ¿;œ xë2 8@kG ¯ ÄÙ p †=Bp 8@kG ÄÙ p ÄÙ p ‡ ÄäTò ∏P”F ÄÙ p †=Bp 8@kG ¯ ÄÙ p ‡ ˝ìC ≠eá †P”F `cá ¯ ÄtD P%cá £D ¿›î ®0Zò Ÿ t 8@kG ∏B›î cFt ?œ ∏ .É @÷ p fæ˚ °0 ˇ ´ à .É @œ @œ 0?œ »˝jî @œ ¿•“o p?œ $˝jî ¯Œjî DRHT Ö
à .É ¿•“o
¿◊ h¿∆ @œ « Ä @ @œ P@œ ∞ ´ ˇ ÊéG ‡i p ¸
G ‡i p BUC P£‡F p:œ êe. fl
cá p p ¸
G –:œ ,∏2 ÄÙ p ¿=Bp 8@kG ¯ ÄÙ p p ∫ùÊà p ¸
G ;œ Ëã2 ÄÙ p ¸
G @@kG †P”F ¿;œ xë2 8@kG ¯ ÄÙ p ¿=Bp 8@kG ÄÙ p ÄÙ p ‡ ÄäTò ∏P”F ÄÙ p ¿=Bp 8@kG ¯ ÄÙ p ‡ ˝ìC ≠eá †P”F `cá ¯ ÄtD P%cá £D ¿›î ®0Zò Ÿ t 8@kG ∏B›î cFt ?œ ∏ .É @÷ p fæ˚ °0 ˇ ´ à .É @œ @œ 0?œ »˝jî @œ ¿•“o p?œ $˝jî ¯Œjî DRHT Ö
à .É ¿•“o
¿◊ h¿∆ @œ « Ä @ @œ P@œ ∞ ´ ˇ ¯kG ‡i p $ G ‡i p BUC P£‡F p:œ êe. fl
cá p p $ G –:œ ,∏2 ÄÙ p ‡=Bp 8@kG ¯ ÄÙ p p ∫ùÊà p $ G ;œ Ëã2 ÄÙ p $ G @@kG †P”F ¿;œ xë2 8@kG ¯ ÄÙ p ‡=Bp 8@kG ÄÙ p ÄÙ p ‡ ÄäTò ∏P”F ÄÙ p ‡=Bp 8@kG ¯ ÄÙ p ‡ ˝ìC ≠eá †P”F `cá ¯ ÄtD P%cá £D ¿›î ®0Zò Ÿ t 8@kG ∏B›î cFt ?œ ∏ .É @÷ p fæ˚ °0 ˇ ´ à .É @œ @œ 0?œ »˝jî @œ ¿•“o p?œ $˝jî ¯Œjî DRHT Ö
à .É ¿•“o
¿◊ h¿∆ @œ « Ä @ @œ P@œ ∞ ´ ˇ ¯kG ‡i p L G ‡i p BUC P£‡F p:œ êe. fl
cá p p L G –:œ ,∏2 ÄÙ p >Bp 8@kG ¯ ÄÙ p p ∫ùÊà p L G ;œ Ëã2 ÄÙ p L G @@kG †P”F ¿;œ xë2 8@kG ¯ ÄÙ p >Bp 8@kG ÄÙ p ÄÙ p ‡ ÄäTò ∏P”F ÄÙ p >Bp 8@kG ¯ ÄÙ p ‡ ˝ìC ≠eá †P”F `cá ¯ ÄtD P%cá £D ¿›î ®0Zò Ÿ t 8@kG ∏B›î cFt ?œ ∏ .É @÷ p fæ˚ °0 ˇ ´ à .É @œ @œ 0?œ »˝jî @œ ¿•“o p?œ $˝jî ¯Œjî DRHT Ö
STEPS TO REPRODUCE
see above
APP NAME AND ID IN APP STORE
not created yet still in progess
---------------------------------------------------------------------