Use php to obtain the flv video length instance code.
If you don't talk much about it, paste the Code directly. The specific code is as follows:
Function BigEndian2Int ($ byte_word, $ signed = false) {$ int_value = 0; $ byte_wordlen = strlen ($ byte_word); for ($ I = 0; $ I <$ byte_wordlen; $ I ++) {$ int_value + = ord ($ byte_word {$ I}) * pow (256, ($ byte_wordlen-1-$ I ));} if ($ signed) {$ sign_mask_bit = 0x80 <(8 * ($ byte_wordlen-1); if ($ int_value & $ sign_mask_bit) {$ int_value = 0-($ int_value & ($ sign_mask_bit-1) ;}} return $ int_value ;} // Obtain the video's digital time function getFlvDuration ($ name) {if (! File_exists ($ name) {return;} $ flv_data_length = filesize ($ name); $ fp = @ fopen ($ name, 'R '); $ flv_header = fread ($ fp, 5); fseek ($ fp, 5, SEEK_SET); $ frame_size_data_length = $ this-> BigEndian2Int (fread ($ fp, 4 )); $ flv_header_frame_length = 9; if ($ frame_size_data_length> $ flv_header_frame_length) {fseek ($ fp, $ response-$ flv_header_frame_length, SEEK_CUR);} $ duration = 0; while (ftell ($ fp) + 1) <$ flv_data_length) {$ this_tag_header = fread ($ fp, 16 ); $ data_length = $ this-> BigEndian2Int (substr ($ this_tag_header, 5, 3); $ timestamp = $ this-> BigEndian2Int (substr ($ this_tag_header, 8, 3 )); $ next_offset = ftell ($ fp)-1 + $ data_length; if ($ timestamp> $ duration) {$ duration = $ timestamp;} fseek ($ fp, $ next_offset, SEEK_SET);} fclose ($ fp); return $ duration;} // converts the value to the 0:03:56 time format function getFlvTime ($ time) {$ num = $ time; $ sec = intval ($ num/1000); $ h = intval ($ sec/3600); $ m = intval ($ sec % 3600)/60 ); $ s = intval ($ sec % 60); $ tm = $ h. ':'. $ m. ':'. $ s; return $ tm ;}
Summary
The above is an example code for using php to get flv video length. I hope it will be helpful to you. If you have any questions, please leave a message for me, the editor will reply to you in a timely manner. Thank you very much for your support for the help House website!