Live streaming through MP4

You may use fragmented MP4. A fragmented MP4 file is built a follows: moov [moof mdat]+ The moov box then only contains basic information about the tracks (how many, their type , codec initialization and so on) but no information about the samples in the track. The information about sample locations and sample sizes is … Read more

what is the codec for mp4 videos in python OpenCV

You can also use mp4v fourcc = cv2.VideoWriter_fourcc(*’mp4v’) where the videowriter should look like this: out = cv2.VideoWriter(‘output.mp4’,fourcc, 15, size) But there are more codecs available for mp4. You can see the list of them by setting fourcc = -1, it will show a list like this: OpenCV: FFMPEG: format mp4 / MP4 (MPEG-4 Part … Read more

Post processing in ffmpeg to move ‘moov atom’ in MP4 files (qt-faststart)

Seems like faststart support has been included in ffmpeg. FFmpeg Formats Documentation: -movflags faststart Run a second pass moving the moov atom on top of the file. This operation can take a while, and will not work in various situations such as fragmented output, thus it is not enabled by default.

plays in other browsers, but not Safari

Safari requires webserver to support “Range” request header in order to play your media content. https://developer.apple.com/library/safari/documentation/AppleApplications/Reference/SafariWebContent/CreatingVideoforSafarioniPhone/CreatingVideoforSafarioniPhone.html#//apple_ref/doc/uid/TP40006514-SW6 For a legit “Range” request response, your webserve need to return status code “206”.

Extracting frames from MP4/FLV?

The command ffmpeg -ss 00:00:25 -t 00:00:00.04 -i YOURMOVIE.MP4 -r 25.0 YOURIMAGE%4d.jpg will extract frames beginning at second 25 [-ss 00:00:25] stopping after 0.04 second [-t 00:00:00.04] reading from input file YOURMOVIE.MP4 using only 25.0 frames per second, i. e. one frame every 1/25 seconds [-r 25.0] as JPEG images with the names YOURIMAGE%04d.jpg, where … Read more

Hata!: SQLSTATE[HY000] [1045] Access denied for user 'divattrend_liink'@'localhost' (using password: YES)