Есть код на JS,который я долго делал.
Как дать его другому человеку так,чтобы,когда я утрачу контроль я бы мог:
а) Не дать им пользоваться
б) Не дать возможности скопировать
Тока скайп с демонстрацией экрана и передача после оплаты. В иных случаях, если есть риск неоплаты, js улетит бесплатно. Или демонстрировать обрезанный вариант с неполным функционалом.
Вот так заработало:
$stmt = $dbh->query("DELETE FROM `test`.`authorization` WHERE `authorization`.`id` = $id");
$stmt->execute();
А это на чем? Не Кохана? Просто тут ты переменную напрямую в запрос закидываешь, что плохо само по себе, но еще и делает бессмысленным использование фреймворка, в общем-то.
{$qAvtor=mysql_fetch_row(mysql_query("SELECT `Avtor` FROM `questions` WHERE `Nomer` = '{$qNum}'",$link));
При этом выдаются 2 ошибки:
Warning: mysql_query() expects parameter 2 to be resource, null given in ... on line 84
Warning: mysql_fetch_row() expects parameter 1 to be resource, null given in ... on line 84
Аналогичные запросы вне пользовательских функций проходят нормально. $qNum в данном случае равняется 1 (проверено).
Внутри функции $link не видно. Надо или в функции ее объявить global $link, или передать явно, или вообще второй аргумент в mysql_query убрать, тогда будет использоваться текущее соединение, т.е. функция сама найдет последний ресурс.
Такой вопрос... Допустим вынимаем из документа +3000. Эту цифру необходимо плюсануть.
Будь с минусом, вычитали... То есть переменную в js, которая содержит '+3000'. Необходимо подставить к другой переменно. В итоге должна произойти операция...
Добавление
Есть переменная result, есть массив array. Происходит перебор массива, в котором каждое его строковое значение при помощи parseInt превращается в integer и прибавляется к result. При этом если строка начинается с минуса, то integer получится отрицательный. Также при этом игнорируются буквы, т.е. parseInt делает то, что должен - парсит строку в число.
Оно должно быть равно 161.305 А как это получить? Я про unpack читал, пробовал, но откровенно не догоняю. Хотя бы ручками вычислить как? Оно, не оно? Может, порядок обратный?
Считываю файл через поток и разбираю его в соответствии с форматом файла. Все нормально, все получается, но в одном месте втупил и не могу допереть как сделать. Получаю значение длиной 8 байт, которое, согласно формату, является double. А как это полученное значение преобразовать в double-то?
ЗЫ Кстати HTML5 плеер умеет переходить на любую точку видео без предзагрузки файла по умолчанию
с чего вы это взяли?
С того, что умеет. Если moov атом расположен в начале файла и вся информация о ключевых кадрах, соответственно, доступна при его загрузке, то переходить можно сразу на любую точку видео. Буферизация бьется на ranges, а потом по мере загрузки объединяется в один range.
это не казус - FLV адобовский формат именно для флеша потому оно и умеет с ним работать
Это понятно. Не понятно, почему в этом режиме не сделать еще и поддержку MP4? Сначала было не понятно. Потом пришел к выводу, что они не предполагали, что таким образом будут проигрывать видео, а просто сделали, чтобы на этот режим можно было замкнуть камеру (а в этом случае по большому счету одного любого формата достаточно).
caballero пишет:
посему чтобы везде играло кладут файл в нескольких форматах FLV, MP4,AVI ,WEBM и т.д.
Теоретически MP4 должен запускаться везде либо через HTML5, либо через flash. Т.е. один из этих вариантов как правило проканывает. А держать дубли не каждый может себе позволить. В моем случае один ролик в среднем 600 мегабайт. На 4 формата - это 2,4 гига. Место в 4 раза быстрее кончится, поэтому этот вариант не рассматривается (Добавление)
читать поток из контейнера в поток?! Это вообще как?
У флэшки есть плеер, которому можно закинуть урл и он сам разберется, что с ним делать. Воспринимает FLV, F4V и MP4 (это все контейнеры). Но при таком подходе поиск (т.е. переход на определенную точку видео) возможен только после того момента, как загрузка дойдет до требуемого кадра. Т.е. для воспроизведения какого-либо фрагмента в конце файла нужно дождаться практически полной загрузки видео в кэш. Это особенности progressive download.
Но есть способ интереснее. Есть два класса. Один умеет открывать урл как поток и читать его. Второй умеет получать байты и передавать их в плеер (по сути еще один поток). Т.е. берем первый класс, тащим в него урл и полученные байты транслируем во входящий поток плеера. При помощи некоторых манипуляций с бубном можно заставить плеер переходить на любой кадр без предварительной загрузки всего файла, т.е. очень быстро. Но беда в том, что класс, который организует передачу входящего потока в плеер, воспринимает информацию адекватно только если файл упакован в FLV контейнер. Вот такой казус. Просто так MP4 играет, а через поток бреет.
Идея в том, чтобы читать MP4 потоком, подсовывать во входящий поток плеера обертку от FLV, а потом передавать уже сами кадры из MP4, т.к. по сути внутри контейнера разницы уже нет, потому что кодек один и тот же. По идее должно работать, но не хватает знаний об организации MP4. И ищется с трудом.
А конвертировать в FLV - это не вариант, т.к. FLV формат не универсальный и, например, HTML5 плеер его не понимает. Т.е. в основном на видеохостингах используют MP4 H.264 или WEBM H.264.
ЗЫ Кстати HTML5 плеер умеет переходить на любую точку видео без предзагрузки файла по умолчанию. Это вообще нехитрая операция. Просто seek(time) и все. И почему Adobe так не сделал до сих пор для меня загадка.
ЗЫЫ Еще кстати... Такой прогноз... Если adobe сделают в плеере поддержку WEBM, то MP4 контейнер, возможно, достаточно быстро умрет, т.к. WEBM заголовки короче и читаются гораздо быстрее. Например, youtube уже по возможности отдает WEBM, а Opera HTML5 вообще не поддерживает MP4...
под контейнером mp4 насколько знаю скрывается целая батарея форматов
ты уверен что знаешь о чем говоришь?
я нет(про себя)
Да, как раз нужен контейнер. Flash поддерживает FLV и MP4 контейнеры с кодеком H.264, но читать побайтово в поток позволяет только из FLV контейнера. Вернее понимает только, когда в поток передаются данные в этом формате.
Смотрел, в принципе. Неделю экспериментировал. Конвертить он конвертит. В принципе и поток создать, насколько я понял, может. Но мне всего лишь контейнер поменять надо. Тупо подставить оболочку другую, но налету.
Задача написать конвертер из MP4 в FLV. Собственно, нашел подробное описание FLV, а MP4 не могу найти (уже день ковыряюсь). Кто-нибудь что-нибудь знает абетам? Может сталкивался с разборкой MP4?
Сразу скажу, что в итоге надо для флэшки, т.к. она умеет закидывать в поток побайтно тока FLV. А надо закинуть MP4 и именно этим способом, поэтому просто переконвертировать файл не пойдет. Просто переконвертировать - это простая задача.