Tôi cần tạo nguồn cấp dữ liệu có hai luồng - webm và mp4 - để nó có thể tương thích trên tất cả các trình phát video HTML5. Các luồng webm hoạt động hoàn hảo. Tuy nhiên, khi cố gắng truy cập luồng mp4, máy chủ sẽ phát sinh lỗi sau:
Sat Mar 9 23:21:54 2013 muxer does not support non seekable output
Đây là một phần của tệp ffserver.conf liên quan đến luồng mp4:
<Stream channel1.mp4> # Output stream URL definition
Feed feed1.ffm # Feed from which to receive video
Format mp4
# Audio settings
AudioCodec libmp3lame
AudioBitRate 64 # Audio bitrate
# Video settings
VideoCodec libx264
VideoSize 560x320 # Video resolution
VideoFrameRate 25 # Video FPS
AVOptionVideo flags +global_header # Parameters passed to encoder
# (same as ffmpeg command-line parameters)
AVOptionVideo cpu-used 0
AVOptionVideo qmin 10
AVOptionVideo qmax 42
AVOptionVideo quality good
AVOptionAudio flags +global_header
PreRoll 15
StartSendOnKey
VideoBitRate 400 # Video bitrate
</Stream>
Từ những gì tôi có thể tìm thấy, một số người đang nói rằng mp4 đơn giản là không thể phát trực tuyến. Tôi không có tệp đính kèm với mp4, ngoại trừ thực tế là tôi có ấn tượng rằng bạn cần mp4 để truyền phát video đến iPhone bằng trình phát video HTML5. Nếu đây không phải là trường hợp, hãy cho tôi biết và tôi sẽ sẵn lòng chuyển sang thứ gì đó đẹp hơn với phát trực tuyến ffmpeg.
-movflags faststart
hoặc xử lý nóqt-faststart
, sau đó trỏ đến tệp MP4 trong<video>
thẻ. Máy chủ của bạn sau đó cần một mô-đun truyền phát H.264 để cho phép khách hàng tìm kiếm. Hay bạn có đầu vào trực tiếp?