Как я могу получить первый кадр видеофайла в javascript в качестве изображения?Получить первый видеофрагмент в javascript
ответ
Javascript не в состоянии это сделать.
не клиентская сторона по крайней мере. –
Как уже упоминалось, Javascript не может этого сделать.
Если вы хотите создать миниатюры для своих видеороликов, вам необходимо создать сервер эскизов, а затем просто выполнить изображение на клиенте, как и любое другое изображение.
Мой метод выбора для этого - декодер ffmpeg. Он может обрабатывать множество форматов файлов и способен делать то, что вы хотите. Так что если у вас есть видео под названием hello.avi
, вы можете сделать:
ffmpeg -itsoffset -1 -i /path/to/hello.avi -vcodec mjpeg -vframes 1 -an -f rawvideo -s 200x150 /path/to/hello.jpg
Вы можете запустить эту команду (фиксирующие контуры и размеры ...) с любой серверной стороной языком, который вы используете, и он будет создавать миниатюру видеофайла.
Это может быть возможно, если видео файл, выбранный пользователем в <input type="file">
, вы можете получить видеоданные базового 64 с использованием API FileReader:
https://developer.mozilla.org/en-US/docs/DOM/FileReader
Оттуда вы просто ушел с чрезвычайно сложной проблемой декодирования видео и каким-то образом выбрал и рендеринга одного кадра в javascript. В качестве альтернативы, вы можете просто включить все видео в качестве «предварительного просмотра» (я предполагаю, что это, почему вы это делаете?), Как показано здесь:
http://hacks.mozilla.org/2009/12/file-drag-and-drop-in-firefox-3-6/
Не уверен, что о совместимости этого последнего примера хотя, или насколько хорошо он работает с более крупными видеофайлами (я слышу, что вы можете легко справиться с ограничениями длины URL-адреса)
Просто добавьте тег видео на страницу без элементов управления и автоматического воспроизведения.
<video width="96" height="54" class="clip-thumbnail"> ... </video>
Минусом является то, что пользователи могут воспроизводить видео с помощью правой кнопкой мыши на изображение и выберите пункт «играть» в контекстном меню. Чтобы избежать этого, вам понадобится небольшой javascript, который прослушивает события кликов и отменяет их (удаление контекстного меню из миниатюр).
- 1. Добавить видеофрагмент в плеер
- 2. Javascript/jQuery - замените видеофрагмент с изображением заполнителя
- 3. Видеофрагмент не отображается на фрагменте
- 4. Javascript - Как получить первый элемент в массиве?
- 5. Получить первый элемент разреженного массива JavaScript
- 6. Получить первый ключ из объектов JavaScript
- 7. Получить первый ключ из объектов JavaScript
- 8. JavaScript: получить первый символ из строки ошибки
- 9. Первый проход в javascript
- 10. Как узнать, когда первый видеофрагмент находится на экране с помощью MediaPlayer
- 11. Видеофрагмент внутри фрагмента вызывает черное изображение экрана
- 12. Воспроизвести видеофрагмент iframe по клику по ссылке
- 13. Получить первый класс элемента
- 14. Как получить первый аргумент из url в javascript
- 15. Получить первый Int (ы) в строке с JavaScript
- 16. как получить Li первый HREF в UL с использованием JavaScript
- 17. Android, как динамически добавить видеофрагмент в мой макет
- 18. Получить первый объект из массива
- 19. Найти первый день предыдущего месяца в JavaScript
- 20. получить первый объект в mongoengine
- 21. Получить первый элемент в транспортирторе
- 22. Получить первый понедельник в месяце
- 23. Получить первый уровень в act_as_nested_set
- 24. Получить первый файл в каталоге
- 25. Получить первый элемент в списке
- 26. Как получить первый внутренний элемент?
- 27. Как оценить «Кто первый?» как равный «кто первый». в JavaScript?
- 28. Получить первый следующий определенный элемент
- 29. Получить первый div, содержащий выбор
- 30. Как я могу получить видеофрагмент, отображаемый под модальным всплывающим окном в Internet Explorer?
Вы имеете в виду клиентские js или серверные js? Если на стороне клиента я не думаю, что это возможно. – xandy
как насчет серверной стороны? – 2009-07-21 12:07:38
Google thumbnail + видео –