Задать вопрос
  • Каким способом можно сделать денежный перевод из России в Украину?

    @Hocok_B_KapMaHe
    можно же зайти на какой-нибудь обменник, и в качестве получателя указать карту привата например, а с россии перевести биткоинами. Или это предпринимательский счет или счет юр. лица?
    Ответ написан
    Комментировать
  • Как получить видеопоток с IP-камеры по RTSP/RTP в Linux(Debian)?

    @Hocok_B_KapMaHe
    Я получал так:
    ffmpeg -rtsp_transport tcp -i rtsp://user:password@xxx.xxx.xxx.xxx:554/channel=1&stream=0?.dtp -vcodec copy -an -y out.mp4

    Если надо в программе то тут несколько уроков
    dranger.com/ffmpeg/tutorial01.html
    Ответ написан
    1 комментарий
  • Почему плеер uppod играет только 1 секунду?

    @Hocok_B_KapMaHe
    Если сервер отвечает
    header('Accept-Ranges: bytes');


    Значит он должен правильно с этим работать.
    Потому что плеер может сделать такой запрос:
    Range: bytes=643516-8049894


    У вас в скрипте есть логика работы на этот случай ?
    Ответ написан
    Комментировать
  • Как вывести дату из unixtime (алгоритм?)?

    @Hocok_B_KapMaHe Автор вопроса
    Нет, не проще.
    Этим занимаются специализированные библиотеки

    Вот что бывает, когда hello world не пишется без 300MB фреймворка.

    Просматривая свои старые вопросы, все таки оставлю ответ на свой же вопрос (найдено на зарубежном ресурсе)

    Ok, I managed to get something accurate. Dang leap years!

    In the steps below I am using a timestamp of 1203161493 which corresponds to a date/time of 2-15-2008 11:31:33. I'm ignoring timezones and whatnot, it isn't necessary for this.

    Steps:
    1. Unix timestamp / hours in a year to get years from 1970 to timestamp
    ex: 1203161493 / 31436000 = 38.152... years since 1970. Ignoring the decimals, thats 38 years + 1970 = 2008.

    2. Determine number of leap years from 1970 to year found in step 1 (extra days).
    ex: (2008-1969)/4 = 9.75. Again, ignore the decimal, and we have 9 extra days (we ignore this year's leap day until later)

    3. Determine the number of days since the epoch.
    ex: 1203161493 / 86400 = 13925.480... days since epoch. Ignore the decimals again.

    4. Subtract leap days from number of days since epoch.
    ex: 13925 - 9 = 13916.

    5. Modulo the number above by the number of days in a year to find the days passed in the current year.
    ex: 13916 % 365 = 46 days this year.

    6. We go through each month and subtract it until the days left are less than the month's total days. If this year is a leap year and your days in this year found in step 5 was greater than 59 (31+28), we would add one.
    ex: 46 - 31 days in Jan = 15 days (in 2nd month) = Feb 15.

    7. Find the number of seconds in the current day. Subtract the days since epoch found in step 3 from the timestamp.
    ex: 1203161493 - (13925 * 86400) = 41493 seconds

    8. Figure out how many hours the seconds found in step 6 is.
    ex: 41493 / 3600 = 11.5283... hours. Ignore the decimal again.

    9. Find the number of minutes left. Subtract the hours you found in the previous step from the seconds in step 6, then divide by 60.
    ex: 41493 - (11 * 3600) = 1893
    1893 / 60 = 31.55 minutes. Ignore the decimal

    10. Find the number of seconds left. Subtract the minutes in step 8 from the seconds in step 8
    ex: 1893 - (31 * 60) = 33 seconds.

    Put it all together:
    Year: 2008
    Month: 2
    Day: 15
    Hour: 11
    Minute: 31
    Second: 33
    Ответ написан
    1 комментарий
  • Как мультиплексировать видео h264 в mpeg-ts, ничего не зная о параметрах видео?

    @Hocok_B_KapMaHe Автор вопроса
    Итак, я тут вычитал что DTS нужен только если в видео есть B-фреймы. В данном случае у меня видео без Б-фреймов, так что с ДТС пока вопрос решен. Осталось проставить ПТС.

    Поигрался с ffprobe + ffmpeg, так вот:
    Кодирую файл в чистый h264 без аудио и Б-фреймов:
    ffmpeg -i input.ts -vcodec libx264 -an -bf 0 -y out.h264


    Теперь смотрю на получившийся файл через ffprobe:
    [FRAME]
    media_type=video
    key_frame=0
    pkt_pts=N/A
    pkt_pts_time=N/A
    pkt_dts=N/A
    pkt_dts_time=N/A
    best_effort_timestamp=N/A
    best_effort_timestamp_time=N/A
    pkt_duration=48000
    pkt_duration_time=0.040000
    pkt_pos=929
    pkt_size=29
    width=640
    height=360
    pix_fmt=yuv420p
    sample_aspect_ratio=1:1
    pict_type=P
    coded_picture_number=2
    display_picture_number=0
    interlaced_frame=0
    top_field_first=0
    repeat_pict=0
    [/FRAME]


    Видно то что PTS просто неизвестен
    pkt_pts=N/A
    pkt_pts_time=N/A
    pkt_dts=N/A
    pkt_dts_time=N/A

    Но при команде:
    ffmpeg -i out.h264 -vcodec copy -y out.ts

    Получаю нормалный TS файл, при чем с проставленным PTS.
    Откуда он (ffmpeg) его взял? Как его проставить?
    На основании чего? Или есть какой-то стандарт типа "увеличивается на N через N пакетов"?

    PTS: 126000 - первый пакет
    PTS: 129600 - седьмой пакет
    PTS: 133200 - восьмой пакет
    ....
    Ответ написан
  • Как отслеживать процесс upload файла на чистом php?

    @Hocok_B_KapMaHe Автор вопроса
    При выборе файла и нажатия на кнопку загрузить пользователь переходит на такой скрипт


    Сорри, затупил.. Он же файл сначала отправляет, ну да..

    Вопрос снят
    Ответ написан
    Комментировать