ffmpeg -i "rtsp://[camera-ip-address]/[camera-URI-syntax]" -vcodec libx264 -vb 150000 -g 60 -vprofile baseline -level 2.1 -acodec aac -ab 64000 -ar 48000 -ac 2 -vbsf h264_mp4toannexb -strict experimental -f mpegts udp://127.0.0.1:10000?pkt_size=1316
ffmpeg -i "udp://localhost:[port]" -vcodec libx264 -vb 150000 -g 60 -vprofile baseline -level 2.1 -acodec aac -ab 64000 -ar 48000 -ac 2 -vbsf h264_mp4toannexb -strict experimental -f mpegts udp://127.0.0.1:10000?pkt_size=1316
ffmpeg -i "unicast.sdp" -vcodec libx264 -vb 150000 -g 60 -vprofile baseline -level 2.1 -acodec aac -ab 64000 -ar 48000 -ac 2 -vbsf h264_mp4toannexb -strict experimental -f mpegts udp://127.0.0.1:10000?pkt_size=1316
Streaming alternative outgoing protocols
FFmpeg can publish streams using other outgoing protocols such as RTMP and RTSP/RTP (QuickTime ANNOUNCE).
RTMP
To send a stream using RTMP, change the output portion of the FFmpeg URL from:
To:
The RTMP URL must follow this format: rtmp://[wowza-ip-address]:1935/[application]/[streamName].
RTSP/RTP
To send a stream using RTSP/RTP, change the output portion of the FFmpeg URL from:
To:
The RTSP URL must follow this format: rtsp://[wowza-ip-address]:1935/[application]/[streamName].
To send a stream using RTMP, change the output portion of the FFmpeg URL from:
-f mpegts udp://127.0.0.1:10000?pkt_size=1316
To:
-f flv rtmp://127.0.0.1/live/myStream
The RTMP URL must follow this format: rtmp://[wowza-ip-address]:1935/[application]/[streamName].
RTSP/RTP
To send a stream using RTSP/RTP, change the output portion of the FFmpeg URL from:
-f mpegts udp://127.0.0.1:10000?pkt_size=1316
To:
-f rtsp rtsp://127.0.0.1:1935/live/myStream.sdp
The RTSP URL must follow this format: rtsp://[wowza-ip-address]:1935/[application]/[streamName].
Re-stream RTSP with password authentication
This example uses security credentials, H.264/AAC, baseline profile, level 3.0, 24 fps (frame rate), two-second keyframe frequency, 350kbps stream, 44.1khz, stereo.ffmpeg -re -i sample.mp4 -c:v libx264 -profile:v baseline -level 3.0 -r 24 -g 48 -keyint_min 48 -sc_threshold 0 -vb 310k -c:a libvo_aacenc -ab 40k -ar 44100 -ac 2 -f rtsp -muxdelay 0.1 rtsp://username:password@[wowza-ip-address]:1935/live/myStream
Re-stream RTP with SDP
This example captures local hardware devices and generates SDP file in the current directory and uses a 15 fps frame rate and 12bit color:ffmpeg -y -f dshow -s 640x480 -r:v 15 -i video="Integrated Webcam":audio="Microphone (Realtek High Defini" -c:v libx264 -pix_fmt yuv420p -vb 450 -an -map 0:0 -f rtp rtp://127.0.0.1:10000 -flags +global_header -c:a libvo_aacenc -vn -map 0:1 -f rtp rtp://127.0.0.1:10002 > 10000.sdp
Show stream encoding parameters
This example shows VOD or live stream encoding properties for troubleshooting purposes:
ffprobe -show_streams [stream-name]
The following is the output generated by this command when executed on sample.mp4:
[STREAM] index=0 codec_name=h264 codec_long_name=H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 profile=Constrained Baseline codec_type=video codec_time_base=1/60 codec_tag_string=avc1 codec_tag=0x31637661 width=512 height=288 has_b_frames=0 sample_aspect_ratio=1:1 display_aspect_ratio=16:9 pix_fmt=yuv420p level=21 timecode=N/A id=N/A r_frame_rate=30/1 avg_frame_rate=30/1 time_base=1/15360 start_pts=0 start_time=0.000000 duration_ts=9747968 duration=634.633333 bit_rate=640158 nb_frames=19039 nb_read_frames=N/A nb_read_packets=N/A DISPOSITION:default=0 DISPOSITION:dub=0 DISPOSITION:original=0 DISPOSITION:comment=0 DISPOSITION:lyrics=0 DISPOSITION:karaoke=0 DISPOSITION:forced=0 DISPOSITION:hearing_impaired=0 DISPOSITION:visual_impaired=0 DISPOSITION:clean_effects=0 DISPOSITION:attached_pic=0 TAG:language=und TAG:handler_name=VideoHandler [/STREAM] [STREAM] index=1 codec_name=aac codec_long_name=AAC (Advanced Audio Coding) profile=unknown codec_type=audio codec_time_base=1/48000 codec_tag_string=mp4a codec_tag=0x6134706d sample_fmt=fltp sample_rate=48000 channels=2 bits_per_sample=0 id=N/A r_frame_rate=0/0 avg_frame_rate=0/0 time_base=1/48000 start_pts=-1024 start_time=-0.021333 duration_ts=30439936 duration=634.165333 bit_rate=96193 nb_frames=29727 nb_read_frames=N/A nb_read_packets=N/A DISPOSITION:default=0 DISPOSITION:dub=0 DISPOSITION:original=0 DISPOSITION:comment=0 DISPOSITION:lyrics=0 DISPOSITION:karaoke=0 DISPOSITION:forced=0 DISPOSITION:hearing_impaired=0 DISPOSITION:visual_impaired=0 DISPOSITION:clean_effects=0 DISPOSITION:attached_pic=0 TAG:language=und TAG:handler_name=SoundHandler [/STREAM]
List available devices
This example lists available hardware device names such as webcams and microphones for use as FFmpeg sources:
ffmpeg -list_devices true -f dshow -i dummy
Convert .ts source files to .mp4
This example converts .ts file (or any FFmpeg compatible sources) to the .mp4 container format for use with Wowza video-on-demand playback:
ffmpeg -i input.ts -c:v copy -c:a copy output.mp4
No comments:
Post a Comment